agentsclimarketplace

Obsidian cli

Skill Bruno-Cunha-Souza/ValarMindSkills/skills/obsidian-cli

A library of reusable skills for AI agents. Each skill/plugin is a Markdown file with YAML frontmatter that can be invoked as a slash command within Claude Code CLI or Antigravity IDE.

Install
npx -y skills add Bruno-Cunha-Souza/ValarMindSkills --skill obsidian-cli

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Obsidian CLI — read/create/search notes, properties, tasks; plugin dev (reload, JS eval, screenshot, DOM).

SKILL.md

7.2 KB, as published. Nobody here has run it

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

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.