/obsidian
Work with Obsidian vaults using the official obsidian CLI: read/search/create/edit notes, tasks, links, properties, plugins.
Claude Code
$ npx -y skills add openclaw/openclaw --skill obsidian --agent claude-code
Codex
$ npx skills add openclaw/openclaw --skill obsidian -a codex -y
Cursor
$ npx skills add openclaw/openclaw --skill obsidian -a cursor -y
Gemini CLI
$ npx skills add openclaw/openclaw --skill obsidian -a gemini-cli -y
GitHub Copilot
$ npx skills add openclaw/openclaw --skill obsidian -a github-copilot -y
OpenCode
$ npx skills add openclaw/openclaw --skill obsidian -a opencode -y
Windsurf
$ npx skills add openclaw/openclaw --skill obsidian -a windsurf -y
SKILL.md
obsidian.SKILL.mdname: obsidian
description: "Work with Obsidian vaults using the official obsidian CLI: read/search/create/edit notes, tasks, links, properties, plugins."
homepage: https://obsidian.md/cli
metadata: { "openclaw": { "emoji": "💎", "requires": { "bins": ["obsidian"] } } }Obsidian
Use the official `obsidian` CLI for Obsidian vault work. Vault files are plain Markdown, so direct file edits are still fine when safer/faster.
Requirements
- Obsidian 1.12.7+ installed.
- Settings -> General -> Command line interface enabled.
- `obsidian` registered on PATH.
- Obsidian app running; the CLI connects to the running app.
Check:
obsidian version
obsidian help
macOS registration creates `/usr/local/bin/obsidian` pointing at the app-bundled CLI. Linux registration copies the binary to `~/.local/bin/obsidian`.
Vault model
- Notes: `*.md`.
- Config: `.obsidian/`; avoid editing unless asked.
- Canvases: `*.canvas` JSON.
- Attachments: vault-configured folder.
- Multiple vaults are common; pass `vault="<name>"` when ambiguous.
Obsidian desktop tracks vaults here:
- `~/Library/Application Support/obsidian/obsidian.json`
Command pattern
obsidian <command> [name=value] [flag]
obsidian vault="Notes" search query="meeting notes" format=json
Parameter values with spaces need quotes. Add `--copy` to copy output where useful.
Common commands
Open/read:
obsidian open file=Recipe
obsidian open path="Inbox/Idea.md" newtab
obsidian read
obsidian read file=Recipe
Search:
obsidian search query="TODO" matches
obsidian search query="status::active" format=json
obsidian search:open query="project notes"
Create/modify:
obsidian create name="New Note"
obsidian create path="Inbox/Idea.md" content="# Idea"
obsidian append file=Note content="New line"
obsidian prepend file=Note content="After frontmatter"
Move/delete:
obsidian move file=Note to=Archive/
obsidian move path="Inbox/Old.md" to="Projects/New.md"
obsidian delete file=Note
Daily/tasks:
obsidian daily
obsidian daily:read
obsidian daily:append content="- [ ] Review inbox"
obsidian tasks all todo
obsidian task file=Note line=8 done
Properties/links:
obsidian tags all counts
obsidian property:read file=Note name=status
obsidian property:set file=Note name=status value=done
obsidian backlinks file=Note
obsidian unresolved verbose counts
Developer/debug:
obsidian plugin:reload my-plugin
obsidian dev:errors
obsidian dev:screenshot file=shot.png
obsidian eval "app.vault.getFiles().length"
Notes
- `file=<name>` uses Obsidian-style file resolution; `path=<vault-relative.md>` is exact.
- Prefer CLI move/delete/property commands for Obsidian-aware updates.
- Prefer direct Markdown edits for bulk text changes after locating the vault path.
- Do not rely on third-party `obsidian-cli` unless user explicitly asks for it.
Read more
name: obsidian
description: "Work with Obsidian vaults using the official obsidian CLI: read/search/create/edit notes, tasks, links, properties, plugins."
homepage: https://obsidian.md/cli
metadata: { "openclaw": { "emoji": "💎", "requires": { "bins": ["obsidian"] } } }Obsidian
Use the official `obsidian` CLI for Obsidian vault work. Vault files are plain Markdown, so direct file edits are still fine when safer/faster.
Requirements
- Obsidian 1.12.7+ installed.
- Settings -> General -> Command line interface enabled.
- `obsidian` registered on PATH.
- Obsidian app running; the CLI connects to the running app.
Check:
obsidian version obsidian help
macOS registration creates `/usr/local/bin/obsidian` pointing at the app-bundled CLI. Linux registration copies the binary to `~/.local/bin/obsidian`.
Vault model
- Notes: `*.md`.
- Config: `.obsidian/`; avoid editing unless asked.
- Canvases: `*.canvas` JSON.
- Attachments: vault-configured folder.
- Multiple vaults are common; pass `vault="<name>"` when ambiguous.
Obsidian desktop tracks vaults here:
- `~/Library/Application Support/obsidian/obsidian.json`
Command pattern
obsidian <command> [name=value] [flag] obsidian vault="Notes" search query="meeting notes" format=json
Parameter values with spaces need quotes. Add `--copy` to copy output where useful.
Common commands
Open/read:
obsidian open file=Recipe obsidian open path="Inbox/Idea.md" newtab obsidian read obsidian read file=Recipe
Search:
obsidian search query="TODO" matches obsidian search query="status::active" format=json obsidian search:open query="project notes"
Create/modify:
obsidian create name="New Note" obsidian create path="Inbox/Idea.md" content="# Idea" obsidian append file=Note content="New line" obsidian prepend file=Note content="After frontmatter"
Move/delete:
obsidian move file=Note to=Archive/ obsidian move path="Inbox/Old.md" to="Projects/New.md" obsidian delete file=Note
Daily/tasks:
obsidian daily obsidian daily:read obsidian daily:append content="- [ ] Review inbox" obsidian tasks all todo obsidian task file=Note line=8 done
Properties/links:
obsidian tags all counts obsidian property:read file=Note name=status obsidian property:set file=Note name=status value=done obsidian backlinks file=Note obsidian unresolved verbose counts
Developer/debug:
obsidian plugin:reload my-plugin obsidian dev:errors obsidian dev:screenshot file=shot.png obsidian eval "app.vault.getFiles().length"
Notes
- `file=<name>` uses Obsidian-style file resolution; `path=<vault-relative.md>` is exact.
- Prefer CLI move/delete/property commands for Obsidian-aware updates.
- Prefer direct Markdown edits for bulk text changes after locating the vault path.
- Do not rely on third-party `obsidian-cli` unless user explicitly asks for it.
OpenClaw is an open-source AI assistant that runs on your own computer and meets you in the channels you already use: Discord, iMessage, Slack, Teams, Telegram, WhatsApp, and 20+ more, plus native apps for macOS, iOS, Android, Windows, and Linux.
Other skills on openclaw.
More skills from other plugins.
karpathy-guidelines
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid…
agent-builder
Design and build AI agents for any domain. Use when users: (1) ask to "create an agent", "build an assistant", or "design an AI…
Questions about obsidian.
- Which coding agents can use obsidian?
- obsidian installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

