| name | obsidian |
| description | Read, search, create, and organize notes across multiple Obsidian vaults. Supports smart vault/folder resolution from natural commands. Shorthand trigger: "obi" — treating any mention of "obi" the same as "obsidian". Use when user wants to save/create notes, organize by category/folder, manage vaults, or references any Obsidian-related action. Triggers on: "obsidian", "obi", "catatan", "notes", "save ke vault", "masukin ke obsidian", "buat notes", vault paths, or any note creation request.
|
| version | 2.0.0 |
Obsidian Multi-Vault Management
Create, read, search, and organize notes across any Obsidian vault on the Mac. Default vault base path: ~/Documents/Obsidian/
Vault Structure
~/Documents/Obsidian/
├── CPNS-2026/ # CPNS exam prep (structured subfolders)
├── Work/ # Work notes, meetings, projects
├── Personal/ # Personal notes, ideas, journal
├── Projects/ # Code projects, dev logs
└── Archive/ # Old/archived notes
If a vault folder doesn't exist, create it automatically.
Smart Path Resolution
Parse user commands to determine vault → folder → filename:
| User says | Resolves to |
|---|
| "obi, catat email gw adityahimaone@gmail ke work → dummy email" | Work/work/dummy-email.md |
| "obi, save meeting notes project catalyst ke work → projects → catalyst" | Work/projects/catalyst/meeting-notes.md |
| "catat ini: gw punya 2 server" | Personal/notes.md (default) |
| "masukin ini ke CPNS" | CPNS-2026/ (uses existing CPNS vault) |
| "obi, buat notes tentang React" | Personal/react.md |
| "save ke personal → ideas → startup ideas" | Personal/ideas/startup-ideas.md |
Rules:
- First keyword after "ke/kepada/into" → vault name
→ or ke after vault → subfolder(s)
- Last meaningful phrase → note title (convert to kebab-case filename)
- Default vault: Personal if none specified
- Default folder: vault root if none specified
File Naming
- Use kebab-case for filenames:
meeting-notes-2026-04-07.md
- Use spaces in titles/frontmatter:
Meeting Notes 2026-04-07
- If filename exists, append
-2, -3, etc.
Note Template
---
type: general
tags: [tag1, tag2]
created: YYYY-MM-DD
updated: YYYY-MM-DD
vault: {{vault-name}}
---
# {{Title}}
{{Content}}
## Notes
## Links
- [[Related Note]]
Quick Commands
Create
mkdir -p "$path"
cat > "$file" << 'EOF'
---
type: general
tags: [...]
created: YYYY-MM-DD
---
Content
EOF
Search
find ~/Documents/Obsidian -name "*.md" -type f | xargs grep -li "keyword"
grep -rli "keyword" ~/Documents/Obsidian/Work/ --include="*.md"
find ~/Documents/Obsidian -iname "*keyword*.md"
List
ls -d ~/Documents/Obsidian/*/
find ~/Documents/Obsidian/Work -name "*.md" -type f | sort
find ~/Documents/Obsidian/Work -type f -name "*.md" | sed 's|/Users/adityahimawan/Documents/Obsidian/Work/||' | sort
Move/Rename
mv "source" "destination"
Delete
rm "path/to/note.md"
Obsidian Syntax Support
- Wikilinks:
[[Note Name]]
- Frontmatter: YAML between
--- markers
- Callouts:
> [!info], > [!warning], > [!todo]
- Tasks:
- [ ], - [x]
- Code blocks: Triple backticks with language
- Tables: Markdown tables
Pitfalls
- Filename conflicts: Append
-2, -3 or ask user
- Special chars: Sanitize filenames (space→hyphen, remove symbols)
- Vault not opened in Obsidian: User may need "Open folder as vault" in app
- Syncthing conflicts: Mention
.sync-conflict files if synced on Android
- Auto-create folders: Always
mkdir -p before writing
- Always confirm: Show user the file path and a preview before declaring done