obsidian-cli
Skill5 starsChanged 6 months agoMITView on GitHub
Obsidian CLI — read/create/search notes, properties, tasks; plugin dev (reload, JS eval, screenshot, DOM).
84 other projects use a version of this, 59 of them edited.
Adopted by
Most recently taken up by
- levi-qiao/obsidian-llm-wikiedited, first seen Nov 8, 2026
- shkodnik1917/claude-brainlabedited, first seen Nov 8, 2026
- LARi-UQAC/ResearchToolstheir own version, first seen Nov 5, 2026
- The-AIOS/aiosedited, first seen Nov 3, 2026
- vijaysuperpositionist/skillsedited, first seen Nov 1, 2026
- Voronenko/ai-filestheir own version, first seen Nov 1, 2026
Used with
Projects with it also use json-canvas, defuddle and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
wangzhuofengSkilljson-canvas
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.
Also in 36 projects that use this
HK-hubSkilldefuddle
Extract clean markdown content from web pages using Defuddle CLI, removing clutter and navigation to save tokens. Use instead of WebFetch when the user provides a URL to read or analyze, for online documentation, articles, blog posts, or any standard web page.
Also in 35 projects that use this
lucasmaher-hashSkillknap
Render Markdown from templates and structured data using Knap CLI. Use when the user asks to apply a Knap template, turn JSON or CSV data into notes, batch-generate Markdown files, or format Defuddle output into a note.
Also in 4 projects that use this
BCS1037Skillmermaid-visualizer
Transform text content into professional Mermaid diagrams for presentations and documentation. Use when users ask to visualize concepts, create flowcharts, or make diagrams from text. Supports process flows, system architectures, comparisons, mindmaps, and more with built-in syntax error prevention.
Also in 5 projects that use this
0xHoneyJarSkillqmd
Local markdown search engine for knowledge bases, notes, and documentation. Combines BM25 full-text search, vector semantic search, and LLM re-ranking. Use when searching through markdown notes, retrieving documents, or managing knowledge collections.
Also in 4 projects that use this
xfstudioSkillcode-review-excellence
Master effective code review practices to provide constructive feedback, catch bugs early, and foster knowledge sharing while maintaining team morale. Use when reviewing pull requests, establishing review standards, or mentoring developers.
Also in 3 projects that use this
Other versions84 projects use a version of this.
Word for word · 0
None found.
Edited · 59
- kepano/obsidian-skills★ 49k83% same
- breferrari/obsidian-mind★ 5.4k69% same
- Atmosphere/atmosphere★ 3.8k83% same
- pedronauck/skills★ 64983% same
- edrickleong/obsidian-calendar-bases★ 18683% same
- benoror/obsidianos_work★ 16678% same
- songzhuozhu/obsidian-llm-wiki★ 12183% same
- The-AIOS/aios★ 10583% same
- cybaea/obsidian-vault-intelligence★ 7983% same
- bozhouDev/bozhou-skills★ 7883% same
49 more not listed
Wrote their own version · 25
- allenhutchison/obsidian-gemini★ 534same name
- sd0xdev/sd0x-dev-flow★ 192same name
- sd0xdev/sd0x-harness★ 192same name
- kv0906/pm-kit★ 138same name
- jykim/claude-obsidian-skills★ 50same name
- seandavi/lifeos-template★ 46same name
- LARi-UQAC/ResearchTools★ 14same name
- ferocknew/claude_code_public_skills★ 9same name
- sergeeey/Claude-cod-top-2026★ 9same name
- ronijaakkola/obsidian-skill-examples★ 2same name
15 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository17 other files it gives its agents.
- celebrimborSkill
- ci-cd-generatorSkill
- clean-codeSkill
- code-debuggerSkill
- code-optimizationSkill
- code-reviewSkill
- code-security-reviewSkill
- context-optimizationSkill
- github-commitSkill
- github-pr-reviewSkill
- github-release-noteSkill
- mcp-builderSkill
- obsidian-basesSkill
- obsidian-brainSkill
- obsidian-markdownSkill
- only-planSkill
- prompt-engineeringSkill
The file
We split this skill into the rules it gives an agent
8 rules. 2 are common, 0 are distinctive, and 6 are very specific to this project.
2
Common
Most of the 75 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 9
Use the obsidian CLI to interact with a running Obsidian instance.
- Very specific: line 13
Run obsidian help to see all available commands.
- Very specific: line 61
Use --copy on any command to copy output to clipboard.
- Very specific: line 98
If multiple vaults are open, lead the command with vault="<name>":
- Very specific: line 123
When the project keeps a knowledge graph at <vault>/<project>/brain/ (sessions, topics, decisions), see @obsidian-brain for the routing …
- Common: line 129
After making code changes to a plugin or theme, follow this workflow:
- Common: line 158
Run JavaScript in the app context:
- Very specific: line 176
Run obsidian help to see additional developer commands including CDP and debugger controls.
“Common” is measured: kept by at least 6 in 10 of the 75 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Obsidian CLI
Use the obsidian CLI to interact with a running Obsidian instance. Requires Obsidian to be open.
Command reference
Run obsidian help to see all available commands. This is always up to date. Full docs: https://help.obsidian.md/cli
Syntax
Parameters take a value with =. Quote values with spaces:
obsidian create name="My Note" content="Hello world"Flags are boolean switches with no value:
obsidian create name="My Note" silent overwriteFor multiline content use \n for newline and \t for tab.
File targeting
Many commands accept file or path to target a file. Without either, the active file is used.
file=<name>— resolves like a wikilink (name only, no path or extension needed)path=<path>— exact path from vault root, e.g.folder/note.md
Vault targeting
Commands target the most recently focused vault by default. Use vault=<name> as the first parameter to target a specific vault:
obsidian vault="My Vault" search query="test"Common patterns
obsidian read file="My Note"
obsidian create name="New Note" content="# Hello" template="Template" silent
obsidian append file="My Note" content="New line"
obsidian search query="search term" limit=10
obsidian daily:read
obsidian daily:append content="- [ ] New task"
obsidian property:set name="status" value="done" file="My Note"
obsidian tasks daily todo
obsidian tags sort=count counts
obsidian backlinks file="My Note"Use --copy on any command to copy output to clipboard. Use silent to prevent files from opening. Use total on list commands to get a count.
Documentation search patterns
The CLI is the primary mechanism for searching project documentation that lives in the vault — MOCs, skill notes, architecture docs, references, daily notes. Prefer it over grep/find/Read because it resolves wikilinks and aliases, respects the vault index (faster on large vaults), and emits paste-ready output via --copy.
[!warning] Verify before first use Some flag combinations below are not exemplified upstream and the CLI evolves. Run
obsidian help search(orhelp backlinks,help tags) once before first use of any row tagged (verify). If the combo errors, drop to the file-IO fallback in the last row of each pattern — never guess flags.
Probe once per session
obsidian --version 2>/dev/null && echo "cli=on" || echo "cli=off"Cache the result. If cli=off, every recipe below has a grep/find/Read fallback.
Recipes by intent
| Intent | CLI command | Confidence | Fallback | |
| Read a note by name (alias-aware) | obsidian read file="<note-name>" silent | exemplified | Read tool on absolute path | |
| Read a note by exact path | obsidian read path="Folder/Note.md" silent | exemplified | Read tool | |
| Full-text search across the vault | obsidian search query="<term>" limit=10 | exemplified | grep -rn '<term>' <vaultRoot> | |
| Scope search to one folder | obsidian search query="<term>" path="<folder>" | verify | grep -rn '<term>' <vaultRoot>/<folder> | |
| Filter by hierarchical tag (parent + children) | obsidian search tag="skill" or tag="skill/segurança-api" | verify | grep -lrn '^ - skill' <vaultRoot> | |
| Filter by language tag | obsidian search tag="lang/go" | verify | grep -lrn '^ - lang/go' <vaultRoot> | |
| Filter by frontmatter property (exact value) | obsidian search property="type=skill" | verify | grep -lrn '^type: skill$' <vaultRoot> | |
| Combine tag + property | obsidian search tag="skill" property="status=stable" | verify | grep chain (grep -l ... | xargs grep -l ...) | |
| Count without listing content | append total — e.g., obsidian search tag="skill" total | exemplified for tags, verify for property | grep -lrn ... | wc -l | |
| List all tags in vault with counts | obsidian tags sort=count counts | exemplified | grep -hr '^ - ' <vaultRoot> | sort | uniq -c | sort -rn | |
| Find what links to a note (graph-aware) | obsidian backlinks file="<note-name>" | exemplified | `grep -lrn '[[<note-name>]]|[[<note-name> | ' <vaultRoot>` |
| Resolve aliases | obsidian read file="<alias>" silent (the CLI walks the alias index) | exemplified | (CLI required — aliases are not visible to plain grep) | |
| Copy result to clipboard | append --copy to any read/search | exemplified | ... | pbcopy (macOS) / ... | xclip (Linux) |
Targeting the right vault
If multiple vaults are open, lead the command with vault="<name>":
obsidian vault="ValarMindObsidian" search query="auth middleware" path="Projetos/ValarMindSkills"Otherwise the most recently focused vault is used.
Token economy
| Flag | Why |
silent | Prevents the vault from refocusing files in the UI — avoids losing the user's context. |
total | Returns a count instead of full content. Use when the question is "how many?" not "which?". |
limit=N | Caps search output at N hits. Default usually high enough to truncate large queries. |
--copy | Sends output to clipboard instead of stdout. Use when the user asked for paste-ready text. |
Pair total with tag or property filters before read — confirm the cohort size first, then iterate only on the relevant subset.
Read-only folder reminder
Some projects mark folders as read-only via CLAUDE.md (e.g., Notes/, Inbox/). Read-only ≠ search-only — searches MAY include them and obsidian read/backlinks work fine; writes (create, append, property:set) must refuse those paths and surface the conflict. Always re-check the project's CLAUDE.md before any write under such a folder.
Project-memory use case
When the project keeps a knowledge graph at <vault>/<project>/brain/ (sessions, topics, decisions), see @obsidian-brain for the routing strategy between brain queries and general-doc queries. The CLI commands above are the I/O mechanism; @obsidian-brain is the orchestration layer.
Plugin development
Develop/test cycle
After making code changes to a plugin or theme, follow this workflow:
Reload the plugin to pick up changes:
obsidian plugin:reload id=my-pluginCheck for errors — if errors appear, fix and repeat from step 1:
obsidian dev:errorsVerify visually with a screenshot or DOM inspection:
obsidian dev:screenshot path=screenshot.png obsidian dev:dom selector=".workspace-leaf" textCheck console output for warnings or unexpected logs:
obsidian dev:console level=error
Additional developer commands
Run JavaScript in the app context:
obsidian eval code="app.vault.getFiles().length"Inspect CSS values:
obsidian dev:css selector=".workspace-leaf" prop=background-colorToggle mobile emulation:
obsidian dev:mobile onRun obsidian help to see additional developer commands including CDP and debugger controls.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

