From obsidian-cli
This skill should be used when the user asks to "create a note in Obsidian", "search my vault", "add to daily note", "read obsidian note", "find notes with tag", "manage Obsidian properties", "check backlinks", "find orphan notes", "append to note", "open note in Obsidian", "list tasks in vault", "manage Obsidian plugins", "sync Obsidian vault", or any interaction with Obsidian vault through the CLI. Provides comprehensive Obsidian CLI command reference and usage patterns.
npx claudepluginhub yoonhogo/claude-plugins --plugin obsidian-cliThis skill uses the workspace's default tool permissions.
Obsidian CLI enables terminal-based control of Obsidian for note management, knowledge search, and vault automation. The `obsidian` command communicates with a running Obsidian instance to execute operations on vaults.
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.
Obsidian CLI enables terminal-based control of Obsidian for note management, knowledge search, and vault automation. The obsidian command communicates with a running Obsidian instance to execute operations on vaults.
Prerequisites:
obsidian binary in PATH (auto-configured on install)Execute commands in single-shot mode:
obsidian <command> [parameters] [flags]
name=value format (quote values with spaces)file=<name> (wikilink resolution) or path=<exact-path>vault=<name> to target specific vault\n for line breaks, \t for tabs in contentCLI output is plain text. Parse results directly from stdout. Errors go to stderr. Exit code 0 indicates success.
Core CRUD operations on vault notes:
| Command | Purpose | Key Parameters |
|---|---|---|
create | Create new note | file=, content=, template= |
read | Read note content | file= or path= |
append | Add content to end | file=, content= |
prepend | Add content to start | file=, content= |
move | Rename/relocate note | file=, to= |
delete | Remove note | file=, permanent (flag) |
open | Open in Obsidian editor | file= |
# Create a note
obsidian create file="meeting-notes/2024-01-15" content="# Meeting Notes\n\nAttendees: ..."
# Read a note
obsidian read file="project-plan"
# Append to existing note
obsidian append file="log" content="\n## Update\nNew progress..."
Shorthand commands for daily note operations:
| Command | Purpose |
|---|---|
daily | Open/create today's daily note |
daily:read | Read today's daily note content |
daily:append | Append to today's daily note |
daily:prepend | Prepend to today's daily note |
# Add a log entry to today's daily note
obsidian daily:append content="\n- 14:30 Completed feature implementation"
# Read today's daily note
obsidian daily:read
Query vault content and analyze note relationships:
| Command | Purpose | Key Parameters |
|---|---|---|
search | Text search across vault | query= |
tags | List all tags with counts | - |
tasks | List/filter tasks | status=, file= |
backlinks | Find notes linking to target | file= |
links | Find outgoing links from note | file= |
orphans | Find unlinked notes | - |
deadends | Find notes with no outgoing links | - |
# Search for content
obsidian search query="authentication flow"
# Find all tasks
obsidian tasks
# Check what links to a note
obsidian backlinks file="api-design"
Manage YAML frontmatter properties:
# Set a property
obsidian property set file="note" name="status" value="in-progress"
# Read properties
obsidian property read file="note"
# Remove a property
obsidian property remove file="note" name="draft"
For publish, sync, plugins, themes, and workspaces — see reference files below.
# Start of day: check daily note
obsidian daily:read
# Log progress during work
obsidian daily:append content="\n- Implemented user auth module"
# Create a decision record
obsidian create file="decisions/ADR-005-auth-strategy" \
content="# ADR-005: Authentication Strategy\n\n## Status\nProposed\n\n## Context\n..."
# Find relevant notes
obsidian search query="database migration"
# Check related notes via backlinks
obsidian backlinks file="database-schema"
# Find isolated knowledge
obsidian orphans
# List incomplete tasks
obsidian tasks status=incomplete
# List tasks from daily note
obsidian tasks file=daily
# List all tasks in a specific note
obsidian tasks file="project-plan"
file="my note" not file=my notefile=note-name resolves like [[note-name]]\n in content parameters for multi-line contentvault=name when working with multiple vaultsobsidian command is not found or cannot be executed, guide the user to check:
Settings → General → Current versionSettings → General → Appobsidian binary is available in PATHsearch to locate the correct notevault= parameter to specifyFor detailed command documentation, consult:
references/file-management.md — Complete file CRUD operations with all parameters and examplesreferences/daily-notes.md — Daily note workflows and automation patternsreferences/search-navigation.md — Search, tags, tasks, backlinks, links, orphans, deadendsreferences/properties.md — YAML frontmatter property managementreferences/advanced.md — Publish, Sync, Plugins, Themes, Workspaces commandsreferences/developer-tools.md — dev:screenshot, dev:eval, dev:console, plugin:reload