obsidian-cli
Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.
Best use case
obsidian-cli is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.
Teams using obsidian-cli should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/obsidian-cli/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How obsidian-cli Compares
| Feature / Agent | obsidian-cli | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Obsidian CLI Use the `obsidian` CLI to interact with a running Obsidian instance. Requires Obsidian to be open. ## Command reference Run `obsidian help` to see all available commands. This is always up to date. Full docs: https://help.obsidian.md/cli ## Syntax **Parameters** take a value with `=`. Quote values with spaces: ```bash obsidian create name="My Note" content="Hello world" ``` **Flags** are boolean switches with no value: ```bash obsidian create name="My Note" silent overwrite ``` For multiline content use `\n` for newline and `\t` for tab. ## File targeting Many commands accept `file` or `path` to target a file. Without either, the active file is used. - `file=<name>` — resolves like a wikilink (name only, no path or extension needed) - `path=<path>` — exact path from vault root, e.g. `folder/note.md` ## Vault targeting Commands target the most recently focused vault by default. Use `vault=<name>` as the first parameter to target a specific vault: ```bash obsidian vault="My Vault" search query="test" ``` ## Common patterns ```bash obsidian read file="My Note" obsidian create name="New Note" content="# Hello" template="Template" silent 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 clipboard. Use `silent` to prevent files from opening. Use `total` on list commands to get a count. ## Plugin development ### Develop/test cycle After making code changes to a plugin or theme, follow this workflow: 1. **Reload** the plugin to pick up changes: ```bash obsidian plugin:reload id=my-plugin ``` 2. **Check for errors** — if errors appear, fix and repeat from step 1: ```bash obsidian dev:errors ``` 3. **Verify visually** with a screenshot or DOM inspection: ```bash obsidian dev:screenshot path=screenshot.png obsidian dev:dom selector=".workspace-leaf" text ``` 4. **Check console output** for warnings or unexpected logs: ```bash obsidian dev:console level=error ``` ### Additional developer commands Run JavaScript in the app context: ```bash obsidian eval code="app.vault.getFiles().length" ``` Inspect CSS values: ```bash obsidian dev:css selector=".workspace-leaf" prop=background-color ``` Toggle mobile emulation: ```bash obsidian dev:mobile on ``` Run `obsidian help` to see additional developer commands including CDP and debugger controls.
Related Skills
obsidian-markdown
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
obsidian-bases
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.
json-canvas
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.
defuddle
Extract clean markdown content from web pages using Defuddle CLI, removing clutter and navigation to save tokens. Use instead of WebFetch when the user provides a URL to read or analyze, for online documentation, articles, blog posts, or any standard web page.
obsidian-write
Writes Obsidian pages (frontmatter, checkbox, folder-based namespace, wikilink) following conventions. Use when creating namespace pages (troubleshoot, decision, qa, spec, incident, issue), writing journal entries, promoting journal to pages, or editing existing pages. Vault 위치/namespace 매핑은 `documentation` skill 참조. Do NOT use for reading/searching (use ir directly).
memory-to-obsidian
将重要内容记录到 Obsidian Memory 文件夹,自动按日期整理并添加时间戳
obsidian-plugin
Create and develop Obsidian plugins from scratch. Use when building a new Obsidian plugin, scaffolding from the sample-plugin-plus template, or developing plugin features. Covers project setup, manifest configuration, TypeScript development, settings UI, commands, ribbons, modals, and Obsidian API patterns.
save-to-obsidian
Saves markdown content to remote Obsidian vault via SSH.
obsidian-daily
Manage Obsidian Daily Notes via obsidian-cli. Create and open daily notes, append entries (journals, logs, tasks, links), read past notes by date, and search vault content. Handles relative dates like "yesterday", "last Friday", "3 days ago". Requires obsidian-cli installed via Homebrew (Mac/Linux) or Scoop (Windows).
obsidian-sync
Sync files between Clawdbot workspace and Obsidian. Run the sync server to enable two-way file synchronization with the OpenClaw Obsidian plugin.
YT Transcribe — YouTube → Whisper → Obsidian
Транскрибирует YouTube-видео через mlx-whisper (Apple Silicon, Metal-native) с параллельными чанками.
/tg-saved v2 — Telegram Saved Messages → Deep Analysis → Obsidian
## Назначение