| name | obsidian-cli-bases-and-bookmarks |
| description | Use this skill when the user needs official desktop Obsidian CLI Bases or Bookmarks workflows, including base discovery, view/query operations, base item creation, and bookmark management. Keep this skill separate from general note CRUD, runtime admin, Sync/Publish, and devtools diagnostics. |
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
.base files
- 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:
obsidian command 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:create as a mutating operation and summarize created-file side effects before executing.
- For
bookmark, require explicit target type (file, folder, search, or url) 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 (
direct or escalated)
- 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:
bases
base:views
base:query
base:create
Bookmarks:
References
references/obsidian-cli-bases-bookmarks-playbook.md
references/limitations-and-boundaries.md
references/validation.md
references/source-links.md