skills/obsidian/SKILL.md
Obsidian vault: search/read/write notes, backlinks, Bases, Canvas.
npx skillsauth add steipete/agent-scripts obsidianInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this for local Obsidian vault work. An Obsidian vault is a normal folder of Markdown files plus .obsidian/ config.
~/Library/Application Support/obsidian/obsidian.jsonobsidian~/obsidianobsidian~/obsidian.command -v obsidian
obsidian version
obsidian vaults
cd ~/obsidian
obsidian commands filter=search:
Global commands like version and vaults work outside a vault. Vault-content
commands may print Vault not found. outside ~/obsidian. Use obsidian commands, not obsidian help, for CLI discovery.
If obsidian says CLI is disabled:
~/Library/Application Support/obsidian/obsidian.json uses "cli": true.Prefer official CLI for Obsidian-aware lookups:
cd ~/obsidian
obsidian search query="OpenClaw" format=json
obsidian search:context query="OpenClaw" limit=20 format=json
obsidian read path="Folder/Note.md"
obsidian file path="Folder/Note.md"
obsidian outline path="Folder/Note.md" format=json
obsidian backlinks path="Folder/Note.md" format=json
obsidian links path="Folder/Note.md"
obsidian properties path="Folder/Note.md" format=json
Use direct filesystem reads when you already know the path and need exact bytes:
sed -n '1,220p' "$HOME/obsidian/Folder/Note.md"
rg -n "term" "$HOME/obsidian"
Report which source you used when freshness or vault choice matters.
Choose the narrowest write path:
obsidian create path="Folder/Note.md" content="...".obsidian daily:append content="...".apply_patch on the Markdown file.obsidian move path="Old.md" to="Folder/New.md" so links can update.open only when useful or requested.Common commands:
cd ~/obsidian
obsidian create path="Notes/New.md" content="# New\n\nBody"
obsidian append path="Notes/New.md" content="More text"
obsidian move path="Notes/New.md" to="Archive/New.md"
obsidian daily:path
obsidian daily:read
obsidian daily:append content="- Follow-up item"
For multi-line content, prefer editing the .md file with apply_patch once the path is known. Avoid fragile shell quoting for long prose.
Use CLI discovery first:
cd ~/obsidian
obsidian bases
obsidian base:views path="Projects.base"
obsidian base:query path="Projects.base" view="Active" format=json
obsidian plugins format=json
obsidian plugins:enabled format=json
obsidian commands filter=workspace:
For .canvas, .base, and .json files, read/edit as structured data when possible. Keep formatting stable and validate JSON after edits.
.obsidian/ unless the user asks or the task is explicitly settings/plugin work.obsidian vaults and obsidian.json.testing
Orchestrate delegated maintainer work across Peter-majority repositories: prepare decision-ready PRs, monitor workers, clear queues, and release.
tools
macOS app release: Sparkle, notarization, GitHub Release, Homebrew, closeout.
tools
Existing Chrome automation: Chrome plugin first, mcporter fallback.
testing
Use whenever the user types triage or asks to triage GitHub issues, PRs, queues, CI, blockers, risk, proof, or next actions.