
Obsidian Claude Integration
- 49 installs
- 6 repo stars
- Updated July 22, 2026
- julianobarbosa/claude-code-skills
Build a second brain with Obsidian and Claude AI integration patterns
About
Provides patterns and templates for integrating Claude AI with Obsidian vaults for automated note processing. Used to create AI-enhanced knowledge management workflows.
- Second brain pattern templates
- Claude AI integration workflows
Obsidian Claude Integration by the numbers
- 49 all-time installs (skills.sh)
- +3 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #1,625 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/julianobarbosa/claude-code-skills --skill obsidian-claude-integrationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 49 |
|---|---|
| repo stars | ★ 6 |
| Last updated | July 22, 2026 |
| Repository | julianobarbosa/claude-code-skills ↗ |
What it does
Build a second brain with Obsidian and Claude AI integration patterns
Files
Obsidian Second Brain + Claude Code Integration
Overview
Transform your Obsidian vault into an AI-powered second brain by integrating it with Claude Code. This skill covers multiple integration patterns from minimal setup to advanced self-evolving systems.
Key Insight: An Obsidian vault is essentially a codebase of markdown files. Claude Code is already excellent at navigating file structures and making surgical edits - no special plugin required.
Integration Patterns
Decision Tree
What integration level do you need?
├── Minimal (just works)?
│ └── Pattern A: Direct Access
│ └── Claude Code reads vault directly (no setup needed)
├── Enhanced discovery?
│ └── Pattern B: Manifest-Based
│ └── Add CLAUDE.md to vault root
├── Real-time bidirectional?
│ └── Pattern C: MCP Plugin
│ └── Install obsidian-claude-code-mcp
├── Self-evolving PKM?
│ └── Pattern D: COG Pattern
│ └── Git + automation + self-healing refs
└── Pre-configured structure?
└── Pattern E: Claudesidian
└── Adopt opinionated vault structurePattern A: Direct Access (Zero Setup)
Claude Code can already read and edit your vault. No configuration needed.
How It Works
# Claude Code navigates your vault like any codebase
cd /path/to/your/vault
claude
# Example interactions:
# "Read my daily note from today"
# "Find all notes mentioning project X"
# "Add backlinks to people mentioned in this note"Best Practices
- Open Claude Code from vault root directory
- Use natural language to describe what you want
- Reference files by name or topic, not exact paths
Use Cases
| Task | Claude Code Capability |
|---|---|
| Read notes | Direct file access |
| Edit notes | Surgical markdown edits |
| Add backlinks | Find references, insert wikilinks |
| Create notes | Write new files with proper frontmatter |
| Search content | Grep across all markdown files |
| Refactor structure | Move files, update references |
Pattern B: Manifest-Based (CLAUDE.md)
Add a project manifest to help Claude Code understand your vault's structure and conventions.
CLAUDE.md Template
Create CLAUDE.md at your vault root:
# Obsidian Vault Manifest
## Vault Overview
This is a personal knowledge management vault using [describe your system].
## Folder Structure
- `00 - Inbox/` - Quick capture, unsorted notes
- `01 - Projects/` - Active project notes
- `02 - Areas/` - Ongoing responsibilities
- `03 - Resources/` - Reference materials
- `04 - Archive/` - Completed/inactive content
- `Daily/` - Daily notes (YYYY/MM/DD.md format)
- `Templates/` - Note templates
## Conventions
- Frontmatter: Always include `created`, `updated`, `tags`
- Links: Use `[[wikilinks]]` not markdown links
- Tags: Hierarchical (e.g., `#project/client-name`)
- Dates: ISO 8601 format (YYYY-MM-DD)
## Important Files
- `_index.md` - Main dashboard/MOC
- `project-context.md` - Current project context
## When Creating Notes
1. Always add proper frontmatter
2. Include backlinks to related notes
3. Tag appropriately for discoverability
4. Place in correct folder based on type
## When Editing Notes
1. Update the `updated` timestamp
2. Maintain existing link structure
3. Preserve block references (^block-id)See: templates/CLAUDE.md for full template.
Pattern C: MCP Plugin Integration
Real-time bidirectional communication via Model Context Protocol.
Installation
# Install the MCP plugin from Obsidian Community Plugins
# Plugin: obsidian-claude-code-mcp
# Repository: github.com/iansinnott/obsidian-claude-code-mcpConfiguration
1. Enable plugin in Obsidian 2. Default WebSocket port: 22360 3. Claude Code auto-discovers running Obsidian instances
MCP Capabilities
| Capability | Description |
|---|---|
read_note | Read note content with metadata |
write_note | Create or update notes |
search | Semantic search across vault |
list_notes | Browse vault structure |
get_backlinks | Find notes linking to a file |
get_outlinks | Find notes a file links to |
get_tags | List all tags in vault |
Claude Code MCP Configuration
Add to your Claude Code settings if not auto-discovered:
{
"mcpServers": {
"obsidian": {
"transport": "websocket",
"url": "ws://localhost:22360"
}
}
}Pattern D: COG Self-Evolving Pattern
Git-based self-evolving second brain with auto-organization.
Architecture
vault/
├── .git/ # Version control
├── CLAUDE.md # AI manifest
├── _meta/
│ ├── patterns.md # Learned patterns
│ ├── conventions.md # Auto-discovered rules
│ └── maintenance-log.md # Self-healing log
├── notes/ # Content
└── daily/ # JournalSelf-Healing Features
1. Auto cross-references: Updates links when notes are moved 2. Pattern learning: Discovers and applies your conventions 3. Orphan detection: Identifies unlinked notes 4. Consistency checks: Validates frontmatter, tags
Git Hooks Setup
# .git/hooks/post-commit
#!/bin/bash
# Trigger Claude Code maintenance after commits
claude --print "Check for broken links and orphan notes in the vault.
Fix any issues and update _meta/maintenance-log.md with actions taken."Maintenance Commands
# Ask Claude Code to perform maintenance
claude "Analyze my vault for orphan notes and suggest connections"
claude "Find notes without proper frontmatter and fix them"
claude "Update all daily notes with missing navigation links"Pattern E: Claudesidian Structure
Adopt a pre-configured vault structure optimized for AI interaction.
Folder Structure
vault/
├── CLAUDE.md # Manifest (required)
├── Inbox/ # Quick capture
├── Projects/ # Active work
├── Knowledge/ # Permanent notes
├── Journal/ # Daily reflection
├── Templates/ # Note templates
└── _meta/ # System files
├── prompts/ # Saved prompts
├── contexts/ # Context files
└── exports/ # Generated outputsKey Conventions
- Every note has frontmatter with
id,created,updated - Tags follow hierarchy:
#type/subtype - Daily notes link to previous/next
- Templates include Claude Code prompts
Common Workflows
Auto-Linking People, Places, Books
User: "Read my journal entry from today and add backlinks to all
people, places, and books mentioned"
Claude Code:
1. Reads today's daily note
2. Extracts entity mentions
3. Searches vault for existing notes
4. Creates new notes if needed
5. Inserts [[wikilinks]] throughoutKnowledge Graph Maintenance
User: "Find orphan notes and suggest connections"
Claude Code:
1. Identifies notes with no incoming/outgoing links
2. Analyzes content for potential connections
3. Suggests or creates links
4. Updates MOCs (Maps of Content)Research Synthesis
User: "Synthesize all my notes on [topic] into a summary note"
Claude Code:
1. Searches for relevant notes
2. Extracts key insights
3. Creates structured summary
4. Links back to source notesDaily Note Enhancement
User: "Review today's note and add structure"
Claude Code:
1. Reads raw capture
2. Adds proper frontmatter
3. Identifies tasks → adds checkboxes
4. Identifies mentions → adds links
5. Suggests tags based on contentBest Practices
For All Patterns
1. Keep vault in version control - Git enables rollback and change tracking 2. Use consistent frontmatter - Helps Claude Code understand note types 3. Maintain a manifest - CLAUDE.md provides context and conventions 4. Regular maintenance - Ask Claude Code to check for issues periodically
For MCP Integration
1. Keep Obsidian running - MCP requires active connection 2. Use semantic search - Leverage MCP's search capabilities 3. Handle conflicts - Be aware of simultaneous edits
For Self-Evolving Systems
1. Review AI changes - Check git diff before committing 2. Train on preferences - Correct mistakes to improve patterns 3. Document exceptions - Update manifest with edge cases
Troubleshooting
Claude Code Not Finding Notes
# Ensure you're in the vault directory
pwd # Should show vault path
# Check file permissions
ls -la *.md
# Verify markdown extension
find . -name "*.md" | head -20MCP Connection Failed
# Check Obsidian is running
pgrep -l Obsidian
# Verify plugin is enabled
# Settings → Community Plugins → obsidian-claude-code-mcp
# Check port availability
lsof -i :22360
# Test WebSocket connection
websocat ws://localhost:22360Broken Wikilinks After Edits
# Ask Claude Code to fix
claude "Find all broken wikilinks in the vault and fix them"
# Or use grep to find issues
grep -r "\[\[" --include="*.md" | grep -v "\.obsidian"Integration Comparison
| Feature | Direct | Manifest | MCP | COG | Claudesidian |
|---|---|---|---|---|---|
| Setup Required | None | Minimal | Plugin | Git + hooks | Structure |
| Real-time Sync | 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 |
| Best For | Simple | Organized | Power users | Automation | New vaults |
Resources
References
- references/mcp-integration.md - MCP protocol details
- references/cog-pattern.md - Self-evolving architecture
- references/workflows.md - Common automation workflows
Templates
- templates/CLAUDE.md - Vault manifest template
- templates/daily-note.md - AI-friendly daily note
- templates/project-note.md - Project note template
External Resources
- obsidian-claude-code-mcp - MCP Plugin
- COG-second-brain - Self-evolving pattern
- Claudesidian - Pre-configured vault
- minimal-second-brain - Minimal template
Quick Start
Fastest Path (Pattern A + B)
# 1. Navigate to your vault
cd /path/to/your/obsidian/vault
# 2. Create a minimal manifest
cat > CLAUDE.md << 'EOF'
# Vault Manifest
This is my Obsidian vault. Key conventions:
- Daily notes in `Daily/YYYY/MM/DD.md`
- Use `[[wikilinks]]` for internal links
- Frontmatter with `created`, `updated`, `tags`
EOF
# 3. Start using Claude Code
claude "What notes do I have about [topic]?"Full Integration (Pattern C)
1. Install obsidian-claude-code-mcp plugin 2. Create CLAUDE.md manifest 3. Enable plugin in Obsidian settings 4. Claude Code auto-connects via WebSocket
Self-Evolving Setup (Pattern D)
1. Initialize git in vault 2. Create CLAUDE.md manifest 3. Add git hooks for maintenance 4. Schedule periodic Claude Code reviews
---
Gotchas
- Vault paths with spaces break raw bash heredoc without quoting — always
"$VAULT"(with quotes) when constructing paths. A space silently splits the path arg into two. - MCP server lifecycle: a crashed server stays in transition state for ~30s before retry — claude won't show an error during the gap; it just waits.
- Frontmatter append from Claude can duplicate keys silently — YAML allows duplicate keys; Obsidian shows the last; some plugins read the first. Always edit-in-place via a parser, not blind append.
- CLAUDE.md manifests under the vault root vs under `.obsidian/` — the vault-root one is visible to humans; the
.obsidian/one survives folder reorganization but is hidden. - MCP file-system tools obey vault sandbox, but raw `Bash` does not — easy accidental escape via shell commands; document the boundary explicitly per skill.
COG Self-Evolving Pattern Reference
Overview
COG (Claude-Obsidian-Git) is a self-evolving second brain pattern that combines:
- Claude Code for AI-powered organization
- Obsidian for knowledge storage and linking
- Git for version control and automation triggers
No database, no vendor lock-in - just markdown files that self-organize.
Architecture
vault/
├── .git/ # Version control
│ └── hooks/
│ ├── post-commit # Trigger maintenance
│ └── pre-push # Validate integrity
├── CLAUDE.md # AI manifest
├── _meta/
│ ├── patterns.md # Learned conventions
│ ├── conventions.md # Auto-discovered rules
│ ├── maintenance-log.md # Self-healing audit
│ └── orphan-candidates.md # Notes needing links
├── inbox/ # Quick capture
├── notes/ # Organized content
├── daily/ # Journal entries
├── projects/ # Active work
└── archive/ # Completed itemsSelf-Evolving Features
1. Pattern Learning
Claude Code observes your vault and learns:
- Naming conventions (kebab-case, PascalCase, etc.)
- Frontmatter schemas (which fields you use)
- Tag hierarchies (how you organize topics)
- Folder structures (where notes belong)
Pattern Discovery:
<!-- _meta/patterns.md -->
# Discovered Patterns
## Naming
- Notes: kebab-case-titles.md
- Daily: YYYY-MM-DD.md format
- Projects: PROJECT-name.md prefix
## Frontmatter
- Always includes: created, updated, tags
- Projects add: status, priority, due
- Daily adds: mood, energy, highlights
## Tags
- Hierarchy: #category/subcategory
- Status: #status/active, #status/review
- Type: #type/note, #type/project2. Auto Cross-References
When notes are moved or renamed, Claude Code: 1. Detects file changes via git 2. Finds all broken wikilinks 3. Updates references to new paths 4. Logs changes in maintenance-log.md
Self-Healing Script:
#!/bin/bash
# .git/hooks/post-commit
# Get changed files
changed=$(git diff-tree --no-commit-id --name-only -r HEAD)
# Check for renames/moves
if echo "$changed" | grep -q ".md"; then
claude --print "
Recent commit changed files:
$changed
Check for broken wikilinks caused by these changes.
Update any broken references and log to _meta/maintenance-log.md
"
fi3. Orphan Detection
Identifies notes with no connections:
<!-- _meta/orphan-candidates.md -->
# Orphan Notes (Auto-Generated)
Notes with no incoming or outgoing links:
## High Priority (30+ days old)
- [[Random Thought 2024-10-15]] - Consider linking to #topic/philosophy
- [[Meeting Notes ABC]] - May belong in projects/
## Recent (< 7 days)
- [[Quick Capture]] - Needs processing4. Consistency Validation
Pre-push hook validates vault integrity:
#!/bin/bash
# .git/hooks/pre-push
# Check for missing frontmatter
missing=$(find . -name "*.md" -exec grep -L "^---" {} \;)
if [ -n "$missing" ]; then
echo "Notes missing frontmatter:"
echo "$missing"
exit 1
fi
# Validate no broken internal links
broken=$(claude --print "List all broken wikilinks in vault" 2>/dev/null)
if [ -n "$broken" ]; then
echo "Broken links detected:"
echo "$broken"
exit 1
fi
exit 0Implementation Guide
Step 1: Initialize Git
cd /path/to/vault
git init
echo ".obsidian/workspace.json" >> .gitignore
echo ".obsidian/cache" >> .gitignore
git add .
git commit -m "Initial vault commit"Step 2: Create Meta Structure
mkdir -p _meta
touch _meta/patterns.md
touch _meta/conventions.md
touch _meta/maintenance-log.md
touch _meta/orphan-candidates.mdStep 3: Create CLAUDE.md Manifest
# COG Vault Manifest
## System Behavior
This vault uses the COG self-evolving pattern. Claude Code should:
1. Learn and enforce discovered patterns
2. Fix broken links automatically
3. Log all maintenance actions
4. Suggest connections for orphan notes
## Meta Files
- `_meta/patterns.md` - Update when new patterns discovered
- `_meta/conventions.md` - Document naming rules
- `_meta/maintenance-log.md` - Append maintenance actions
- `_meta/orphan-candidates.md` - Regenerate on request
## Maintenance Commands
- "Run vault maintenance" - Full health check
- "Find orphan notes" - Update orphan-candidates.md
- "Validate consistency" - Check frontmatter/links
- "Learn patterns" - Analyze and update patterns.mdStep 4: Add Git Hooks
# Make hooks executable
chmod +x .git/hooks/post-commit
chmod +x .git/hooks/pre-pushStep 5: Initial Pattern Learning
claude "Analyze this vault and document all patterns you find.
Update _meta/patterns.md with naming, frontmatter, and tag conventions."Maintenance Workflows
Daily Maintenance
# Run during daily review
claude "Process inbox notes:
1. Add proper frontmatter
2. Suggest appropriate folders
3. Add relevant tags
4. Link to related notes"Weekly Maintenance
# Run weekly
claude "Run full vault maintenance:
1. Find orphan notes
2. Check for broken links
3. Update pattern documentation
4. Identify stale notes (no updates in 90 days)"Monthly Maintenance
# Run monthly
claude "Deep vault analysis:
1. Review and consolidate similar notes
2. Update MOCs (Maps of Content)
3. Archive completed projects
4. Generate vault statistics"Maintenance Log Format
<!-- _meta/maintenance-log.md -->
# Vault Maintenance Log
## 2025-01-05 14:30
### Actions Taken
- Fixed 3 broken wikilinks from file renames
- Added frontmatter to 2 notes in inbox/
- Linked orphan note [[random-idea]] to [[project-brainstorm]]
### Files Modified
- notes/project-brainstorm.md (added link)
- inbox/random-idea.md (moved to notes/, added frontmatter)
- projects/old-project.md (fixed broken link)
---
## 2025-01-04 09:15
...Advanced Features
Smart Archive
claude "Find notes marked #status/complete or with due dates passed.
Move to archive/ folder, update all references, log the action."Knowledge Synthesis
claude "Find all notes tagged #topic/machine-learning.
Create a synthesis note summarizing key insights.
Link back to all source notes."Conflict Resolution
When simultaneous edits occur:
claude "Compare my local changes with the version in git.
Show me conflicts and suggest resolution strategy."Best Practices
1. Commit frequently - More granular history = better self-healing 2. Review changes - Check git diff before committing AI edits 3. Document exceptions - Update patterns.md when breaking conventions 4. Regular maintenance - Schedule weekly/monthly cleanup 5. Backup strategy - Push to remote regularly
Troubleshooting
Hooks Not Running
# Check permissions
ls -la .git/hooks/
# Make executable
chmod +x .git/hooks/*Too Many Changes
# Limit maintenance scope
claude "Only process inbox/ folder today"Pattern Drift
# Reset to documented patterns
claude "Enforce patterns in _meta/patterns.md strictly.
Correct any deviations found in the vault."MCP Integration Reference
Model Context Protocol Overview
MCP (Model Context Protocol) enables real-time bidirectional communication between Claude Code and Obsidian. The obsidian-claude-code-mcp plugin implements an MCP server inside Obsidian that Claude Code can connect to.
Architecture
┌─────────────────┐ WebSocket ┌─────────────────┐
│ Claude Code │◄──────────────────►│ Obsidian │
│ (MCP Client) │ Port 22360 │ (MCP Server) │
└─────────────────┘ └─────────────────┘
│ │
│ │
▼ ▼
AI Processing Vault Access
- Read notes - File I/O
- Edit content - Metadata cache
- Search vault - Link resolutionInstallation
From Community Plugins
1. Open Obsidian Settings 2. Navigate to Community Plugins 3. Disable Safe Mode if prompted 4. Click Browse and search for "claude-code-mcp" 5. Install and Enable
Manual Installation
# Clone the plugin repository
git clone https://github.com/iansinnott/obsidian-claude-code-mcp.git
# Copy to Obsidian plugins folder
cp -r obsidian-claude-code-mcp /path/to/vault/.obsidian/plugins/
# Restart Obsidian and enable the pluginConfiguration
Plugin Settings
| Setting | Default | Description |
|---|---|---|
| Port | 22360 | WebSocket server port |
| Auto-start | true | Start server on plugin load |
| Debug mode | false | Verbose logging |
Claude Code Configuration
If auto-discovery fails, add to Claude Code settings:
{
"mcpServers": {
"obsidian": {
"transport": "websocket",
"url": "ws://localhost:22360"
}
}
}MCP Protocol Messages
read_note
Read a note's content and metadata.
{
"method": "read_note",
"params": {
"path": "Notes/MyNote.md"
}
}Response:
{
"content": "# My Note\n\nContent here...",
"frontmatter": {
"created": "2025-01-05",
"tags": ["tag1", "tag2"]
},
"links": ["[[Other Note]]", "[[Reference]]"],
"backlinks": ["[[Linking Note]]"]
}write_note
Create or update a note.
{
"method": "write_note",
"params": {
"path": "Notes/NewNote.md",
"content": "# New Note\n\nContent...",
"createFolders": true
}
}search
Search vault content.
{
"method": "search",
"params": {
"query": "search term",
"limit": 20
}
}Response:
{
"results": [
{
"path": "Notes/Match1.md",
"score": 0.95,
"matches": ["...context with **search term**..."]
}
]
}list_notes
Browse vault structure.
{
"method": "list_notes",
"params": {
"folder": "Projects",
"recursive": true
}
}get_backlinks
Find notes linking to a file.
{
"method": "get_backlinks",
"params": {
"path": "Notes/Topic.md"
}
}get_tags
List all tags in vault.
{
"method": "get_tags",
"params": {}
}Response:
{
"tags": [
{"name": "#project", "count": 15},
{"name": "#project/active", "count": 8},
{"name": "#reference", "count": 42}
]
}Error Handling
Connection Errors
Error: WebSocket connection failed
├── Cause: Obsidian not running
│ └── Fix: Launch Obsidian
├── Cause: Plugin not enabled
│ └── Fix: Enable obsidian-claude-code-mcp plugin
├── Cause: Port conflict
│ └── Fix: Change port in plugin settings
└── Cause: Firewall blocking
└── Fix: Allow localhost:22360File Errors
Error: Note not found
├── Cause: Path incorrect
│ └── Fix: Use relative path from vault root
├── Cause: File moved/renamed
│ └── Fix: Use search to find new location
└── Cause: Case sensitivity
└── Fix: Match exact case on Linux/macOSAdvanced Usage
Combining with Direct Access
MCP and direct file access can work together:
MCP for:
- Real-time semantic search
- Backlink resolution
- Metadata access
Direct access for:
- Bulk file operations
- Complex refactoring
- Performance-critical readsCustom MCP Commands
The plugin supports custom commands via Obsidian's command palette:
{
"method": "execute_command",
"params": {
"id": "daily-notes:open-daily-note"
}
}Performance Considerations
1. Large vaults: MCP indexes incrementally; initial sync may take time 2. Many connections: Single WebSocket per vault recommended 3. Concurrent edits: Obsidian handles conflicts; review before saving 4. Memory usage: MCP server runs in Obsidian's renderer process
Debugging
Enable Debug Mode
1. Open plugin settings 2. Enable "Debug mode" 3. Open developer console (Ctrl+Shift+I) 4. Watch for MCP protocol messages
Connection Test
# Using websocat
websocat ws://localhost:22360
# Send test message
{"method": "list_notes", "params": {}}Common Issues
| Issue | Solution |
|---|---|
| No auto-discovery | Add manual config to Claude Code settings |
| Slow search | Reduce vault size or use folder filters |
| Stale data | Trigger vault refresh in Obsidian |
| Connection drops | Check network stability, increase timeout |
Common Workflows Reference
Daily Workflows
Morning Review
User: "Review my daily note template and create today's note"
Claude Code Actions:
1. Read daily note template from Templates/
2. Generate today's date (YYYY-MM-DD)
3. Create note in Daily/YYYY/MM/YYYY-MM-DD.md
4. Fill template variables
5. Add navigation links (yesterday/tomorrow)Example Prompt:
Create my daily note for today. Include:
- Link to yesterday's note
- Any unfinished tasks from yesterday
- Today's date properly formattedEvening Processing
User: "Process today's daily note"
Claude Code Actions:
1. Read today's daily note
2. Extract mentions of people → create/link @person notes
3. Extract action items → format as tasks
4. Identify topics → add relevant tags
5. Suggest connections to existing notesExample Prompt:
Review today's daily note and:
- Add wikilinks to all people mentioned
- Convert action items to - [ ] format
- Tag with relevant topics
- Suggest related notes to linkWeekly Workflows
Weekly Review
User: "Generate my weekly review"
Claude Code Actions:
1. Find all daily notes from this week
2. Extract highlights, wins, challenges
3. Compile open tasks
4. Identify patterns in mood/energy
5. Create weekly review noteExample Prompt:
Create a weekly review note that summarizes:
- What I worked on (from daily notes)
- Key wins and challenges
- Open tasks carried forward
- Patterns in energy/mood if trackedOrphan Note Processing
User: "Find and process orphan notes"
Claude Code Actions:
1. Identify notes with no incoming links
2. Analyze content for potential connections
3. Suggest or create links
4. Update MOCs if appropriateExample Prompt:
Find notes with no backlinks. For each:
- Analyze the content
- Suggest 2-3 related notes to link from
- Ask before making changesContent Workflows
Auto-Linking Entities
User: "Add backlinks to all people, places, and books in this note"
Claude Code Actions:
1. Parse note content for entity mentions
2. For each entity:
- Search for existing note
- If found: add [[wikilink]]
- If not found: create stub note
3. Update frontmatter with related entitiesExample Prompt:
Read [[Meeting Notes 2025-01-05]] and:
- Find all people mentioned
- Create @person notes if they don't exist
- Add [[wikilinks]] in the text
- Update the 'people' frontmatter fieldResearch Synthesis
User: "Synthesize all notes on [topic]"
Claude Code Actions:
1. Search for notes tagged/about topic
2. Extract key insights from each
3. Identify connections and contradictions
4. Create synthesis note with outline
5. Link back to all sourcesExample Prompt:
Create a synthesis note on "machine learning":
- Find all notes tagged #topic/ml or mentioning ML
- Extract the main insight from each
- Organize into coherent structure
- Include links to all source notesBook Note Creation
User: "Create a book note for [title]"
Claude Code Actions:
1. Create note with BOOK- prefix
2. Add proper frontmatter (author, genre, etc.)
3. Create standard book note structure
4. Link to @author note
5. Tag appropriatelyExample Prompt:
Create a book note for "Atomic Habits" by James Clear:
- Use BOOK-atomic-habits-james-clear.md
- Add frontmatter with author, year, genre
- Create sections for summary, key ideas, quotes
- Link to @james-clear (create if missing)Maintenance Workflows
Broken Link Repair
User: "Fix all broken wikilinks"
Claude Code Actions:
1. Find all [[wikilinks]] in vault
2. Check each link resolves
3. For broken links:
- Search for similar file names
- Suggest corrections
- Fix with confirmationExample Prompt:
Find all broken wikilinks in the vault.
For each one:
- Show me the context
- Suggest the correct target
- Wait for my approval before fixingFrontmatter Standardization
User: "Standardize frontmatter across all notes"
Claude Code Actions:
1. Read CLAUDE.md for schema
2. Find notes missing required fields
3. Add missing fields with defaults
4. Normalize date formatsExample Prompt:
Check all notes in Projects/ folder:
- Ensure all have 'created' and 'updated' fields
- Add 'status: active' if missing status
- Add 'type: project' if missing type
- Show me a summary of changes madeTag Cleanup
User: "Clean up and consolidate tags"
Claude Code Actions:
1. List all unique tags
2. Find similar/duplicate tags
3. Suggest consolidation
4. Rename with confirmationExample Prompt:
Analyze all tags in the vault:
- Find duplicates (ml vs machine-learning)
- Find orphan tags (used only once)
- Suggest hierarchy improvements
- Don't change anything without askingProject Workflows
Project Setup
User: "Create a new project structure"
Claude Code Actions:
1. Create PROJECT-name folder
2. Create index note with template
3. Add standard sections
4. Link to project MOCExample Prompt:
Create a new project "Website Redesign":
- Create Projects/website-redesign/ folder
- Create PROJECT-website-redesign.md index
- Add sections: Overview, Goals, Tasks, Notes, Resources
- Link from [[Projects MOC]]Project Archive
User: "Archive completed project [name]"
Claude Code Actions:
1. Update project status to complete
2. Move folder to Archive/
3. Update all incoming links
4. Add completion date
5. Generate project summaryExample Prompt:
Archive the "Website Redesign" project:
- Set status to complete
- Move to Archive/2025/
- Update links from other notes
- Add 'completed' date to frontmatter
- Create a brief summary of outcomesIntegration Workflows
External Content Import
User: "Import article from [URL]"
Claude Code Actions:
1. Fetch URL content
2. Extract main content
3. Create note with proper frontmatter
4. Add source attribution
5. Suggest related notesExample Prompt:
Import this article: [URL]
- Create note in Resources/articles/
- Add frontmatter: source, author, date
- Extract key quotes
- Suggest existing notes to linkExport for Sharing
User: "Export [note] for sharing"
Claude Code Actions:
1. Read note content
2. Resolve embeds and transclusions
3. Convert wikilinks to readable format
4. Export as clean markdownExample Prompt:
Prepare [[Project Summary]] for sharing:
- Expand all embedded notes
- Convert [[wikilinks]] to plain text
- Remove internal frontmatter
- Output clean markdown I can copyWorkflow Templates
Custom Workflow Definition
## Workflow: [Name]
### Trigger
[When to run this workflow]
### Inputs
- [What information is needed]
### Steps
1. [First action]
2. [Second action]
3. [Third action]
### Outputs
- [What is created/modified]
### Example Prompt[Example user prompt to trigger this workflow]
Automated Workflow (Git Hook)
#!/bin/bash
# .git/hooks/post-commit
# Trigger workflow on specific file patterns
changed=$(git diff-tree --no-commit-id --name-only -r HEAD)
# Run inbox processing
if echo "$changed" | grep -q "inbox/"; then
claude --print "Process new notes in inbox/"
fi
# Run link repair after renames
if git log -1 --diff-filter=R --summary | grep -q "rename"; then
claude --print "Check for broken links after recent file renames"
fiObsidian Vault Manifest
This file helps Claude Code understand your vault's structure and conventions.
Customize the sections below to match your personal knowledge management system.
Vault Overview
<!-- Describe your vault's purpose and organization philosophy -->
This is a personal knowledge management vault following [PARA/Zettelkasten/Johnny Decimal/Custom] methodology.
Primary purposes:
- Personal note-taking and journaling
- Project documentation
- Learning and research
- [Add your specific use cases]
Folder Structure
<!-- Document your folder hierarchy -->
| Folder | Purpose | Note Types |
|---|---|---|
Inbox/ | Quick capture, unsorted | Fleeting notes |
Projects/ | Active work | Project notes, tasks |
Areas/ | Ongoing responsibilities | Area overviews |
Resources/ | Reference materials | Evergreen notes |
Archive/ | Completed/inactive | Archived projects |
Daily/ | Daily notes | Journal entries |
Templates/ | Note templates | - |
Frontmatter Schema
<!-- Define your standard frontmatter fields -->
Required Fields (All Notes)
---
created: YYYY-MM-DDTHH:mm
updated: YYYY-MM-DDTHH:mm
tags:
- category/subcategory
---Project Notes
---
created: YYYY-MM-DDTHH:mm
updated: YYYY-MM-DDTHH:mm
type: project
status: active | paused | complete
priority: high | medium | low
due: YYYY-MM-DD
tags:
- project/name
---Daily Notes
---
created: YYYY-MM-DDTHH:mm
type: daily
date: YYYY-MM-DD
mood:
energy:
tags:
- daily
- YYYY
- YYYY-MM
---Naming Conventions
<!-- Document how files should be named -->
- Regular notes:
kebab-case-descriptive-title.md - Daily notes:
YYYY-MM-DD.mdinDaily/YYYY/MM/folder - Project notes:
PROJECT-name.mdprefix - People notes:
@firstname-lastname.md - Book notes:
BOOK-title-author.md
Link Conventions
<!-- How internal linking should work -->
- Use
[[wikilinks]]for all internal links (not markdown links) - Link to specific headings:
[[Note#Heading]] - Use block references:
[[Note#^block-id]] - Alias display text:
[[Long Note Name|Short Name]]
Tag Hierarchy
<!-- Your tag structure -->
#type/
├── note
├── project
├── daily
├── meeting
└── reference
#status/
├── active
├── review
├── paused
└── complete
#topic/
└── [your topics]
#source/
├── book
├── article
├── video
└── conversationImportant Files
<!-- Key notes Claude Code should be aware of -->
_index.md- Main dashboard / Map of Contentproject-context.md- Current project context (if applicable)_templates/- Template files location
Claude Code Instructions
When Creating Notes
1. Always add required frontmatter fields 2. Place in appropriate folder based on type 3. Use proper naming convention 4. Add relevant tags 5. Include backlinks to related notes
When Editing Notes
1. Update the updated timestamp 2. Preserve existing wikilinks 3. Maintain block references (^block-id) 4. Don't modify frontmatter created date
When Organizing
1. Respect existing folder structure 2. Update all wikilinks when moving files 3. Don't delete notes without confirmation 4. Archive instead of delete when possible
When Searching
1. Consider wikilinks and backlinks 2. Check frontmatter metadata 3. Look in appropriate folders first 4. Use tags to narrow scope
Automation Preferences
<!-- What Claude Code should do automatically -->
Always Do
- [ ] Fix broken wikilinks
- [ ] Add missing frontmatter to inbox notes
- [ ] Update
updatedtimestamp on edits
Ask First
- [ ] Move notes between folders
- [ ] Create new notes
- [ ] Modify tag structure
- [ ] Archive old notes
Never Do
- [ ] Delete any notes
- [ ] Modify
.obsidian/folder - [ ] Change plugin settings
Custom Commands
<!-- Common requests and expected behavior -->
| Command | Expected Behavior |
|---|---|
| "Process inbox" | Add frontmatter, suggest folders, add links |
| "Daily review" | Summarize today's note, suggest tasks |
| "Find orphans" | List unlinked notes |
| "Weekly summary" | Create summary of week's notes |
Notes
<!-- Any additional context -->
- This vault is [private/shared/synced with X]
- Primary device: [macOS/Windows/Linux]
- Obsidian plugins in use: [Dataview, Templater, etc.]
Daily Note - {{date:YYYY-MM-DD}}
<< [[{{date-1d:YYYY-MM-DD}}]] | Today | [[{{date+1d:YYYY-MM-DD}}]] >>
Morning
Intentions
- [ ]
Focus Areas
1.
Tasks
Today
- [ ]
Carried Forward
- [ ]
Notes
Evening
Wins
Challenges
Gratitude
Navigation
- [[{{date:YYYY-MM}}-W{{date:WW}} Weekly]]
- [[{{date:YYYY-MM}} Monthly]]
PROJECT: {{title}}
Overview
Brief description of this project
Goals
1.
Success Criteria
- [ ]
Key Dates
| Milestone | Date | Status |
|---|---|---|
| Kickoff | {{date:YYYY-MM-DD}} | Done |
Resources
-
Related
- [[Projects MOC]]
Tasks
Active
- [ ]
Backlog
- [ ]
Completed
- [x]
Notes
{{date:YYYY-MM-DD}}
Log
| Date | Update |
|---|---|
| {{date:YYYY-MM-DD}} | Project created |