From technical-writer
Manages Obsidian vaults using obsidian-cli: creates daily notes, moves/renames notes preserving [[wiki-links]], searches content, organizes notes with templates.
How this skill is triggered — by the user, by Claude, or both
Slash command
/technical-writer:obsidian-vault-managerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Before performing vault operations:
Before performing vault operations:
Verify obsidian-cli is installed:
obsidian-cli --version
If obsidian-cli is unavailable:
npm install -g @johnlindquist/obsidian-cli[[wiki-links]]Verify vault is accessible:
obsidian-cli print-default
Use obsidian-cli for all Obsidian vault operations. Standard file tools (mv, Write, Edit) break internal links and ignore vault structure. The obsidian-cli tool automatically preserves [[wiki-links]] and maintains vault integrity.
This skill activates when:
.md files with [[wiki-links]])Don't use for:
| Task | Command | Notes |
|---|---|---|
| Check vault | obsidian-cli print-default | Always run first |
| Read note | obsidian-cli print "Note Name" | Reads by name or path |
| Create note | obsidian-cli create "Name" --content "text" | Add --open to launch Obsidian |
| Update note | obsidian-cli create "Name" --content "text" --append | Use --overwrite to replace |
| Move note | obsidian-cli move "old/path" "new/path" | Auto-updates all links |
| Search content | obsidian-cli search-content "term" | Searches note contents |
| Search names | obsidian-cli search | Fuzzy search (interactive) |
| Daily note | obsidian-cli daily | Create/open today's note |
See also:
# REQUIRED before any operation
obsidian-cli print-default
# Get path for direct file operations if needed
VAULT_PATH=$(obsidian-cli print-default --path-only)
Why: Paths are vault-relative, not repository-relative. Creating files in wrong location breaks vault structure.
If obsidian-cli is not installed: Warn the user that move/rename operations will break wiki-links. Offer to install (npm install -g @johnlindquist/obsidian-cli). Read and search operations are safe with standard tools.
# ✅ CORRECT: Auto-updates all links
obsidian-cli move "Random Notes/Design" "Projects/Design"
# ❌ WRONG: Breaks all links to this note
mv "vault/Random Notes/Design.md" "vault/Projects/Design.md"
Critical: obsidian-cli move updates every link in the vault automatically. Using mv or file operations breaks internal references.
# Create new note
obsidian-cli create "Projects/Mobile App" --content "# Mobile App\n\n## Tasks\n- [ ] Task 1"
# Append to existing (safe if file exists)
obsidian-cli create "Daily Log" --content "\n## Update\n- New entry" --append
# Replace existing (use cautiously)
obsidian-cli create "Draft" --content "# Fresh content" --overwrite
Obsidian syntax in --content:
[[Note Name]]#project- [ ] Task\nTemplates: Use provided note templates as starting points for common note types (daily notes, projects, meetings).
# Find notes mentioning topic
obsidian-cli search-content "API design"
# Read found note
obsidian-cli print "Backend/API Design"
# Reorganize (preserves all links)
obsidian-cli move "Backend/API Design" "Projects/Backend/API Design"
| Mistake | Why Wrong | Fix |
|---|---|---|
Using mv to move notes | Breaks all [[wiki-links]] to that note | Use obsidian-cli move |
Using Write tool for notes | Creates files outside vault or wrong location | Use obsidian-cli create --content |
Using Read for vault notes | Misses vault context, no search integration | Use obsidian-cli print |
| Not checking vault first | Operations fail or create files in wrong place | Always run print-default first |
| Manual link updating with sed | Error-prone, misses bidirectional links | obsidian-cli move handles automatically |
| Using absolute paths | Breaks when vault moves | Use vault-relative paths |
Use obsidian-cli first. Only use standard tools when:
Edit after obsidian-cli print)Grep with vault path)Glob on $VAULT_PATH/**/*.md)Always preserve:
---)[[Note]]#tag-name# 1. Check vault
obsidian-cli print-default
# 2. Use obsidian-cli for vault operations
obsidian-cli search-content "search term"
obsidian-cli print "Found Note"
# 3. Use standard tools ONLY when needed
# (e.g., complex editing after reading with obsidian-cli)
Vault operations succeed when:
[[wiki-links]] remain valid after movesnpx claudepluginhub sjungling/sjungling-claude-plugins --plugin technical-writerManages Obsidian vaults: search, create, edit, move Markdown notes; handle YAML frontmatter, wikilinks, backlinks, daily notes, Zettelkasten setup, and sync via obsidian-cli.
Integrates with Obsidian vault via official CLI for capturing dev artifacts, searching notes, appending to daily notes, and managing tasks. Requires Obsidian desktop app running with CLI enabled.
Runs Obsidian CLI commands for vault ops: search, backlinks, tags, tasks, properties, daily notes, file read/write/create/move. Use for indexed features; fallback to file tools otherwise.