agentleFS
Bruno-Cunha-SouzaBruno-Cunha-Souza/ValarMindSkills/skills/obsidian-cli/SKILL.md

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

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.
  • wangzhuofengSkill

    json-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-hubSkill

    defuddle

    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-hashSkill

    knap

    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

  • BCS1037Skill

    mermaid-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

  • 0xHoneyJarSkill

    qmd

    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

  • xfstudioSkill

    code-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

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
  1. Very specific:

    Use the obsidian CLI to interact with a running Obsidian instance.

    line 9
  2. Very specific:

    Run obsidian help to see all available commands.

    line 13
  3. Very specific:

    Use --copy on any command to copy output to clipboard.

    line 61
  4. Very specific:

    If multiple vaults are open, lead the command with vault="<name>":

    line 98
  5. Very specific:

    When the project keeps a knowledge graph at <vault>/<project>/brain/ (sessions, topics, decisions), see @obsidian-brain for the routing …

    line 123
  6. Common:

    After making code changes to a plugin or theme, follow this workflow:

    line 129
  7. Common:

    Run JavaScript in the app context:

    line 158
  8. Very specific:

    Run obsidian help to see additional developer commands including CDP and debugger controls.

    line 176

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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 overwrite

For 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 (or help 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

IntentCLI commandConfidenceFallback
Read a note by name (alias-aware)obsidian read file="<note-name>" silentexemplifiedRead tool on absolute path
Read a note by exact pathobsidian read path="Folder/Note.md" silentexemplifiedRead tool
Full-text search across the vaultobsidian search query="<term>" limit=10exemplifiedgrep -rn '<term>' <vaultRoot>
Scope search to one folderobsidian search query="<term>" path="<folder>"verifygrep -rn '<term>' <vaultRoot>/<folder>
Filter by hierarchical tag (parent + children)obsidian search tag="skill" or tag="skill/segurança-api"verifygrep -lrn '^ - skill' <vaultRoot>
Filter by language tagobsidian search tag="lang/go"verifygrep -lrn '^ - lang/go' <vaultRoot>
Filter by frontmatter property (exact value)obsidian search property="type=skill"verifygrep -lrn '^type: skill$' <vaultRoot>
Combine tag + propertyobsidian search tag="skill" property="status=stable"verifygrep chain (grep -l ... | xargs grep -l ...)
Count without listing contentappend total — e.g., obsidian search tag="skill" totalexemplified for tags, verify for propertygrep -lrn ... | wc -l
List all tags in vault with countsobsidian tags sort=count countsexemplifiedgrep -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 aliasesobsidian read file="<alias>" silent (the CLI walks the alias index)exemplified(CLI required — aliases are not visible to plain grep)
Copy result to clipboardappend --copy to any read/searchexemplified... | 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

FlagWhy
silentPrevents the vault from refocusing files in the UI — avoids losing the user's context.
totalReturns a count instead of full content. Use when the question is "how many?" not "which?".
limit=NCaps search output at N hits. Default usually high enough to truncate large queries.
--copySends 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:

  1. Reload the plugin to pick up changes:

    obsidian plugin:reload id=my-plugin
  2. Check for errors — if errors appear, fix and repeat from step 1:

    obsidian dev:errors
  3. Verify visually with a screenshot or DOM inspection:

    obsidian dev:screenshot path=screenshot.png
    obsidian dev:dom selector=".workspace-leaf" text
  4. Check 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-color

Toggle mobile emulation:

obsidian dev:mobile on

Run obsidian help to see additional developer commands including CDP and debugger controls.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.