Obsidian MCP Skill
Use the Obsidian MCP server to interact with the user's vault — read notes, write new content, search, append to daily notes, and persist information across sessions.
Available Tools
These tools are provided by the obsidian MCP server. All paths are relative to the vault root.
| Tool | When to use |
|---|---|
obsidian_get_file_contents |
Read a specific note by path |
obsidian_batch_get_file_contents |
Read multiple notes at once |
obsidian_list_files_in_dir |
List notes in a folder |
obsidian_list_files_in_vault |
Get the full vault file list |
obsidian_simple_search |
Full-text search across the vault |
obsidian_complex_search |
Search with filters (tags, frontmatter, date ranges) |
obsidian_append_content |
Add content to the end of a note |
obsidian_patch_content |
Replace a specific section in a note (by heading) |
obsidian_get_periodic_note |
Get today's / this week's daily or weekly note |
obsidian_get_recent_changes |
List recently modified notes |
obsidian_get_recent_periodic_notes |
List recent daily/weekly notes |
obsidian_delete_file |
Delete a note (confirm with user first) |
Core Behaviors
Writing a new note
Use obsidian_append_content to a new path — it creates the file if it doesn't exist.
Always include frontmatter when creating a new note:
---
created: YYYY-MM-DD
tags: [relevant, tags]
---
# Note Title
Content here.
Appending to an existing note
Use obsidian_append_content. Don't rewrite the whole file — append only what's new.
Updating a section
Use obsidian_patch_content with the heading as the target. This replaces content under
that heading without touching the rest of the file.
Daily notes
Use obsidian_get_periodic_note to get today's daily note before appending to it.
If it doesn't exist yet, obsidian_append_content to the expected path will create it.
Searching before writing
Before creating a note, search for existing related content with obsidian_simple_search.
Prefer appending to an existing note over creating a duplicate.
Rules
- Never delete a file without explicit user confirmation — ask first, always
- Never overwrite entire notes — use
patch_contentfor sections,append_contentfor additions - Keep frontmatter intact — don't strip or reformat existing frontmatter
- Use the vault's existing folder structure — check
obsidian_list_files_in_vaultto understand where things live before creating new paths - Prefer atomic appends — small, specific additions over large rewrites
- Tag consistently — check existing tags in related notes before making up new ones
Common Patterns
Log a meeting or decision
1. obsidian_get_file_contents → check if a note already exists for this topic
2. If not: obsidian_append_content → create a new note under Meetings/ or Decisions/
3. If yes: obsidian_patch_content → update the relevant section
Save a code snippet or reference
1. obsidian_simple_search → check for existing note on the topic
2. obsidian_append_content → add to existing, or create under References/
Check prior context before starting work
1. obsidian_simple_search → search for the project, feature, or decision name
2. obsidian_batch_get_file_contents → read the top results
3. Summarize relevant context to the user before proceeding
End-of-session summary
1. obsidian_get_periodic_note → get today's daily note
2. obsidian_append_content → append a brief session summary with decisions made
Vault Structure Tips
A clean vault structure makes these patterns reliable. Suggested folders:
vault/
├── Daily/ ← Daily notes (YYYY-MM-DD.md)
├── Meetings/ ← Meeting notes by date or project
├── Projects/ ← One note or folder per project
├── Decisions/ ← Architecture decisions, design choices
├── References/ ← Code snippets, links, docs
└── Inbox/ ← Quick captures, unsorted
If the vault uses a different structure, discover it first with obsidian_list_files_in_vault
before writing anywhere.