AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Obsidian Cli

skill-lizhengyang-byte-obsidian-skill-obsidian-skill · by lizhengyang-byte

>-

No reviews yet
0 installs
36 views
0.0% view→install

Install

$ agentstack add skill-lizhengyang-byte-obsidian-skill-obsidian-skill

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-lizhengyang-byte-obsidian-skill-obsidian-skill)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Obsidian Cli? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Obsidian CLI Skill

This skill enables Claude to use the Obsidian CLI — the command-line interface built into Obsidian v1.12+ — to interact with your Obsidian vault(s).

Prerequisites

  • Obsidian v1.12 or later installed
  • Obsidian app must be running (the CLI communicates via local IPC)
  • CLI enabled in Obsidian: Settings → General → Command line interface → Register CLI
  • obsidian command available in your shell PATH

To verify:

obsidian version

If not found, add the Obsidian binary to your PATH:

  • macOS: /Applications/Obsidian.app/Contents/MacOS/obsidian
  • Windows: Typically added automatically after registering in settings
  • Linux: Depends on installation method (AppImage, Snap, etc.)

Syntax

obsidian  [options]

Global Options

| Option | Description | |--------|-------------| | vault= | Target a specific vault by name (required if multiple vaults) | | file= | Refer to a file by its name (wikilink-style resolution) | | path= | Refer to a file by its exact path (folder/note.md) |

Important Rules

  1. File resolution: file= resolves like wikilinks (by note name, first match wins);

path= uses exact file paths. Most commands default to the active file when omitted.

  1. Quoting: Wrap values containing spaces in quotes: name="My Note".
  2. Escape sequences: Use \n for newlines, \t for tabs in content values.
  3. Vault targeting: If you have only one vault, vault= is usually optional.

Command Reference

See references/commands.md for the complete list of all commands with their options.

Complete Command List by Category

File Operations

| Command | Description | |---------|-------------| | create name= [content=] [template=] [open] [newtab] [overwrite] | Create a new note | | read [file=] [path=] | Read a note's contents | | append [file=] [path=] content= [inline] | Append content to a note | | prepend [file=] [path=] content= [inline] | Prepend content (after frontmatter) | | delete [file=] [path=] [permanent] | Delete a note | | move [file=] [path=] to= | Move a note to another folder | | rename [file=] [path=] name= | Rename a note | | file [file=] [path=] | Show file info |

Search & Navigation

| Command | Description | |---------|-------------| | search query= [path=] [limit=] [total] [case] [format=] | Search vault contents | | search:context query= [path=] [limit=] [case] [format=] | Search with surrounding context | | search:open [query=] | Open search view in Obsidian | | open [file=] [path=] [newtab] | Open a file in Obsidian | | random [folder=] [newtab] | Open a random note | | random:read [folder=] | Read a random note | | recents [total] | List recently opened files | | tabs [ids] | List open tabs | | tab:open [group=] [file=] [view=] | Open a new tab |

Daily Notes

| Command | Description | |---------|-------------| | daily [paneType=tab\|split\|window] | Open today's daily note | | daily:read | Read today's daily note | | daily:append content= [inline] [open] [paneType=] | Append to daily note | | daily:prepend content= [inline] [open] [paneType=] | Prepend to daily note | | daily:path | Get path to daily note |

Properties & Tags

| Command | Description | |---------|-------------| | property:set name= value= [type=] [file=] [path=] | Set a property | | property:read name= [file=] [path=] | Read a property value | | property:remove name= [file=] [path=] | Remove a property | | properties [file=] [path=] [name=] [total] [counts] [sort=] [active] [format=] | List properties in vault | | tags [file=] [path=] [total] [counts] [sort=] [active] [format=] | List tags | | tag name= [total] [verbose] | Get tag info |

Tasks

| Command | Description | |---------|-------------| | tasks [file=] [path=] [total] [done] [todo] [status=] [verbose] [active] [daily] [format=] | List tasks | | task [ref=] [file=] [path=] [line=] [toggle\|done\|todo] [daily] [status=] | Show or update a task |

Templates

| Command | Description | |---------|-------------| | templates [total] | List available templates | | template:read name= [resolve] [title=] | Read template content | | template:insert name= | Insert template into active file |

Links

| Command | Description | |---------|-------------| | backlinks [file=] [path=] [counts] [total] [format=] | List backlinks to a file | | links [file=] [path=] [total] | List outgoing links from a file | | unresolved [total] [counts] [verbose] [format=] | List unresolved links | | deadends [total] [all] | Files with no outgoing links | | orphans [total] [all] | Files with no incoming links |

Vault Info

| Command | Description | |---------|-------------| | files [folder=] [ext=] [total] | List vault files | | folders [folder=] [total] | List vault folders | | folder path= [info=files\|folders\|size] | Show folder info | | vault [info=name\|path\|files\|folders\|size] | Show vault info | | vaults [total] [verbose] | List known vaults | | wordcount [file=] [path=] [words] [characters] | Count words and characters | | outline [file=] [path=] [format=tree\|md\|json] [total] | Show file headings |

Plugin & Theme Management

