obsidian-plugin/skills/command-palette/SKILL.md
Run, list, and inspect Obsidian commands and hotkeys from the CLI. Use when triggering a command, enumerating commands, or checking hotkey bindings.
npx skillsauth add laurigates/claude-plugins command-paletteInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Use this skill when... | Use the alternative instead when... |
|---|---|
| Triggering a command the user would normally pick from the command palette (Ctrl/Cmd+P) | Running JavaScript via the developer API — use dev-tools |
| Discovering what commands a plugin registers | Enabling/disabling a plugin entirely — use plugins-themes |
| Looking up which hotkey is bound to a command | Setting up a workspace — use workspaces |
The command palette is Obsidian's universal action surface — every built-in operation and every command registered by a plugin appears here. The CLI exposes the same surface, which is the leverage point for automation: any plugin command becomes scriptable without writing JavaScript.
# All available command IDs
obsidian commands
# Filter by ID prefix (e.g. only Templater commands)
obsidian commands filter=templater
# Filter to a built-in family
obsidian commands filter=editor
obsidian commands filter=workspace
Command IDs follow the pluginid:action convention — e.g.
editor:toggle-bold, workspace:split-vertical, dataview:dataview-rebuild-current-view.
# Run a built-in command
obsidian command id=editor:toggle-bold
# Run a plugin-registered command
obsidian command id=templater-obsidian:insert-templater
obsidian command id=dataview:dataview-rebuild-current-view
# Open the command palette itself
obsidian command id=command-palette:open
command always operates against the active editor / active file — there
is no file= parameter. To run a command against a specific note, open
the note first (obsidian open file=Foo), then run command.
# All bound hotkeys
obsidian hotkeys
# Mark which entries are user-customised vs default
obsidian hotkeys verbose
# Count of bound hotkeys
obsidian hotkeys total
# Lookup the hotkey for one command
obsidian hotkey id=editor:toggle-bold
obsidian hotkey id=editor:toggle-bold verbose
obsidian open file="Notes/Today"
obsidian command id=templater-obsidian:replace-in-file-templater
obsidian commands filter=dataview
obsidian hotkeys format=json | jq '[.[] | select(.hotkey == "Ctrl+Shift+P")]'
(Requires the user's installed jq; the CLI itself does not pipe.)
| Context | Command |
|---------|---------|
| List all commands | obsidian commands |
| Filter commands by prefix | obsidian commands filter=PREFIX |
| Run a command | obsidian command id=PLUGIN:ACTION |
| List hotkeys (structured) | obsidian hotkeys format=json |
| Lookup one hotkey | obsidian hotkey id=PLUGIN:ACTION |
| Show user-customised hotkeys | obsidian hotkeys verbose |
tools
Scaffold a new ComfyUI custom-node repo (pyproject, CI, release-please, vitest+pytest, JS extension skeleton) in the picker/gesture vein. Use when bootstrapping or init-ing a comfyui node pack.
tools
Orchestrate a ComfyUI node pack from idea to registry: scaffold, create + seed the repo, open the gitops adoption PR. Use when releasing or spinning up a new comfyui node pack.
testing
macOS EndpointSecurity/EDR high CPU & battery drain. Use when Kandji ESF / XProtect pegs a core; trace the exec storm via powermetrics + eslogger.
development
odiff pixel-by-pixel image diffing. Use when comparing screenshots, detecting visual regressions, diffing before/after PNGs, asserting golden images.