Obsidian Automation — Claude Code skill: notes and links
A skill for Obsidian knowledge bases: creates notes from templates, adds internal links and reads the link graph. Useful if you keep a Markdown wiki.
npx skills add claude-office-skills/skills --skill obsidian-automation -a claude-codeWhat Obsidian Automation does
The skill tells the agent how to work with an Obsidian vault: it creates daily and meeting notes from templates, fills in dates and filenames, and adds tags. Links follow rules — a mention of a person becomes a link to that person's note, and if the note is missing, the skill creates it.
Inside are templates (daily note, meeting, Zettelkasten note, book note), auto-linking rules with alias support, and Dataview query examples: tasks due today, meetings from the past week, a project dashboard. Graph analysis is covered too — finding notes with no incoming links and suggesting connections by content similarity.
It needs the notes-mcp MCP server with the obsidian_create_note, obsidian_search, obsidian_link and obsidian_template tools. Without it the skill can neither create notes nor search the vault, so check that first.
What it helps with
- create a daily note with a fixed structure and links to neighbouring days
- build a meeting note with agenda, attendees and action items
- find orphan notes and suggest connections for them
- turn @mentions into links to person and project notes
- pull tasks due today or meetings from the week via Dataview
Example prompts for the agent
- Create today's daily note using the daily_note template
- Make a meeting note for the release planning call, attendees from the last email
- Find notes with no incoming links and suggest what to link them to
How to install Obsidian Automation
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill obsidian-automation -a claude-code2Manually: put the files in place
~/.claude/skills/obsidian-automation/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/obsidian-automation/
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill obsidian-automation -a codex2Manually: put the files in place
.agents/skills/obsidian-automation/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill obsidian-automation -a cursor2Manually: put the files in place
.cursor/skills/obsidian-automation/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install claude-office-skills/skills obsidian-automation2Manually: put the files in place
.github/skills/obsidian-automation/SKILL.md1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill obsidian-automation -a gemini-cli2Platform CLI
gemini skills install https://github.com/claude-office-skills/skills --path obsidian-automationManually: put the files in place
.devin/skills/obsidian-automation/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill obsidian-automation -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about Obsidian Automation
How do I install Obsidian Automation in Claude?
Run npx skills add claude-office-skills/skills --skill obsidian-automation -a claude-code. The skill file lands at ~/.claude/skills/obsidian-automation/SKILL.md.
What does Obsidian Automation do?
It creates notes in an Obsidian vault from templates, adds internal links and tags, searches the vault, and analyses the link graph. Templates and linking rules live in the skill config.
What does the skill need to run?
The notes-mcp MCP server with the obsidian_create_note, obsidian_search, obsidian_link and obsidian_template tools. That is how the skill reaches the vault.
Source text
SKILL.md · MIT
---
name: Obsidian Automation
description: Automate Obsidian knowledge management, note linking, and personal knowledge base workflows
version: 1.0.0
author: Claude Office Skills
category: productivity
tags:
- obsidian
- notes
- knowledge-management
- markdown
- pkm
department: content
models:
- claude-3-opus
- claude-3-sonnet
- gpt-4
mcp:
server: notes-mcp
tools:
- obsidian_create_note
- obsidian_search
- obsidian_link
- obsidian_template
capabilities:
- Note creation
- Knowledge linking
- Template application
- Graph exploration
input:
- Note content
- Search queries
- Template configurations
- Link patterns
output:
- Created notes
- Linked knowledge
- Search results
- Graph insights
languages:
- en
related_skills:
- notion-automation
- deep-research
- meeting-notes
---
# Obsidian Automation
Automate Obsidian knowledge management and personal knowledge base workflows.
## Core Capabilities
### Note Creation
```yaml
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]]
```
### Smart Linking
```yaml
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 Queries
```yaml
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
```yaml
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
```
## Workflow Automations
### Web Clipper
```yaml
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
```yaml
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 Analysis
```yaml
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
```
## Best Practices
1. **Atomic Notes**: One idea per note
2. **Consistent Naming**: Use conventions
3. **Link Liberally**: Connect related ideas
4. **Daily Practice**: Regular review
5. **Templates**: Standardize note types
6. **Tags vs Links**: Use both strategically
© Claude Office Skills · MIT · claude-office-skills/skills