| name | obsidian |
| description | Help with Obsidian Zettelkasten vault management - search, create, edit, and organize notes in the user's personal knowledge base with 1200+ notes. Use when the user asks about their Zettelkasten, vault, notes, knowledge management, or wants to create/modify markdown notes in ~/Documents/Zettelkasten. (project, gitignored) |
Obsidian Zettelkasten Skill
Overview
Help user interact with their personal Zettelkasten vault — a knowledge management system with 1200+ notes covering learning, projects, and ideas.
Vault Location
Path: ~/Documents/Zettelkasten/
Vault Structure
Zettelkasten/
├── copilot/ # AI copilot files
├── Files/ # Attachments, images, PDFs
├── Reference/ # Reference materials
├── Templates/ # Note templates
└── Zettelkasten/ # Main notes directory
├── Life/ # Personal planning, tasks, projects
├── Notes/ # Main knowledge notes
└── Writings/ # Essays, diary entries
Obsidian CLI (Primary Interface)
The official Obsidian CLI is installed and enabled. Requires Obsidian to be running. Always prefer CLI over direct file operations — it respects Obsidian's index, links, templates, and plugins.
Binary: /opt/homebrew/bin/obsidian
Syntax: obsidian <command> [options]
Targeting: file=<name> (resolves like wikilinks), path=<exact/path.md>, vault=<name>
When to Use CLI vs Direct File Tools
Use CLI (obsidian) | Use File Tools (Read/Write/Grep) |
|---|
| Creating notes (respects templates) | Bulk text search across many files |
| Appending/prepending to notes | Reading note content for analysis |
| Querying backlinks, orphans, deadends | Complex regex searches |
| Managing properties/frontmatter | Editing note body content |
| Searching with Obsidian's index | When Obsidian is not running |
| Working with daily notes | |
| Managing tasks | |
| Link graph analysis | |
Key CLI Commands
Note Operations
obsidian create name="My Note" path="Zettelkasten/Notes/My Note.md" content="..." template="Note Template"
obsidian read file="Aristotle"
obsidian append file="Coffee Log" content="New entry here"
obsidian prepend file="Task Log" content="- [ ] New task"
obsidian open file="Aristotle" newtab
obsidian delete file="Old Note"
obsidian move file="Old Name" to="Zettelkasten/Notes/New Name.md"
obsidian rename file="Old Name" name="New Name"
Daily Notes
obsidian daily
obsidian daily:path
obsidian daily:read
obsidian daily:append content="- [ ] New task"
obsidian daily:prepend content="## Morning thoughts\n..."
Search
obsidian search query="fish shell" limit=5
obsidian search:context query="climbing training" limit=3
obsidian search:open query="philosophy"
Link Graph Analysis (CLI-exclusive power)
obsidian backlinks file="Aristotle" counts
obsidian links file="Aristotle" total
obsidian orphans total
obsidian deadends total
obsidian unresolved total
obsidian unresolved counts verbose
Properties / Frontmatter
obsidian properties counts sort=count
obsidian property:read name="tags" file="Aristotle"
obsidian property:set name="type" value="note" file="My Note"
obsidian property:set name="tags" value="philosophy,greek" type=list file="Aristotle"
obsidian property:remove name="oldfield" file="My Note"
Tags
obsidian tags counts sort=count
obsidian tags file="Aristotle"
obsidian tag name="philosophy" verbose
Tasks
obsidian tasks todo
obsidian tasks done
obsidian tasks todo file="Task Log"
obsidian tasks daily todo
obsidian task file="Task Log" line=5 toggle
Templates
obsidian templates
obsidian template:read name="Note Template"
obsidian template:read name="Note Template" resolve title="My Note"
Vault Health & Info
obsidian vault
obsidian files total
obsidian files folder="Zettelkasten/Notes"
obsidian folders
obsidian recents
obsidian wordcount file="Being and Time"
obsidian outline file="Aristotle"
Plugins & Themes
obsidian plugins filter=community versions
obsidian plugins:enabled
obsidian plugin:enable id="dataview"
obsidian plugin:disable id="dataview"
obsidian plugin:install id="some-plugin" enable
Output Formats
Many commands support format=json|tsv|csv|text. Use format=json when parsing output programmatically.
Tips
file= resolves names like wikilinks (case-insensitive, no extension needed)
path= is exact (e.g., Zettelkasten/Notes/Aristotle.md)
- Quote values with spaces:
name="My Note"
- Use
\n for newline, \t for tab in content values
- Add
total to most list commands to get just the count
Creating Notes
When creating notes via CLI, use the template= option to apply the user's Note Template. If creating manually:
CRITICAL: Always add frontmatter:
---
created: YYYY-MM-DD
type: note
tags: []
aliases: []
related: []
---
Frontmatter format rules:
| Field | Format | Example |
|---|
tags | Empty array or list of lowercase strings | tags: [] or tags: [python, networking] |
aliases | Empty array or list of strings | aliases: [] or aliases: [Alt Name] |
related | Empty array or multi-line wikilinks | See below |
type | One of: note, daily, diary, weekly, quarterly | type: note |
Related field format (multi-line, quoted wikilinks):
related:
- "[[Note One]]"
- "[[Note Two]]"
Key rules:
tags: are plain lowercase text, NOT wikilinks
related: uses quoted wikilinks in multi-line format
Obsidian Plugins Installed
- dataview: Query notes with SQL-like syntax
- templater: Dynamic templates
- obsidian-vimrc-support: Vim keybindings
- quickadd: Quick note creation
- calendar: Calendar view
- excalibrain: Visual knowledge graph
- And 17+ more plugins
When to Use This Skill
- User asks to search their Zettelkasten
- Wants to create a new note
- References existing notes
- Asks about their knowledge base
- Wants to query/analyze notes
- Vault maintenance (orphans, deadends, unresolved links)
- Daily note operations
- Task management within notes
Best Practices
- Always ask before creating notes — Don't assume structure
- Use search first — Check if similar notes exist
- Respect user's organization — Follow existing patterns
- Suggest connections — Link related notes when relevant
- Use templates — Always use
template="Note Template" when creating
- Use CLI for link-aware operations — Backlinks, orphans, properties
- Use file tools for heavy text operations — Bulk reads, complex regex, content analysis
Related Skills
- obsidian-annotator — Creating and managing PDF annotations via the Annotator plugin. Loaded when user asks to annotate, highlight, or comment on a PDF.
Important Notes
- This is the user's personal knowledge base — treat with care
- Don't make assumptions about structure without asking
- The vault is their long-term memory, not Claude's
Integration with Other Skills
- This vault: User's personal knowledge
- Memory skill: Claude's context about the user
- Different purposes: Don't confuse the two!