obsidian-cli
Allows command-line automation of your Obsidian vault, including files, daily notes, and plugin settings.
Install
mkdir -p .claude/skills/obsidian-cli-leoyeai && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/19404" && unzip -o skill.zip -d .claude/skills/obsidian-cli-leoyeai && rm skill.zipInstalls to .claude/skills/obsidian-cli-leoyeai
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Skill for the official Obsidian CLI (v1.12+). Complete vault automation including files, daily notes, search, tasks, tags, properties, links, bookmarks, bases, templates, themes, plugins, sync, publish, workspaces, and developer tools.Key capabilities
- →Automate file operations including creation, deletion, and movement
- →Query vault metadata, search results, and task lists
- →Manage daily notes with append and prepend functionality
- →Execute developer tools including CSS inspection and CDP commands
- →Target specific vaults using vault name parameters
- →Toggle and update task statuses within notes
How it works
The CLI communicates with a running Obsidian instance via an IPC singleton lock. It translates command-line arguments into actions performed directly within the active or specified vault.
Inputs & outputs
When to use obsidian-cli
- →Manage daily notes
- →Query vault metadata
- →Automate task lists
- →Configure vault plugins
About this skill
Obsidian CLI (Official, v1.12+)
The official Obsidian CLI connects to a running Obsidian instance via IPC. Requires Obsidian 1.12+ with CLI enabled in Settings > General.
Prerequisites
- Obsidian 1.12+ installed and running
- CLI enabled: Settings > General > Enable CLI
- The
obsidianbinary must be in your PATH
Important: Obsidian must be running for CLI commands to work. The CLI communicates with the running instance via IPC.
Platform Notes
- macOS/Windows: The Obsidian installer typically places the CLI binary in PATH automatically.
- Linux: You may need a wrapper script to avoid Electron flag injection that breaks CLI arg parsing. Ensure your wrapper is in PATH before the system
obsidianbinary. If running as a service, ensurePrivateTmp=falsefor IPC to work.
Complete Command Reference
Basics
obsidian version # Show Obsidian version
obsidian help # List all available commands
obsidian vault # Show vault info (name, path, files, size)
obsidian vault info=name # Just vault name
obsidian vault info=path # Just vault path
obsidian reload # Reload the vault
obsidian restart # Restart the app
Daily Notes
obsidian daily # Open today's daily note
obsidian daily silent # Open without focusing
obsidian daily:read # Read daily note contents
obsidian daily:append content="- [ ] Task" # Append to daily note
obsidian daily:prepend content="# Header" # Prepend to daily note
obsidian daily paneType=tab # Open in new tab (tab|split|window)
Files
obsidian read file=Recipe # Read by name (wikilink resolution)
obsidian read path="Work/notes.md" # Read by exact path
obsidian file file=Recipe # Show file info (path, size, dates)
obsidian create name=Note content="Hello" # Create a new note
obsidian create name=Note template=Travel # Create from template
obsidian create path="Work/note.md" content="text" # Create at exact path
obsidian create name=Note overwrite # Overwrite if exists
obsidian create name=Note silent newtab # Create silently in new tab
obsidian open file=Recipe # Open in Obsidian
obsidian open file=Recipe newtab # Open in new tab
obsidian delete file=Old # Delete (to trash)
obsidian delete file=Old permanent # Delete permanently
obsidian move file=Old to="Archive/Old.md" # Move/rename (include .md in target)
obsidian append file=Log content="Entry" # Append to file
obsidian append file=Log content="text" inline # Append inline (no newline)
obsidian prepend file=Log content="Header" # Prepend to file
obsidian unique name="Meeting" content="notes" # Create note with unique timestamp
obsidian wordcount file=Note # Word and character count
obsidian wordcount file=Note words # Words only
obsidian wordcount file=Note characters # Characters only
obsidian random # Open a random note
obsidian random:read # Read a random note
obsidian random folder="Work" # Random note from folder
obsidian recents # List recently opened files
obsidian recents total # Count of recent files
Search
obsidian search query="meeting notes" # Search vault
obsidian search query="TODO" matches # Show match context
obsidian search query="project" path="Work" limit=10 # Scoped search
obsidian search query="test" format=json # JSON output
obsidian search query="Bug" case # Case-sensitive search
obsidian search query="error" total # Count matches only
obsidian search:open query="TODO" # Open search view in Obsidian
Tasks
obsidian tasks daily # Tasks from daily note
obsidian tasks daily todo # Incomplete daily tasks
obsidian tasks daily done # Completed daily tasks
obsidian tasks all todo # All incomplete tasks in vault
obsidian tasks file=Recipe done # Completed tasks in file
obsidian tasks verbose # Tasks with file paths + line numbers
obsidian tasks total # Count of tasks
obsidian tasks status="/" # Tasks with custom status character
obsidian task daily line=3 toggle # Toggle task completion
obsidian task daily line=3 done # Mark task done
obsidian task daily line=3 todo # Mark task incomplete
obsidian task ref="Work/todo.md:5" toggle # Toggle by file:line reference
obsidian task daily line=3 status="/" # Set custom status
Tags & Properties
# Tags
obsidian tags all counts # All tags with counts
obsidian tags all counts sort=count # Sorted by frequency
obsidian tags file=Note # Tags in specific file
obsidian tags total # Total tag count
obsidian tag name=project verbose # Tag details with file list
obsidian tag name=project total # Count of files with tag
# Properties (frontmatter)
obsidian properties all counts # All properties with counts
obsidian properties all counts sort=count # Sorted by frequency
obsidian properties file=Note # Properties of specific file
obsidian properties name=status # Files with specific property
obsidian properties format=yaml # YAML output
obsidian properties format=tsv # TSV output
obsidian property:read name=status file=Note # Read a property value
obsidian property:set name=status value=done file=Note # Set a property
obsidian property:set name=due value="2026-03-01" type=date file=Note # Set with type
obsidian property:remove name=status file=Note # Remove a property
# Aliases
obsidian aliases # List all aliases in vault
obsidian aliases all # Include files without aliases
obsidian aliases file=Note # Aliases for specific file
obsidian aliases total # Count of aliases
obsidian aliases verbose # With file paths
Links & Structure
obsidian backlinks file=Note # Files linking to Note
obsidian backlinks file=Note counts # With link counts
obsidian backlinks file=Note total # Count of backlinks
obsidian links file=Note # Outgoing links from Note
obsidian links file=Note total # Count of outgoing links
obsidian orphans # Files with no incoming links
obsidian orphans total # Count of orphans
obsidian orphans all # Include non-markdown files
obsidian deadends # Files with no outgoing links
obsidian deadends total # Count of deadends
obsidian unresolved # Broken/unresolved links
obsidian unresolved total # Count of unresolved
obsidian unresolved counts # With reference counts
obsidian unresolved verbose # With source file details
obsidian outline file=Note # Headings tree
obsidian outline file=Note format=md # Headings as markdown
obsidian outline file=Note total # Count of headings
Vault Info
obsidian files total # File count
obsidian files folder="Work" ext=md # Filter by folder and extension
obsidian folders # List all folders
obsidian folders total # Folder count
obsidian folders folder="Work" # Subfolders of path
obsidian folder path="Work" info=size # Folder size in bytes
obsidian folder path="Work" info=files # File count in folder
obsidian folder path="Work" info=folders # Subfolder count
Bookmarks
obsidian bookmarks # List all bookmarks
obsidian bookmarks total # Count of bookmarks
obsidian bookmarks verbose # With details
obsidian bookmark file="Work/note.md" # Bookmark a file
obsidian bookmark file="note.md" subpath="#heading" # Bookmark a heading
obsidian bookmark folder="Work" # Bookmark a folder
obsidian bookmark search="TODO" # Bookmark a search query
obsidian bookmark url="https://example.com" title="Example" # Bookmark a URL
Bases (Database Views)
obsidian bases # List all base files
obsidian base:views # List views in current base
obsidian base:query file=MyBase # Query base, default format
obsidian base:query file=MyBase format=json # JSON output
obsidian base:query file=MyBase format=csv # CSV output
obsidian base:query file=MyBase format=tsv # TSV output
obsidian base:query file=MyBase format=md # Markdown table
obsidian base:query file=MyBase format=paths # Just file paths
obsidian base:query file=MyBase view="View Name" # Query specific view
obsidian base:create name="New Item" # Create item in current base view
obsidian base:create content="text" silent # Create silently
Templates
obsidian templates # List available templates
obsidian templates total # Count of templates
obsidian template:read name=Daily # Read template content
obsidian template:read name=Daily resolve # Read with variables resolved
obsidian template:read name=Daily resolve title="My Note" # Resolve
---
*Content truncated.*
When not to use it
- →When Obsidian is not running
- →When the CLI is not enabled in Obsidian settings
- →When the obsidian binary is not in the system PATH
Prerequisites
Limitations
- →Folders can be slow on large vaults with 19k+ files
- →Requires Obsidian to be running for all commands
- →Linux users may require a wrapper script to avoid Electron flag injection
How it compares
Unlike manual interaction, this tool enables programmatic vault automation and scriptable access to notes, tasks, and metadata.
Compared to similar skills
obsidian-cli side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| obsidian-cli (this skill) | 0 | 2mo | Review | Intermediate |
| notion-knowledge-capture | 10 | 8mo | No flags | Intermediate |
| apple-reminders | 25 | 2mo | Review | Beginner |
| memory-keeper-proactive-context-maintenance | 6 | 9mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by LeoYeAI
View all by LeoYeAI →You might also like
notion-knowledge-capture
makenotion
Transforms conversations and discussions into structured documentation pages in Notion. Captures insights, decisions, and knowledge from chat context, formats appropriately, and saves to wikis or databases with proper organization and linking for easy discovery.
apple-reminders
openclaw
Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
memory-keeper-proactive-context-maintenance
b4CU-R4U
Automatically detect and maintain memory freshness by monitoring context staleness, significant code changes, task completions, and phase transitions. Proactively suggests and executes memory sync operations with user confirmation. Use when the user says "sync memory", "update context", or when the Skill detects that context is stale (>2 hours), significant changes have occurred (new commits), tasks completed, or major milestones reached. Replaces passive "context is stale" warnings with active maintenance.
notion-meeting-intelligence
openai
Prepare meeting materials with Notion context and Codex research; use when gathering context, drafting agendas/pre-reads, and tailoring materials to attendees.
agent-memory
yamadashy
Use this skill when the user asks to save, remember, recall, or organize memories. Triggers on: 'remember this', 'save this', 'note this', 'what did we discuss about...', 'check your notes', 'clean up memories'. Also use proactively when discovering valuable findings worth preserving.
apple-notes
openclaw
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks OpenClaw to add a note, list notes, search notes, or manage note folders.