| Command | Description | |---------|-------------| | plugins [filter=core\|community] [versions] [format=] | List installed plugins | | plugins:enabled [filter=core\|community] [versions] [format=] | List enabled plugins | | plugins:restrict [on\|off] | Toggle or check restricted mode | | plugin id= | Get plugin info | | plugin:enable id= [filter=core\|community] | Enable a plugin | | plugin:disable id= [filter=core\|community] | Disable a plugin | | plugin:install id= [enable] | Install a community plugin | | plugin:uninstall id= | Uninstall a community plugin | | plugin:reload id= | Reload a plugin (developer use) | | themes [versions] | List installed themes | | theme [name=] | Show active theme or get theme info | | theme:set name= | Set active theme | | theme:install name= [enable] | Install a community theme | | theme:uninstall name= | Uninstall a theme |

History, Sync & Diff

| Command | Description | |---------|-------------| | history [file=] [path=] | List file history versions | | history:list | List files with history | | history:open [file=] [path=] | Open file recovery | | history:read [file=] [path=] [version=] | Read a specific history version | | history:restore [file=] [path=] version= | Restore a specific version | | diff [file=] [path=] [from=] [to=] [filter=local\|sync] | List or diff versions | | sync:status | Show sync status | | sync [on\|off] | Pause or resume sync | | sync:deleted [total] | List deleted files in sync | | sync:history [file=] [path=] [total] | List sync version history | | sync:open [file=] [path=] | Open sync history | | sync:read [file=] [path=] version= | Read a sync version | | sync:restore [file=] [path=] version= | Restore a sync version |

Commands & Automation

| Command | Description | |---------|-------------| | help [] | Show list of all commands or help for a specific one | | command id= | Execute any Obsidian command by ID | | commands [filter=] | List all available commands | | workspace [ids] | Show workspace tree | | reload | Reload the vault | | restart | Restart Obsidian |

Aliases

| Command | Description | |---------|-------------| | aliases [file=] [path=] [total] [verbose] [active] | List aliases in the vault |

Bases (Databases)

| Command | Description | |---------|-------------| | bases | List all base files in vault | | base:create [file=] [path=] [view=] [name=] [content=] [open] [newtab] | Create a new item in a base | | base:query [file=] [path=] [view=] [format=] | Query a base and return results | | base:views [file=] [path=] | List views in a base file |

Bookmarks

| Command | Description | |---------|-------------| | bookmarks [total] [verbose] [format=] | List bookmarks | | bookmark [file=] [subpath=] [folder=] [search=] [url=] [title=] | Add a bookmark |

CSS Snippets

| Command | Description | |---------|-------------| | snippets | List installed CSS snippets | | snippets:enabled | List enabled CSS snippets | | snippet:enable name= | Enable a CSS snippet | | snippet:disable name= | Disable a CSS snippet |

Hotkeys

| Command | Description | |---------|-------------| | hotkeys [total] [verbose] [all] [format=] | List hotkeys | | hotkey id= [verbose] | Get hotkey for a command |

Other

| Command | Description | |---------|-------------| | web url= [newtab] | Open URL in Obsidian web viewer | | version | Show Obsidian version |

Developer Tools

| Command | Description | |---------|-------------| | eval code= | Execute JavaScript and return result | | devtools | Toggle Electron dev tools | | dev:cdp method= [params=] | Run Chrome DevTools Protocol command | | dev:console [clear] [limit=] [level=] | Show captured console messages | | dev:css selector= [prop=] | Inspect CSS with source locations | | dev:debug [on\|off] | Attach/detach CDP debugger | | dev:dom selector= [total] [text] [inner] [all] [attr=] [css=] | Query DOM elements | | dev:errors [clear] | Show captured errors | | dev:mobile [on\|off] | Toggle mobile emulation | | dev:screenshot [path=] | Take a screenshot |

Common Usage Patterns

Creating notes

# Simple note
obsidian create name="Meeting Notes" content="Discussed Q4 roadmap"

# Note from a template
obsidian create name="Daily Journal" template="Journal Template" open

# Note in a specific vault
obsidian vault="Work" create name="Sprint Review" content="Sprint 42 completed"

Reading and searching

# Read a specific file
obsidian read file="Meeting Notes"

# Search vault
obsidian search query="Q4 roadmap" limit=10

# Search with context
obsidian search:context query="action items" format=text

Managing tasks

# List all incomplete tasks
obsidian tasks todo

# List tasks in a specific file
obsidian tasks file="Project Plan" done

# Toggle task status
obsidian task file="Project Plan" line=12 toggle

Daily notes workflow

# Log to today's daily note
obsidian daily:append content="- Reviewed PR #42" inline

# Read yesterday's daily note
obsidian vault="Personal" daily:read

Properties

# Add a property
obsidian property:set file="Meeting Notes" name="Status" value="Done" type=text

# Read a property
obsidian property:read file="Meeting Notes" name="Status"

# Remove a property
obsidian property:remove file="Meeting Notes" name="Old-Prop"

Error Handling Tips

  • "Command not found": The Obsidian CLI is not in PATH or not enabled in Settings
  • "No vault specified": Use vault= when multiple vaults exist or the active vault is unclear
  • "File not found": The file name/path doesn't exist. Try using path= with the full path if file= fails
  • "Obsidian is not running": The CLI requires the Obsidian desktop app to be open
  • "Cannot find file": Check spelling or use files to list available files first

Slash Commands

When invoked via /obsidian-cli, the skill provides general guidance on using the Obsidian CLI. For specific operations, just describe what you want to do in natural language — the skill will determine the correct command automatically.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.