Obsidian Cli
Automate and integrate Obsidian CLI for efficient command-line knowledge base management
Obsidian CLI is a community skill for interacting with Obsidian vaults using command-line tools, covering note creation, search, property management, task operations, and plugin development workflows for vault automation.
What Is This?
Overview
Obsidian CLI provides patterns for managing Obsidian vaults through command-line interfaces. It covers note creation and editing with frontmatter property injection from terminal commands, vault search using full-text and property-based queries for finding notes programmatically, task management with commands for listing, completing, and filtering tasks across vault notes, property batch operations for updating frontmatter fields across multiple notes simultaneously, and plugin development utilities including hot reload, JavaScript execution, and screenshot capture. The skill enables developers and power users to automate vault operations, build scripts for bulk note processing, and integrate Obsidian data into external workflows.
Who Should Use This
This skill serves Obsidian power users who prefer terminal workflows for note management, developers building automation scripts that interact with vault contents, and plugin developers testing and debugging Obsidian plugins from the command line.
Why Use It?
Problems It Solves
Managing vault notes through the GUI is slow for bulk operations like renaming, tagging, or property updates. Searching across large vaults for specific content patterns needs programmatic access beyond the built-in search. Automating daily note creation with pre-filled templates requires scripting capabilities. Plugin development iterations need quick reload and test cycles.
Core Highlights
Note manager creates, reads, and updates vault notes with frontmatter handling. Search engine queries vault content with regex patterns and property filters. Task tracker lists and modifies task checkboxes across vault notes. Plugin tools reload plugins, execute JavaScript, and capture vault screenshots.
How to Use It?
Basic Usage
obsidian-cli create \
--vault ~/MyVault \
--path "Projects/new-feature.md" \
--property status=active \
--property priority=high \
--content "## Overview\n\n"
"Project description here."
obsidian-cli search \
--vault ~/MyVault \
--query "API integration" \
--format json
obsidian-cli tasks list \
--vault ~/MyVault \
--status incomplete \
--sort due
obsidian-cli property set \
--vault ~/MyVault \
--path "Projects/*.md" \
--key reviewed \
--value true
obsidian-cli read \
--vault ~/MyVault \
--path "Daily/2025-03-06.md"Real-World Examples
#!/bin/bash
DATE=$(date +%Y-%m-%d)
DAY=$(date +%A)
VAULT="$HOME/MyVault"
obsidian-cli create \
--vault "$VAULT" \
--path "Daily/${DATE}.md" \
--property date="${DATE}" \
--property day="${DAY}" \
--property type=daily \
--template "Templates/daily.md"
YESTERDAY=$(date -d yesterday \
+%Y-%m-%d)
TASKS=$(obsidian-cli tasks list \
--vault "$VAULT" \
--path "Daily/${YESTERDAY}.md" \
--status incomplete \
--format text)
if [ -n "$TASKS" ]; then
obsidian-cli append \
--vault "$VAULT" \
--path "Daily/${DATE}.md" \
--content \
"\n## Carried Over\n${TASKS}"
fi
obsidian-cli search \
--vault "$VAULT" \
--path "Daily/*.md" \
--property "date>=2025-03-01" \
--property "date<=2025-03-07" \
--format summaryAdvanced Tips
Create shell aliases for frequently used vault operations to speed up daily workflows. Pipe CLI output to jq for JSON processing when building vault analytics scripts. Schedule daily note creation using cron jobs that run the CLI with template flags for consistent note structure.
When to Use It?
Use Cases
Build an automated daily note system that creates templated notes and carries over incomplete tasks. Create a bulk tagging script that updates properties across hundreds of notes matching a pattern. Implement a vault backup pipeline that exports specific note collections to external formats.
Related Topics
Obsidian vault management, command-line productivity, note automation, shell scripting, and personal knowledge management.
Important Notes
Requirements
Obsidian CLI tool installed and configured with vault paths. Obsidian desktop application for plugin development features. Shell environment with bash or zsh for scripting.
Usage Recommendations
Do: use the format flag to control output between human readable text and machine parseable JSON. Back up vaults before running bulk property update operations. Test commands with a dry-run flag when available before modifying vault contents.
Don't: run destructive bulk operations without first testing on a small subset of notes. Modify vault files directly with sed or awk when the CLI handles frontmatter parsing correctly. Schedule automated scripts without logging to track what changes were made.
Limitations
CLI operations require the vault to be accessible on the local file system. Some Obsidian features like canvas and graph view are not accessible through CLI commands. Concurrent CLI and GUI access may cause sync conflicts on notes being edited simultaneously.
More Skills You Might Like
Explore similar skills to enhance your workflow
Pymatgen
Specialized Pymatgen automation and integration for materials science and analysis
Devops Engineer
Automate and integrate DevOps Engineer workflows for streamlined operations
Openclaw Config
Openclaw Config automation and integration for flexible configuration management workflows
Token Integration Analyzer
Token Integration Analyzer automation and integration
Automate Reddit data extraction, community engagement, and social media monitoring for marketing insights
Agile Product Owner
Agile product ownership for backlog management and sprint execution. Covers user story writing, acceptance criteria, sprint planning, and velocity tra