원클릭으로
obsidian-cli
Drive the live Obsidian app from the command line.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Drive the live Obsidian app from the command line.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Plan safe harness customization only.
Orient static defending-code review work.
Build a static security threat model.
Draft inert patches for verified findings.
Run static repo-read vulnerability review.
Triages static security findings.
| name | obsidian-cli |
| description | Drive the live Obsidian app from the command line. |
| platforms | ["linux","macos","windows"] |
| version | 1.1.0 |
| author | Harish Kukreja (counterposition), Hermes Agent (adapted from Steph Ango's official Obsidian skills) |
| license | MIT |
| metadata | {"hermes":{"tags":["obsidian","cli","plugin-development","theme-development","note-taking"],"related_skills":["obsidian","obsidian-markdown","obsidian-bases","json-canvas"]}} |
| prerequisites | {"commands":["obsidian"]} |
Operate a live Obsidian instance through its official obsidian CLI: note
operations, search, tasks, properties, and a plugin/theme development loop
with reload, error capture, screenshots, and DOM inspection. Adapted from
Steph Ango's MIT-licensed official Obsidian skills.
Route elsewhere when the app is not required: generic vault filesystem work
→ obsidian; .md authoring semantics → obsidian-markdown; .base
files → obsidian-bases; .canvas files → json-canvas.
obsidian CLI installed and on PATH
(install docs)Run obsidian <command> via the terminal tool. obsidian help lists
every command and is always up to date; full docs live at
https://help.obsidian.md/cli.
Syntax rules:
key=value; quote values with spaces:
obsidian create name="My Note" content="Hello world"obsidian create name="My Note" overwrite\n and \t escapes for multiline contentfile=<name> resolves like a wikilink (no path or
extension needed); path=<path> is exact from the vault root. Without
either, the active file is used.vault=<name> or vault=<id> as the
first parameter pins a vault; otherwise, if the terminal's working
directory is inside a vault, that vault is used; otherwise the currently
active vault.obsidian read file="My Note"
obsidian create name="New Note" content="# Hello" template="Template"
obsidian append file="My Note" content="New line"
obsidian search query="search term" limit=10
obsidian daily:read
obsidian daily:append content="- [ ] New task"
obsidian property:set name="status" value="done" file="My Note"
obsidian tasks daily todo
obsidian tags sort=count counts
obsidian backlinks file="My Note"
Use --copy on any command to copy output to the clipboard, the open
flag where supported to open the affected file in Obsidian (files are not
opened by default), and total on list commands to get a count.
Plugin/theme develop-test cycle — after each code change:
obsidian plugin:reload id=my-pluginobsidian dev:errorsobsidian dev:screenshot path=screenshot.png or
obsidian dev:dom selector=".workspace-leaf" textobsidian dev:console level=errorAdditional developer commands:
obsidian eval code="app.vault.getFiles().length" # run JS in app
obsidian dev:css selector=".workspace-leaf" prop=background-color
obsidian dev:mobile on # mobile emulation
obsidian help lists further developer commands, including CDP and
debugger controls.
vault=, the vault is inferred from the
working directory or falls back to the active vault — pin it explicitly
in scripts.file= resolves wikilink-style and may match an unexpected note; use
path= when exactness matters.read_file, write_file, patch) for bulk
file edits — the CLI is for app-side state (open notes, live search,
plugin reloads), not mass file rewriting.Check the command's stdout and exit code in terminal. For state-changing
operations, confirm the result: re-read the note (obsidian read or
read_file), or take a screenshot with obsidian dev:screenshot for
UI-facing changes. For plugin work, obsidian dev:errors must come back
clean after a reload.