Obsidian CLI Runtime Admin
Use this skill for Obsidian runtime administration through official desktop obsidian CLI commands.
Routing contract
Use this skill when:
- the user asks to inspect or change plugin state
- the user asks to inspect or change themes or CSS snippets
- the user asks about restricted mode
- the user asks to list command IDs or hotkeys
- the user asks to execute a specific Obsidian command ID
Do not use this skill when:
- the request is primarily note edits, links, tasks, properties, templates, or history
- the request is primarily Sync/Publish operations
- the request is explicitly a named one-command workflow ID (route to
obsidian-cli-workflows)
- the request is runtime debugging, DOM/CSS inspection, or screenshot/eval diagnostics
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 runtime-admin CLI commands.
- Prefer read-only inventory first for mixed flows:
plugins, plugins:enabled, themes, snippets, commands, hotkeys.
- Treat runtime mutation commands as high impact.
- For
command id=<...>, require explicit command ID and do not guess silently.
- Before mutating runtime state, summarize exact side effects and scope.
- If command ID, plugin ID, theme name, or snippet name is ambiguous, stop and ask for disambiguation.
- Do not use this skill as a backdoor to broad opaque behavior; keep execution tied to explicit user request.
- If a request is outside official runtime-admin support, say so and stop.
Risk levels
- low:
plugins, plugins:enabled, plugin, themes, theme, snippets, snippets:enabled, commands, hotkeys, hotkey
- medium:
plugins:restrict, command
- high:
plugin:install, plugin:uninstall, plugin:enable, plugin:disable, theme:install, theme:uninstall, theme:set, snippet:enable, snippet:disable
Response contract
Always return:
- capability used
- risk level (
low, medium, high)
- execution mode (
direct or escalated)
- exact command(s) run or proposed
- runtime side-effect summary (if any)
- changed runtime entities (plugin/theme/snippet/command), if any
- blocking reason, if any
Command families
Plugins:
plugins
plugins:enabled
plugins:restrict
plugin
plugin:enable
plugin:disable
plugin:install
plugin:uninstall
plugin:reload
Themes/snippets:
themes
theme
theme:set
theme:install
theme:uninstall
snippets
snippets:enabled
snippet:enable
snippet:disable
Command palette:
commands
command
hotkeys
hotkey
References
references/obsidian-cli-runtime-admin-playbook.md
references/limitations-and-boundaries.md
references/validation.md
references/source-links.md
Source: hashgraph-online/awesome-codex-plugins → plugins/greg-asher/codex-obsidian/skills/obsidian-cli-runtime-admin/SKILL.md
1---2name: obsidian-cli-runtime-admin3description: Use this skill when the user needs Obsidian runtime administration through official desktop CLI commands for plugins, restricted mode, themes, CSS snippets, command catalog/hotkeys, or targeted command execution. Keep this skill separate from note CRUD, Sync/Publish, and devtools diagnostics.4---5
6
7# Obsidian CLI Runtime Admin
8
9Use this skill for Obsidian runtime administration through official desktop `obsidian` CLI commands.
10
11## Routing contract
12
13Use this skill when:
14- the user asks to inspect or change plugin state
15- the user asks to inspect or change themes or CSS snippets
16- the user asks about restricted mode
17- the user asks to list command IDs or hotkeys
18- the user asks to execute a specific Obsidian command ID
19
20Do not use this skill when:
21- the request is primarily note edits, links, tasks, properties, templates, or history
22- the request is primarily Sync/Publish operations
23- the request is explicitly a named one-command workflow ID (route to `obsidian-cli-workflows`)
24- the request is runtime debugging, DOM/CSS inspection, or screenshot/eval diagnostics
25
26## Preconditions
27
28Assume these must be true before relying on this skill:
29- `obsidian` command is installed and registered
30- Obsidian desktop app is available locally
31- first command may launch Obsidian if it is not running
32- in Codex Desktop on macOS, direct launches may crash; use the sanitized wrapper
33
34## Codex-safe launcher
35
36In Codex Desktop on macOS, prefer this wrapper:
37
38```bash
39script -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 ...'
40```
41
42Escalate the wrapped command only when required by sandbox boundaries.
43
44## Core operating policy
45
461. Use only documented official runtime-admin CLI commands.
472. Prefer read-only inventory first for mixed flows: `plugins`, `plugins:enabled`, `themes`, `snippets`, `commands`, `hotkeys`.
483. Treat runtime mutation commands as high impact.
494. For `command id=<...>`, require explicit command ID and do not guess silently.
505. Before mutating runtime state, summarize exact side effects and scope.
516. If command ID, plugin ID, theme name, or snippet name is ambiguous, stop and ask for disambiguation.
527. Do not use this skill as a backdoor to broad opaque behavior; keep execution tied to explicit user request.
538. If a request is outside official runtime-admin support, say so and stop.
54
55## Risk levels
56
57- low: `plugins`, `plugins:enabled`, `plugin`, `themes`, `theme`, `snippets`, `snippets:enabled`, `commands`, `hotkeys`, `hotkey`
58- medium: `plugins:restrict`, `command`
59- high: `plugin:install`, `plugin:uninstall`, `plugin:enable`, `plugin:disable`, `theme:install`, `theme:uninstall`, `theme:set`, `snippet:enable`, `snippet:disable`
60
61## Response contract
62
63Always return:
64- capability used
65- risk level (`low`, `medium`, `high`)
66- execution mode (`direct` or `escalated`)
67- exact command(s) run or proposed
68- runtime side-effect summary (if any)
69- changed runtime entities (plugin/theme/snippet/command), if any
70- blocking reason, if any
71
72## Command families
73
74Plugins:
75- `plugins`
76- `plugins:enabled`
77- `plugins:restrict`
78- `plugin`
79- `plugin:enable`
80- `plugin:disable`
81- `plugin:install`
82- `plugin:uninstall`
83- `plugin:reload`
84
85Themes/snippets:
86- `themes`
87- `theme`
88- `theme:set`
89- `theme:install`
90- `theme:uninstall`
91- `snippets`
92- `snippets:enabled`
93- `snippet:enable`
94- `snippet:disable`
95
96Command palette:
97- `commands`
98- `command`
99- `hotkeys`
100- `hotkey`
101
102## References
103
104- `references/obsidian-cli-runtime-admin-playbook.md`
105- `references/limitations-and-boundaries.md`
106- `references/validation.md`
107- `references/source-links.md`
108
109---
110
111**Source:** [`hashgraph-online/awesome-codex-plugins`](https://github.com/hashgraph-online/awesome-codex-plugins) → `plugins/greg-asher/codex-obsidian/skills/obsidian-cli-runtime-admin/SKILL.md`