obsidian-cliSkill for the official Obsidian CLI (v1.12+). Complete vault automation including files, daily notes, search, tasks, tags, properties, links, bookmarks, base...
Install via ClawdBot CLI:
clawdbot install adolago/obsidian-cliThe official Obsidian CLI connects to a running Obsidian instance via IPC.
Requires Obsidian 1.12+ with CLI enabled in Settings > General.
obsidian binary must be in your PATHImportant: Obsidian must be running for CLI commands to work. The CLI communicates
with the running instance via IPC.
obsidian binary. If running as a service, ensure PrivateTmp=false for IPC to work.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
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)
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
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
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
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
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
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
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
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
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 with title
obsidian template:insert name=Daily # Insert template into active file
obsidian commands # List all command IDs
obsidian commands filter="editor" # Filter by prefix
obsidian command id=app:open-settings # Execute a command
obsidian hotkeys # List assigned hotkeys
obsidian hotkeys all # Include unassigned
obsidian hotkeys total # Count of hotkeys
obsidian hotkeys verbose # With command details
obsidian hotkey id=app:open-settings # Hotkey for specific command
obsidian hotkey id=app:open-settings verbose # With full details
# Tabs
obsidian tabs # List open tabs
obsidian tabs ids # With tab IDs
obsidian tab:open # Open new empty tab
obsidian tab:open file="Work/note.md" # Open file in new tab
obsidian tab:open group=2 # Open in specific tab group
# Workspaces
obsidian workspaces # List saved workspaces
obsidian workspaces total # Count of workspaces
obsidian workspace # Show current workspace tree
obsidian workspace ids # With element IDs
obsidian workspace:save name="coding" # Save current layout
obsidian workspace:load name="coding" # Load saved workspace
obsidian workspace:delete name="old" # Delete saved workspace
obsidian history file=Note # List version history for file
obsidian history:list # List all files with history
obsidian history:read file=Note # Read latest history version
obsidian history:read file=Note version=3 # Read specific version
obsidian history:restore file=Note version=3 # Restore a version
obsidian history:open file=Note # Open file recovery UI
obsidian diff file=Note # List/diff local versions
obsidian diff file=Note from=1 to=3 # Diff between versions
obsidian diff file=Note filter=local # Local versions only
obsidian diff file=Note filter=sync # Sync versions only
obsidian sync:status # Show sync status
obsidian sync on # Resume sync
obsidian sync off # Pause sync
obsidian sync:history file=Note # Sync version history
obsidian sync:history file=Note total # Count of sync versions
obsidian sync:read file=Note version=2 # Read a sync version
obsidian sync:restore file=Note version=2 # Restore a sync version
obsidian sync:deleted # List files deleted in sync
obsidian sync:deleted total # Count of deleted files
obsidian sync:open file=Note # Open sync history UI
obsidian publish:site # Show publish site info
obsidian publish:status # List all publish changes
obsidian publish:status new # New files to publish
obsidian publish:status changed # Changed files
obsidian publish:status deleted # Deleted files
obsidian publish:status total # Count of changes
obsidian publish:list # List published files
obsidian publish:list total # Count of published files
obsidian publish:add file=Note # Publish a file
obsidian publish:add changed # Publish all changed files
obsidian publish:remove file=Note # Unpublish a file
obsidian publish:open file=Note # Open on published site
# Themes
obsidian theme # Show active theme
obsidian theme name="Minimal" # Get theme info
obsidian themes # List installed themes
obsidian themes versions # With version numbers
obsidian theme:set name="Minimal" # Set active theme
obsidian theme:install name="Minimal" # Install community theme
obsidian theme:install name="Minimal" enable # Install and activate
obsidian theme:uninstall name="Minimal" # Uninstall theme
# CSS Snippets
obsidian snippets # List installed snippets
obsidian snippets:enabled # List enabled snippets
obsidian snippet:enable name="custom" # Enable a snippet
obsidian snippet:disable name="custom" # Disable a snippet
obsidian plugins # List all installed
obsidian plugins filter=core # Core plugins only
obsidian plugins filter=community # Community plugins only
obsidian plugins versions # With version numbers
obsidian plugins:enabled # List enabled plugins
obsidian plugins:enabled filter=community versions # Enabled community with versions
obsidian plugins:restrict # Check restricted mode status
obsidian plugins:restrict on # Enable restricted mode
obsidian plugins:restrict off # Disable restricted mode
obsidian plugin id=dataview # Get plugin info
obsidian plugin:enable id=dataview # Enable plugin
obsidian plugin:disable id=dataview # Disable plugin
obsidian plugin:install id=dataview # Install community plugin
obsidian plugin:install id=dataview enable # Install and enable
obsidian plugin:uninstall id=dataview # Uninstall community plugin
obsidian plugin:reload id=my-plugin # Reload plugin (dev)
obsidian web url="https://example.com" # Open URL in web viewer
obsidian web url="https://example.com" newtab # Open in new tab
# JavaScript evaluation
obsidian eval code="app.vault.getFiles().length" # Run JS in Obsidian context
# Screenshots
obsidian dev:screenshot # Screenshot to default path
obsidian dev:screenshot path=screenshot.png # Screenshot to file
# DevTools
obsidian devtools # Toggle Electron devtools
# Console & Errors (requires dev:debug on)
obsidian dev:debug on # Attach CDP debugger (required for console)
obsidian dev:debug off # Detach debugger
obsidian dev:console # Show captured console messages
obsidian dev:console limit=10 # Last 10 messages
obsidian dev:console level=error # Filter by level (log|warn|error|info|debug)
obsidian dev:console clear # Clear captured messages
obsidian dev:errors # Show captured JS errors
obsidian dev:errors clear # Clear errors
# DOM inspection
obsidian dev:dom selector=".workspace" # Query DOM elements
obsidian dev:dom selector=".nav-file" total # Count matching elements
obsidian dev:dom selector=".nav-file" text # Get text content
obsidian dev:dom selector=".nav-file" inner # Get innerHTML
obsidian dev:dom selector=".nav-file" all # All matches
obsidian dev:dom selector="h1" attr=class # Get attribute
obsidian dev:dom selector="h1" css=color # Get CSS property
# CSS inspection
obsidian dev:css selector=".workspace" # Inspect CSS with source locations
obsidian dev:css selector=".workspace" prop=background # Specific property
# Chrome DevTools Protocol
obsidian dev:cdp method="Page.getLayoutMetrics" # Raw CDP command
obsidian dev:cdp method="Runtime.evaluate" params='{"expression":"1+1"}'
# Mobile emulation
obsidian dev:mobile on # Enable mobile emulation
obsidian dev:mobile off # Disable mobile emulation
obsidian vaults # List known vaults
obsidian vaults verbose # With paths
obsidian vaults total # Count of vaults
obsidian vault=Notes daily # Target specific vault
obsidian vault=Notes search query="test" # Search in specific vault
param=value for parameters (quote spaces: content="Hello world")obsidian tasks daily todo verbose\n for newline, \t for tabfile= resolves like wikilinks (name only, no path/extension needed)path= requires exact path from vault rootvault= must be the FIRST parameter to target a specific vaultvault= as FIRST parameter to target a specific vaultobsidian binary is in your PATH.PrivateTmp, correct user context).move requires the full target path including .md extensionfolders can be slow on large vaults (19k+ files)dev:console requires dev:debug on to be run firstGenerated Mar 1, 2026
Knowledge workers can use the Obsidian CLI to automate daily note creation and task tracking. For example, they can schedule scripts to prepend a daily agenda template each morning, append meeting notes throughout the day, and toggle task completion via command line, streamlining personal productivity workflows without manual vault interaction.
Content creators and writers can leverage the CLI to batch-create notes from templates, search for specific tags or properties to compile content, and manage file organization. This enables efficient drafting, editing, and preparation of materials for blogs, books, or reports by automating repetitive file operations and metadata updates.
Software developers can integrate the CLI into their development pipelines to automate documentation updates. For instance, they can use it to append code change logs to specific notes, search for TODO comments across vaults, and generate unique timestamped notes for bug tracking, enhancing project documentation with minimal manual effort.
Researchers and academics can utilize the CLI to automate data collection from their Obsidian vaults. They can run searches to aggregate notes by tags or properties, count occurrences of specific terms, and append findings to summary files, facilitating systematic literature reviews or experimental data organization in fields like science or humanities.
Offer a free version of the CLI skill with basic automation features like daily note management and simple searches, while charging for advanced capabilities such as batch processing, API integrations, or premium support. Revenue can be generated through subscription tiers targeting power users and enterprises seeking enhanced productivity tools.
Provide consulting services to help businesses integrate the Obsidian CLI into their existing workflows, offering custom script development, training, and ongoing support. This model leverages the skill's flexibility to address specific organizational needs, such as automating report generation or data management, with revenue from project-based fees and retainers.
Create a marketplace where users can purchase or subscribe to pre-built templates, scripts, and automation workflows designed for the Obsidian CLI. This includes industry-specific solutions, like academic research templates or content creation packs, generating revenue through sales commissions, licensing fees, or subscription access to a curated library of tools.
💬 Integration Tip
Ensure Obsidian is running and CLI is enabled in settings before integrating; use wrapper scripts on Linux to avoid Electron flag issues for reliable command execution.
Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
Create, search, and manage Bear notes via grizzly CLI.
Track water and sleep with JSON file storage
Notion API for creating and managing pages, databases, and blocks.
Smart ClawdBot documentation access with local search index, cached snippets, and on-demand fetch. Token-efficient and freshness-aware.
Work with Obsidian vaults as a knowledge base. Features: fuzzy/phonetic search across all notes, auto-folder detection for new notes, create/read/edit notes with frontmatter, manage tags and wikilinks. Use when: querying knowledge base, saving notes/documents, editing existing notes by user instructions.