Obsidian CLI Workspace and Navigation
Use this skill for Obsidian workspace and navigation operations through official desktop obsidian CLI commands.
Routing contract
Use this skill when:
- the user asks about vault metadata or vault listing
- the user asks to inspect or change workspace layout state
- the user asks about tabs, recent files, or opening views/files for navigation
- the user asks for random/unique note navigation helpers
- the user asks to open a URL in Obsidian web viewer
- the user asks for word/character counts
Do not use this skill when:
- the request is primarily note CRUD, tasks, properties, templates, links, or history/diff
- the request is plugin/theme/snippet administration
- the request is Sync or Publish management
- the request is explicitly a named one-command workflow ID (route to
obsidian-cli-workflows) - the request is runtime diagnostics, DOM/CSS inspection, screenshot capture, eval, or CDP
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 workspace/navigation CLI commands.
- Prefer read-only inspection first for mixed flows:
vault,vaults,workspace,workspaces,tabs,recents,wordcount. - Treat workspace layout mutations as high-impact operations (
workspace:save,workspace:load,workspace:delete). - For
tab:openandopen, require explicit target intent when both file and view options are plausible. vault:openis not currently treated as part of this skill's owned command set in this plugin release.- For
web url=..., require explicit URL target and avoid silent URL construction. - Summarize side effects before mutating workspace state.
- If a request is outside official workspace/navigation surface, say so and stop.
Risk levels
- low:
vault,vaults,workspace,workspaces,tabs,recents,random,random:read,wordcount - medium:
open,tab:open,unique,web - high:
workspace:save,workspace:load,workspace:delete
Response contract
Always return:
- capability used
- risk level (
low,medium,high) - execution mode (
directorescalated) - exact command(s) run or proposed
- side-effect summary (for workspace mutations)
- files/views/workspaces affected, if any
- blocking reason, if any
Command families
Vault:
vaultvaults
Workspace and tabs:
workspaceworkspacesworkspace:saveworkspace:loadworkspace:deletetabstab:openrecents
Navigation and utility:
openrandomrandom:readuniquewebwordcount
References
references/obsidian-cli-workspace-navigation-playbook.mdreferences/limitations-and-boundaries.mdreferences/validation.mdreferences/source-links.md