| name | obsidian |
| description | Interact with Obsidian vaults via obsidian-cli. Read, create, search, and manage markdown notes. Use when user references their Obsidian vault, wants to save information to notes, search their knowledge base, or organize their personal knowledge management system. Use when this capability is needed. |
| metadata | {"author":"balloneij"} |
Obsidian Vault Integration
This skill enables interaction with Obsidian vaults through the obsidian-cli tool and direct filesystem operations.
When to Use This Skill
Use this skill when the user:
- Mentions their Obsidian vault or notes
- Wants to save information, research, or summaries to notes
- Asks to search their knowledge base or "my notes"
- Wants to organize, rename, or manage their notes
- References personal knowledge management (PKM)
- Asks to read or retrieve information from their notes
Reading Notes
Read note contents directly:
obsidian-cli print "note-name"
obsidian-cli print "folder/subfolder/note-name"
Creating Notes
Use direct file writes for reliable note creation:
VAULT=$(obsidian-cli print-default --path-only)
cat > "$VAULT/note-name.md" << 'EOF'
Content goes here.
EOF
mkdir -p "$VAULT/folder"
cat > "$VAULT/folder/note-name.md" << 'EOF'
Content here.
EOF
Appending to Notes
Add content to existing notes:
VAULT=$(obsidian-cli print-default --path-only)
cat >> "$VAULT/note-name.md" << 'EOF'
Additional content appended.
EOF
Searching Notes
Use grep for non-interactive content search:
VAULT=$(obsidian-cli print-default --path-only)
grep -r -n -i "search term" "$VAULT" --include="*.md"
grep -r -l -i "search term" "$VAULT" --include="*.md"
find "$VAULT" -name "*.md" -type f | sed "s|$VAULT/||" | sort
find "$VAULT" -name "*.md" -type f | sed "s|$VAULT/||" | grep -i "pattern"
Moving and Renaming Notes
The move command automatically updates all wikilinks:
obsidian-cli move "old-name" "new-name"
obsidian-cli move "note-name" "folder/note-name"
obsidian-cli move "old-folder/note" "new-folder/note"
Deleting Notes
obsidian-cli delete "note-name"
obsidian-cli delete "folder/note-name"
Working with Frontmatter
Extract and view YAML frontmatter:
obsidian-cli print "note-name"
obsidian-cli print "note-name" | sed -n '/^---$/,/^---$/p'
To modify frontmatter, read the note, edit the content, and write it back:
VAULT=$(obsidian-cli print-default --path-only)
CONTENT=$(obsidian-cli print "note-name")
cat > "$VAULT/note-name.md" << 'EOF'
---
title: Updated Title
tags: [tag1, tag2]
---
Updated content here.
EOF
Multi-Vault Support
Specify a different vault for any command:
obsidian-cli print "note" --vault "work-vault"
obsidian-cli move "old" "new" --vault "personal-vault"
Common Workflows
Save Research to a Note
VAULT=$(obsidian-cli print-default --path-only)
if obsidian-cli print "Research/topic" >/dev/null 2>&1; then
cat >> "$VAULT/Research/topic.md" << 'EOF'
New research content here.
EOF
else
mkdir -p "$VAULT/Research"
cat > "$VAULT/Research/topic.md" << 'EOF'
Initial research content.
EOF
fi
Find and Read Related Notes
VAULT=$(obsidian-cli print-default --path-only)
grep -r -l -i "keyword" "$VAULT" --include="*.md"
obsidian-cli print "matching-note-1"
obsidian-cli print "matching-note-2"
Organize Notes into Folders
VAULT=$(obsidian-cli print-default --path-only)
find "$VAULT" -name "*meeting*.md" -type f | sed "s|$VAULT/||"
obsidian-cli move "standup-2024-01-15" "Meetings/standup-2024-01-15"
obsidian-cli move "standup-2024-01-16" "Meetings/standup-2024-01-16"
Create a Daily Note
VAULT=$(obsidian-cli print-default --path-only)
TODAY=$(date +%Y-%m-%d)
mkdir -p "$VAULT/Daily"
cat > "$VAULT/Daily/$TODAY.md" << EOF
# Daily Note - $TODAY
## Tasks
- [ ]
## Notes
## End of Day Review
EOF
Important Notes
- Path resolution: Note names don't need
.md extension; paths are relative to vault root
- Wikilink updates: The
move command automatically updates [[note]], [[note|display]], and [[note#heading]] links
- Case sensitivity: Search is case-insensitive with
-i flag
- Hidden files: Operations skip hidden directories (starting with
.)
- Large files: Files over 10MB are skipped during search operations
- No trash: Delete is permanent; there's no recycle bin
Error Handling
Common errors and solutions:
| Error | Cause | Solution |
|---|
Cannot find vault config | No default vault set | Run obsidian-cli set-default "vault-name" |
Vault not found in Obsidian config | Vault name doesn't match | Check vault name in Obsidian app settings |
Cannot find note in vault | Note doesn't exist | Verify note name/path with search |
Converted and distributed by TomeVault — claim your Tome and manage your conversions.