Obsidian CLI Bases and Bookmarks
Use this skill for Obsidian Bases and Bookmarks operations through official desktop obsidian CLI commands.
Routing contract
Use this skill when:
- the user asks to inspect or query
.basefiles - the user asks to list base views or query base results in structured formats
- the user asks to create an item through a base view
- the user asks to list or add bookmarks
Do not use this skill when:
- the request is primarily note CRUD, tasks, templates, link cleanup, or history/diff workflows
- the request is plugin/theme/snippet runtime administration
- the request is Sync/Publish operations
- the request is explicitly a named one-command workflow ID (route to
obsidian-cli-workflows) - the request is runtime diagnostics/eval/CDP workflows
Preconditions
Assume these must be true before relying on this skill:
obsidiancommand is installed and registered- Obsidian desktop app is available locally
- first command may launch Obsidian if it is not running
- in Codex Desktop on macOS, direct launches may crash; use the sanitized wrapper
Codex-safe launcher
In Codex Desktop on macOS, prefer this wrapper:
script -q /dev/null /usr/local/bin/zsh -ilc 'unset __CFBundleIdentifier LaunchInstanceID XPC_SERVICE_NAME CODEX_CI CODEX_SANDBOX CODEX_SHELL; export TERM=xterm-256color; obsidian ...'
Escalate the wrapped command only when required by sandbox boundaries.
Core operating policy
- Use only documented official Bases and Bookmarks CLI commands.
- Prefer read-only discovery first for mixed flows:
bases,base:views,base:query,bookmarks. - Use structured output (
json,csv,tsv,md,paths) whenever supported and useful. - Treat
base:createas a mutating operation and summarize created-file side effects before executing. - For
bookmark, require explicit target type (file,folder,search, orurl) and avoid silent assumptions. - If base file/path, view name, or bookmark target is ambiguous, stop and ask for disambiguation.
- Keep scope narrow to requested base/bookmark workflow; do not drift into unrelated note-wide edits.
- If request is outside official Bases/Bookmarks surface, say so and stop.
Risk levels
- low:
bases,base:views,base:query,bookmarks - medium:
bookmark - high:
base:create
Response contract
Always return:
- capability used
- risk level (
low,medium,high) - execution mode (
directorescalated) - exact command(s) run or proposed
- output format used (if structured)
- side-effect summary (for mutating actions)
- files/bookmarks affected, if any
- blocking reason, if any
Command families
Bases:
basesbase:viewsbase:querybase:create
Bookmarks:
bookmarksbookmark
References
references/obsidian-cli-bases-bookmarks-playbook.mdreferences/limitations-and-boundaries.mdreferences/validation.mdreferences/source-links.md