| name | obsidian-vault |
| description | Use whenever the user works with their Obsidian vault — "find my notes on X", "create a note", "add this to my daily note", "what links here", "tag this note", "summarize my notes about Y". The vault is the working directory (Markdown files); route intent to the official `obsidian` CLI for vault-aware actions and to direct file edits for note content. |
| license | MIT |
| metadata | {"category":"obsidian-routing","primary-interface":"obsidian CLI + file tools"} |
| triggers | ["Obsidian","vault","note","notes","daily note","wikilink","backlink","tag","笔记","知识库","双链","标签"] |
Obsidian Vault
The user's Obsidian vault is your current working directory. Every note is a
Markdown (.md) file on disk. You have two ways to act, and choosing the right
one matters:
- The official
obsidian CLI — for anything that maps to an Obsidian
feature: search, daily note, backlinks/outgoing links, tags, properties
(frontmatter), and running any command-palette action. Prefer it over
hand-rolling the same thing from raw files.
- Your normal file tools — for reading and editing note content, since the
vault is just files in the working directory. Editing the Markdown directly is
often the most reliable way to change a note's body.
The CLI — the commands you'll actually use
Run obsidian help to see the full list; the load-bearing ones:
| Goal | Command |
|---|
| Full-text search the vault | obsidian search "<text>" (paths) / obsidian search:context "<text>" (with matching lines) |
| Read a note | obsidian read file="<name>" (by name, like a wikilink) or path="folder/note.md" (exact) |
| Create a note | obsidian create path="folder/note.md" content="..." |
| Append / prepend | obsidian append path="..." content="..." / obsidian prepend ... |
| Today's daily note | obsidian daily (and obsidian append to add to it) |
| What links here / outgoing | obsidian backlinks file="<name>" / obsidian links file="<name>" |
| List notes / folders / tags | obsidian files / obsidian folders / obsidian tags |
| Frontmatter property | obsidian property:set path="..." key=<k> value=<v> / property:read |
| Recently opened (the active note) | obsidian recents |
| Run any command-palette action | obsidian command id=<command-id> (list ids with obsidian commands) |
Notes on syntax: file= resolves by name (like [[wikilinks]]); path= is an
exact vault-relative path. Quote values with spaces: name="My Note". Use \n
for newlines in content=.
Grounding rule
When the user says "this note", "the note I'm in", "here" without naming a
file, find the active note with obsidian recents (most recent first) rather
than guessing. When the user wants something across the vault ("my notes on
X", "where did I write about Y"), use obsidian search / search:context — do
NOT read many files by hand to simulate a search.
Editing notes — preserve the user's conventions
Notes use Obsidian-native syntax that must survive your edits:
- Wikilinks
[[Note]] / [[Note|alias]] and embeds ![[Note]].
- Tags
#tag / #nested/tag.
- Frontmatter — a YAML block at the very top between
--- fences
(properties). Edit it as YAML; use obsidian property:set for single fields.
- Callouts
> [!note], tasks - [ ] / - [x].
When asked for a small change, make the small change — don't reformat or rewrite
a whole note. Keep existing links, tags, and frontmatter intact.
Anti-patterns (do NOT do these)
- Reading the whole vault to answer a search. Use
obsidian search /
search:context. It's faster and it's what Obsidian is for.
- Guessing the active note. Call
obsidian recents when the user says
"this note" without naming it.
- Clobbering frontmatter or links when editing a note's body.
- Re-pasting the note back to the user after editing it — they can see the
vault update. Confirm in ~1 line and stop.
- Treating this like a code repo. It's a personal knowledge base; frame
everything around notes, links, and writing, not files-as-source-code.
When in doubt
Match the user's verb to one tool:
- "find" / "search" / "where did I write" →
obsidian search / search:context
- "read" / "open" / "show me [note]" →
obsidian read
- "create" / "new note" →
obsidian create
- "add to" / "append" →
obsidian append (or obsidian daily + append)
- "what links to" →
obsidian backlinks
- "tag" / "set property" →
obsidian property:set (or edit frontmatter)
- "edit the note" / "rewrite this paragraph" → your file tools on the
.md
One well-chosen action beats several guesses.