Automates your Obsidian vault with note creation, smart linking, and template workflows. Creates daily notes with automatic date linking, meeting notes with follow-up tracking, and Zettelkasten-style atomic notes. Handles auto-linking patterns like turning @name into person pages and suggests backlinks based on content similarity. Includes Dataview query templates for task dashboards and project tracking. The graph analysis features find orphaned notes and suggest connections, which is genuinely useful if your vault is getting messy. Built for people doing serious knowledge management work, not casual note-taking. Connects through the notes-mcp server and works across Claude Opus, Sonnet, and GPT-4.
npx -y skills add claude-office-skills/skills --skill "Obsidian Automation" --agent claude-codeInstalls into .claude/skills of the current project.
Automate Obsidian knowledge management and personal knowledge base workflows.
note_templates:
daily_note:
filename: "{{date:YYYY-MM-DD}}"
folder: "Daily Notes"
template: |
# {{date:dddd, MMMM D, YYYY}}
## Morning Intentions
- [ ]
## Tasks
- [ ]
## Notes
## Evening Reflection
---
[[{{date:YYYY-MM-DD|-1d}}|← Yesterday]] | [[{{date:YYYY-MM-DD|+1d}}|Tomorrow →]]
meeting_note:
filename: "Meeting - {{title}} - {{date}}"
folder: "Meetings"
template: |
---
date: {{date}}
attendees: {{attendees}}
tags: meeting
---
# {{title}}
## Agenda
## Notes
## Action Items
- [ ]
## Follow-ups
[[Meetings MOC]]
auto_linking:
rules:
- pattern: "[[Person/{{name}}]]"
trigger: "@{{name}}"
create_if_missing: true
- pattern: "[[Project/{{project}}]]"
trigger: "#proj/{{project}}"
backlink_suggestions:
enabled: true
min_mentions: 2
alias_support:
- "[[Machine Learning|ML]]"
- "[[Artificial Intelligence|AI]]"
dataview_examples:
tasks_due_today:
query: |
```dataview
TASK
WHERE !completed AND due = date(today)
SORT due ASC
```
recent_meetings:
query: |
```dataview
TABLE date, attendees
FROM "Meetings"
WHERE date >= date(today) - dur(7 days)
SORT date DESC
LIMIT 10
```
project_dashboard:
query: |
```dataview
TABLE status, due, priority
FROM #project
WHERE status != "completed"
SORT priority ASC
```
templates:
zettelkasten:
filename: "{{date:YYYYMMDDHHmmss}}"
content: |
---
id: {{date:YYYYMMDDHHmmss}}
tags:
links:
---
# {{title}}
## Idea
## Source
## Connections
- Related to:
## References
book_note:
filename: "Book - {{title}}"
content: |
---
author: {{author}}
finished:
rating:
tags: book
---
# {{title}}
by {{author}}
## Summary
## Key Ideas
## Highlights
## My Thoughts
## Action Items
web_clipper:
trigger: browser_extension
actions:
- extract_content:
title: "{{page.title}}"
url: "{{page.url}}"
content: "{{selection}}"
- create_note:
folder: "Clippings"
template: web_clip
- add_tags: ["web-clip", "{{domain}}"]
research_workflow:
steps:
- create_topic_note:
filename: "Research - {{topic}}"
folder: "Research"
- gather_sources:
search: "{{topic}}"
link_to_note: true
- generate_questions:
based_on: sources
- create_sub_notes:
for_each: key_concept
graph_insights:
orphan_notes:
query: "notes without incoming links"
action: suggest_connections
clusters:
identify: true
visualize: true
link_suggestions:
based_on: content_similarity
threshold: 0.7
sickn33/antigravity-awesome-skills
rohitg00/pro-workflow
supercent-io/skills-template