From workflow
Interact with Obsidian vaults using the Obsidian CLI. Read, search, create, and modify notes, manage properties/tags, query tasks, work with daily notes, and run Obsidian commands. Use when the user asks to work with their Obsidian vault, notes, or knowledge base.
npx claudepluginhub shortrib-labs/shortrib-claude-marketplace --plugin workflowThis skill is limited to using the following tools:
Interact with Obsidian vaults through the `obsidian` command-line interface.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Interact with Obsidian vaults through the obsidian command-line interface.
obsidian <command> [options]
vault=<name> targets a specific vault when multiple are open.file=<name> resolves like wikilinks; path=<path> is an exact path (e.g., folder/note.md).file/path is omitted.name="My Note".\n for newline, \t for tab in content values.obsidian read file="Note Name"
obsidian read path="folder/note.md"
obsidian create name="New Note" content="# Heading\nBody text"
obsidian create path="folder/note.md" template="My Template" open
Options: overwrite, open, newtab.
obsidian append file="Note Name" content="New paragraph"
obsidian append path="folder/note.md" content="Inline addition" inline
inline appends without a preceding newline.
obsidian prepend file="Note Name" content="Added to top"
obsidian move file="Old Name" to="new/folder/"
obsidian rename file="Old Name" name="New Name"
obsidian delete file="Note Name"
obsidian delete path="folder/note.md" permanent
Without permanent, files go to trash.
obsidian daily # Open today's daily note
obsidian daily:read # Read daily note contents
obsidian daily:path # Get daily note file path
obsidian daily:append content="- Task done" # Append to daily note
obsidian daily:prepend content="## Morning" # Prepend to daily note
Append/prepend accept open and inline options.
obsidian search query="search term"
obsidian search query="search term" path="subfolder" limit=10 case
obsidian search:context query="search term" format=json
obsidian search:open query="search term"
Output formats: text (default), json.
obsidian property:read name="status" file="Note Name"
obsidian property:set name="status" value="done" file="Note Name"
obsidian property:set name="rating" value="5" type=number file="Note Name"
Types: text, list, number, checkbox, date, datetime.
obsidian property:remove name="status" file="Note Name"
obsidian properties # All properties in vault
obsidian properties file="Note Name" # Properties for one file
obsidian properties counts sort=count # Sorted by frequency
obsidian properties format=json
obsidian tags # All tags in vault
obsidian tags counts sort=count # Sorted by frequency
obsidian tags file="Note Name" # Tags for one file
obsidian tag name="project" verbose # Tag details with file list
obsidian tags format=json
obsidian tasks # All tasks in vault
obsidian tasks todo # Incomplete tasks only
obsidian tasks done # Completed tasks only
obsidian tasks file="Note Name" # Tasks from one file
obsidian tasks daily # Tasks from daily note
obsidian tasks active # Tasks from active file
obsidian tasks verbose # Grouped by file with line numbers
obsidian tasks format=json
obsidian task path="folder/note.md" line=15 done # Mark complete
obsidian task path="folder/note.md" line=15 todo # Mark incomplete
obsidian task path="folder/note.md" line=15 toggle # Toggle status
obsidian task daily line=8 done # Complete task in daily note
obsidian task ref="folder/note.md:15" toggle # Using ref shorthand
obsidian files # All files
obsidian files folder="subfolder" # In specific folder
obsidian files ext=md # By extension
obsidian files total # Count only
obsidian file file="Note Name"
obsidian file path="folder/note.md"
obsidian folders
obsidian folders folder="parent" total
obsidian open file="Note Name"
obsidian open file="Note Name" newtab
obsidian links file="Note Name"
obsidian links file="Note Name" total
obsidian backlinks file="Note Name"
obsidian backlinks file="Note Name" counts format=json
obsidian orphans # Files with no incoming links
obsidian deadends # Files with no outgoing links
obsidian unresolved # Broken links in vault
obsidian unresolved counts verbose format=json
obsidian bookmarks # List bookmarks
obsidian bookmark file="note.md" # Bookmark a file
obsidian bookmark file="note.md" subpath="#heading" # Bookmark a heading
obsidian bookmark search="query" title="Saved Search"
obsidian bookmark url="https://example.com" title="Link"
obsidian templates # List available templates
obsidian template:read name="My Template" # Read template content
obsidian template:read name="My Template" resolve title="New Note" # With variables resolved
obsidian template:insert name="My Template" # Insert into active file
obsidian outline # Headings of active file
obsidian outline file="Note Name"
obsidian outline format=tree # Tree view (default)
obsidian outline format=md # Markdown
obsidian outline format=json # JSON
obsidian aliases # All aliases in vault
obsidian aliases file="Note Name" # Aliases for one file
obsidian aliases verbose # Include file paths
obsidian vault # Vault name, path, stats
obsidian vault info=name # Just the name
obsidian vault info=path # Just the path
obsidian vaults # List all known vaults
obsidian vaults verbose # With paths
obsidian plugins # List installed plugins
obsidian plugins filter=community versions # Community plugins with versions
obsidian plugins:enabled # Only enabled plugins
obsidian plugin id="plugin-id" # Plugin details
obsidian plugin:enable id="plugin-id"
obsidian plugin:disable id="plugin-id"
obsidian plugin:install id="plugin-id" enable
obsidian plugin:uninstall id="plugin-id"
obsidian command id="editor:toggle-bold"
obsidian commands # List all commands
obsidian commands filter="editor" # Filter by prefix
obsidian hotkeys # List all hotkeys
obsidian hotkey id="editor:toggle-bold" # Hotkey for specific command
obsidian bases # List all base files
obsidian base:views # List views in current base
obsidian base:query file="My Base" format=json
obsidian base:query file="My Base" view="Active" format=md
obsidian base:create file="My Base" name="New Entry" content="Details"
Output formats: json (default), csv, tsv, md, paths.
obsidian sync:status # Check sync status
obsidian sync on # Resume sync
obsidian sync off # Pause sync
obsidian sync:deleted # Files deleted in sync
obsidian sync:history file="Note Name" # Sync versions
obsidian sync:read file="Note Name" version=1
obsidian sync:restore file="Note Name" version=1
obsidian history:list # Files with history
obsidian history file="Note Name" # List versions
obsidian history:read file="Note Name" version=1
obsidian history:restore file="Note Name" version=1
obsidian diff file="Note Name" # List versions
obsidian diff file="Note Name" from=1 to=2 # Diff between versions
obsidian diff file="Note Name" filter=local # Only local versions
obsidian diff file="Note Name" filter=sync # Only sync versions
obsidian recents # Recently opened files
obsidian random # Open random note
obsidian random:read # Read random note
obsidian wordcount file="Note Name" # Word and character count
obsidian wordcount file="Note Name" words # Word count only
obsidian tabs # List open tabs
obsidian workspace # Show workspace tree
obsidian reload # Reload vault
obsidian themes # List installed themes
obsidian theme # Active theme
obsidian theme:set name="Minimal"
obsidian theme:install name="Minimal" enable
obsidian snippets # List CSS snippets
obsidian snippet:enable name="my-snippet"
obsidian snippet:disable name="my-snippet"
Many commands support format=json|tsv|csv (and sometimes md, yaml, text).
Recommendation: Use format=json when processing data programmatically.
file=<name> resolves like wikilinks (by display name); path=<path> uses the exact vault-relative path.obsidian daily:read and obsidian daily:append for daily-note workflows instead of direct file operations, so the path is resolved automatically.