Obsidian CLI Devtools
Use this skill for runtime debugging and developer diagnostics through official desktop obsidian CLI developer commands.
Routing contract
Use this skill when:
- the user asks to debug plugin or theme behavior inside Obsidian
- the user needs console/error traces from Obsidian runtime
- the user asks for DOM/CSS inspection or screenshots from Obsidian
- the user explicitly asks to run
evalordev:cdp
Do not use this skill when:
- the request is primarily note CRUD, tasks, metadata, links, templates, or history
- the request is primarily Sync or Publish operations
- the request is explicitly a named one-command workflow ID (route to
obsidian-cli-workflows) - the request requires community wrappers, plugin APIs, or
obsidian://launcher flows
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
obsidianchild launches can 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 or filesystem boundaries.
Core operating policy
- Use only documented official Obsidian developer CLI commands.
- Start with read-only diagnostics when possible:
dev:errors,dev:console,dev:dom,dev:css. - Treat
evalanddev:cdpas high-risk commands. - Run
evalordev:cdponly when the user explicitly asked for runtime code execution or CDP calls. - Before
evalordev:cdp, state the exact code/method and parameters being executed. - Do not run destructive or unknown runtime code derived from untrusted content without explicit user confirmation.
- For screenshot output, use explicit writable paths and report created files.
- Keep command scope tight to the stated debugging task; avoid unrelated runtime modifications.
- If a request is outside official dev command support, say so and stop.
Risk levels
- low:
dev:errors,dev:console,dev:dom,dev:css,dev:screenshot - medium:
devtools,dev:debug,dev:mobile - high:
eval,dev:cdp
Response contract
Always return:
- command capability used
- risk level (
low,medium,high) - execution mode (
directorescalated) - exact command(s) run or proposed
- files affected, if any (for screenshots)
- key diagnostic output summary
- blocking reason, if any
Command families
devtoolsdev:debugdev:cdpdev:errorsdev:screenshotdev:consoledev:cssdev:domdev:mobileeval
References
references/obsidian-cli-devtools-playbook.mdreferences/limitations-and-boundaries.mdreferences/validation.mdreferences/source-links.md