Integration Patterns Reference
Overview
An Obsidian vault is a codebase of markdown files. Claude Code navigates file structures and makes surgical edits natively.
Pattern Decision Tree
What integration level?
├── Minimal (just works)? -> Pattern A: Direct Access
├── Enhanced discovery? -> Pattern B: Manifest-Based (CLAUDE.md)
├── Real-time bidirectional? -> Pattern C: MCP Plugin
├── Self-evolving PKM? -> Pattern D: COG Pattern
└── Pre-configured structure? -> Pattern E: Claudesidian
Pattern A: Direct Access (Zero Setup)
Claude Code reads/edits vault files directly. No configuration needed.
cd /path/to/vault && claude
# "Read my daily note from today"
# "Find all notes mentioning project X"
# "Add backlinks to people mentioned in this note"
| Task | Capability |
|---|---|
| Read/edit notes | Direct file access |
| Add backlinks | Find references, insert wikilinks |
| Create notes | Write files with frontmatter |
| Search content | Grep across markdown |
| Refactor structure | Move files, update references |
Pattern B: Manifest-Based (CLAUDE.md)
Add CLAUDE.md at vault root to describe structure, conventions, and rules.
Key sections: Vault Overview, Folder Structure, Conventions (frontmatter, links, tags, dates), Important Files, When Creating/Editing Notes.
Pattern C: MCP Plugin
Real-time bidirectional via Model Context Protocol.
{
"mcpServers": {
"obsidian": {
"transport": "websocket",
"url": "ws://localhost:22360"
}
}
}
Capabilities: read_note, write_note, search, list_notes, get_backlinks, get_outlinks, get_tags
Plugin: obsidian-claude-code-mcp (Community Plugins)
Pattern D: COG Self-Evolving
Git-based with auto-organization and self-healing.
vault/
├── .git/
├── CLAUDE.md
├── _meta/
│ ├── patterns.md # Learned patterns
│ ├── conventions.md # Auto-discovered rules
│ └── maintenance-log.md # Self-healing log
├── notes/
└── daily/
Self-Healing Features
- Auto cross-references: Updates links on note moves
- Pattern learning: Discovers and applies conventions
- Orphan detection: Identifies unlinked notes
- Consistency checks: Validates frontmatter, tags
Git Hooks
# .git/hooks/post-commit
#!/bin/bash
claude --print "Check for broken links and orphan notes.
Fix issues and update _meta/maintenance-log.md."
Pattern E: Claudesidian
Pre-configured vault structure optimized for AI interaction.
vault/
├── CLAUDE.md
├── Inbox/
├── Projects/
├── Knowledge/
├── Journal/
├── Templates/
└── _meta/
├── prompts/
├── contexts/
└── exports/
Comparison
| Feature | Direct | Manifest | MCP | COG | Claudesidian |
|---|---|---|---|---|---|
| Setup | None | Minimal | Plugin | Git+hooks | Structure |
| Real-time | No | No | Yes | No | No |
| Semantic Search | Basic | Basic | Yes | Basic | Basic |
| Self-Healing | No | No | No | Yes | Partial |
| Vendor Lock-in | None | None | Low | None | Structure |
Common Workflows
Auto-Linking Entities
- Read note content
- Extract entity mentions (people, places, books)
- Search vault for existing notes
- Create new notes if needed
- Insert
[[wikilinks]]throughout
Knowledge Graph Maintenance
- Identify orphan notes (no in/out links)
- Analyze content for potential connections
- Suggest or create links
- Update MOCs
Research Synthesis
- Search for relevant notes by topic
- Extract key insights
- Create structured summary note
- Link back to source notes
Daily Note Enhancement
- Read raw daily capture
- Add proper frontmatter
- Identify tasks -> add checkboxes
- Identify mentions -> add wikilinks
- Suggest tags based on content
Neovim Integration (obsidian.nvim)
For Neovim users, obsidian.nvim provides vault management inside the editor.
Minimal Setup (lazy.nvim)
return {
"obsidian-nvim/obsidian.nvim",
version = "*",
ft = "markdown",
opts = {
workspaces = {
{ name = "personal", path = "~/vaults/personal" },
},
},
}
Key Commands
| Command | Description |
|---|---|
:Obsidian today |
Open/create daily note |
:Obsidian new [TITLE] |
Create new note |
:Obsidian search |
Search vault |
:Obsidian quick_switch |
Fuzzy find notes |
:Obsidian backlinks |
Show backlinks |
:Obsidian template |
Insert template |
Completion Triggers
[[- Wiki link completion[- Markdown link completion#- Tag completion
Template Variables
| Variable | Description |
|---|---|
{{title}} |
Note title |
{{date}} |
Current date |
{{time}} |
Current time |
{{id}} |
Note ID |
Requires: Neovim >= 0.10.0, ripgrep
Best Practices
- Keep vault in version control (git rollback + change tracking)
- Use consistent frontmatter across note types
- Maintain CLAUDE.md manifest with conventions
- Regular maintenance (orphan detection, broken link scan)
- Review AI changes via git diff before committing
- Document exceptions in manifest