ABOUTME: Obsidian vault management via official CLI (1.12+)
ABOUTME: CRUD, search, daily notes, tags, properties, graph analysis, tasks, templates
Obsidian Vault Operations
CLI reference: See ../_OBSIDIAN.md for full command reference.
Integration: See ../_SECOND_BRAIN.md for category routing when adding knowledge.
Capabilities
- Note CRUD: create, read, append, prepend, move, delete
- Search: full-text with folder filtering, JSON output
- Daily Notes: read, append, prepend to today's note
- Tags & Properties: list, set, read, remove frontmatter properties and tags
- Knowledge Graph: backlinks, outgoing links, orphans, dead-ends, unresolved links
- Tasks: list, toggle, mark done/todo across vault or daily note
- Templates: list, read (with variable resolution), create from template
- History: diff versions, restore from file recovery or sync
Common Workflows
Quick capture to daily note
obsidian daily:append content="- [ ] <task or note>" silent
Find related notes
obsidian backlinks file=<name> counts
obsidian links file=<name>
Vault health check
obsidian orphans total
obsidian deadends total
obsidian unresolved verbose
Search and read
obsidian search query="<term>" matches limit=10
obsidian read file=<result>
Add knowledge to Second Brain
# 1. Read existing content to check for duplicates
obsidian read file="Second Brain - <Topic>"
# 2. Append extracted content (follow _SECOND_BRAIN.md template)
obsidian append file="Second Brain - <Topic>" content="<extracted>"
# 3. Update timeline
obsidian append file="Second Brain - Timeline" content="- **YYYY-MM-DD** | [Topic] | Source: ..."
Onboard project to vault
# Run the project onboarding protocol from _VAULT_CONTEXT.md
# Detects project info from CLAUDE.md, creates Overview/Log/Solutions, registers in MOC
# See _VAULT_CONTEXT.md "Project Onboarding" for full steps
Fallback: Direct File Access
When the Obsidian CLI is unavailable (app not running, CLI errors, tool not found), access vault markdown files directly.
Vault path: '/Users/maroffo/Library/Mobile Documents/iCloud~md~obsidian/Documents'
- Use Read/Write/Edit/Glob/Grep tools on
.md files in the vault path
- Note names map to
<vault>/<note name>.md (subfolders for organized notes)
- Frontmatter is standard YAML between
--- delimiters
- Daily notes:
<vault>/Daily Notes/YYYY-MM-DD.md
- Search: use Grep on vault path instead of
obsidian search
- Append: use Edit tool to add content at end of file
Rules
- Always use
silent flag for create/append when user doesn't need the note opened
- Prefer
file=<name> (wikilink resolution) over path= for convenience
- For Second Brain operations, follow
../_SECOND_BRAIN.md routing
- Multiline content: use
\n for newlines in content strings
- CLI first, direct file access as fallback. Try CLI; on failure, switch to direct access silently.
1---2name: obsidian3description: "Obsidian vault operations via CLI. Use for note management, search, daily notes, knowledge graph analysis, tasks, properties. Not for Notion sync (use notion-sync)."4compatibility: "Requires Obsidian 1.12+ with CLI support and app running. macOS: /Applications/Obsidian.app/Contents/MacOS/obsidian"5---67# ABOUTME: Obsidian vault management via official CLI (1.12+)8# ABOUTME: CRUD, search, daily notes, tags, properties, graph analysis, tasks, templates910# Obsidian Vault Operations1112**CLI reference:** See `../_OBSIDIAN.md` for full command reference.13**Integration:** See `../_SECOND_BRAIN.md` for category routing when adding knowledge.1415## Capabilities16171. **Note CRUD**: create, read, append, prepend, move, delete182. **Search**: full-text with folder filtering, JSON output193. **Daily Notes**: read, append, prepend to today's note204. **Tags & Properties**: list, set, read, remove frontmatter properties and tags215. **Knowledge Graph**: backlinks, outgoing links, orphans, dead-ends, unresolved links226. **Tasks**: list, toggle, mark done/todo across vault or daily note237. **Templates**: list, read (with variable resolution), create from template248. **History**: diff versions, restore from file recovery or sync2526## Common Workflows2728### Quick capture to daily note29```bash30obsidian daily:append content="- [ ] <task or note>" silent31```3233### Find related notes34```bash35obsidian backlinks file=<name> counts36obsidian links file=<name>37```3839### Vault health check40```bash41obsidian orphans total42obsidian deadends total43obsidian unresolved verbose44```4546### Search and read47```bash48obsidian search query="<term>" matches limit=1049obsidian read file=<result>50```5152### Add knowledge to Second Brain53```bash54# 1. Read existing content to check for duplicates55obsidian read file="Second Brain - <Topic>"56# 2. Append extracted content (follow _SECOND_BRAIN.md template)57obsidian append file="Second Brain - <Topic>" content="<extracted>"58# 3. Update timeline59obsidian append file="Second Brain - Timeline" content="- **YYYY-MM-DD** | [Topic] | Source: ..."60```6162### Onboard project to vault63```bash64# Run the project onboarding protocol from _VAULT_CONTEXT.md65# Detects project info from CLAUDE.md, creates Overview/Log/Solutions, registers in MOC66# See _VAULT_CONTEXT.md "Project Onboarding" for full steps67```6869## Fallback: Direct File Access7071When the Obsidian CLI is unavailable (app not running, CLI errors, tool not found), access vault markdown files directly.7273**Vault path:** `'/Users/maroffo/Library/Mobile Documents/iCloud~md~obsidian/Documents'`7475- Use Read/Write/Edit/Glob/Grep tools on `.md` files in the vault path76- Note names map to `<vault>/<note name>.md` (subfolders for organized notes)77- Frontmatter is standard YAML between `---` delimiters78- Daily notes: `<vault>/Daily Notes/YYYY-MM-DD.md`79- Search: use Grep on vault path instead of `obsidian search`80- Append: use Edit tool to add content at end of file8182## Rules8384- Always use `silent` flag for create/append when user doesn't need the note opened85- Prefer `file=<name>` (wikilink resolution) over `path=` for convenience86- For Second Brain operations, follow `../_SECOND_BRAIN.md` routing87- Multiline content: use `\n` for newlines in content strings88- **CLI first, direct file access as fallback.** Try CLI; on failure, switch to direct access silently.