Skip to content

/wiki-cli

Detect and use the official Obsidian command-line interface for read-only vault access; use for wiki-cli, Obsidian CLI, Obsidian read, Obsidian search, vault transport, which transport, transport detection, backlinks, tags, or Obsidian command line. Mutations always go through

From plugin
claude-obsidian
16k15 skills3 agents2 hooks

Claude Code

$ npx -y skills add AgriciDaniel/claude-obsidian --skill wiki-cli --agent claude-code

SKILL.md

wiki-cli.SKILL.md
name: wiki-cli
description: "Detect and use the official Obsidian command-line interface for read-only vault access; use for wiki-cli, Obsidian CLI, Obsidian read, Obsidian search, vault transport, which transport, transport detection, backlinks, tags, or Obsidian command line. Mutations always go through the claude-obsidian transaction core."

Obsidian CLI read transport

Use this skill only to detect transport and read or search a selected vault. The official executable is `obsidian`; binary presence alone does not prove it is usable.

Resolve the installed product root from this skill's own location, not from the vault or current working directory:

PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
DETECT_TRANSPORT="$PRODUCT_ROOT/scripts/detect-transport.sh"
test -f "$DETECT_TRANSPORT"

Every `../wiki/references/` link in this file resolves the same way, relative to this skill's own directory under `$PRODUCT_ROOT`, never relative to the selected vault's `wiki/` directory.

Detect safely

Probe without persisting host state:

bash "$DETECT_TRANSPORT" --peek --vault "$VAULT"

Trust `available.cli.usable`, not merely `present` or exit status. A supported CLI can still be unavailable because the Obsidian app is not running, command line access is disabled, or its response is an error. Use filesystem reads as the portable fallback.

Persist a refreshed `.vault-meta/transport.json` only when the user or setup workflow asks for a transport snapshot:

bash "$DETECT_TRANSPORT" --force --vault "$VAULT"

That file is derived runtime configuration, not knowledge content. Preserve a valid `manual_override` recorded by the detector.

Read and search

Run official CLI commands from the selected vault so Obsidian resolves the correct workspace. Confirm supported syntax with the installed CLI before relying on optional commands. Typical read-only forms are:

(cd "$VAULT" && obsidian read path="$NOTE")
(cd "$VAULT" && obsidian search query="$QUERY")

Use read-only commands for backlinks, tags, or Bases results only when the detector reports the CLI ready. Otherwise read files under `$VAULT` directly and use `rg` for search. Reject absolute note arguments, traversal, symlinks, or resolved paths outside the selected vault.

Mutation boundary

Do not use CLI create, write, append, property-set, daily-append, move, rename, or delete commands. Do not replace those commands with direct filesystem writes. Any knowledge or configuration change must be expressed as one reviewed transaction through the portable core; see [operation transactions](../wiki/references/operation-transactions.md).

Transport choice never changes mutation semantics. The CLI is an optional read surface, not a lock manager, transaction engine, or Git checkpoint mechanism.

Checkpoint

Observe actual capability, think about the least complex read transport, verify that every resolved path stays in the vault, and accept filesystem fallback when the CLI is not ready.

Read more
@agricidaniel
Ships withclaude-obsidian

Self-organizing AI second brain for Obsidian + Claude Code. Drop any source and Claude reads, links, and files it into one connected knowledge graph of plain Markdown you own. AI note-taking, personal knowledge management (PKM), and an open-source Notion alternative. Based on Karpathy's LLM Wiki pattern.

Stars on GitHub

Momentum

stars in total
16.3k
Star history of AgriciDaniel/claude-obsidian on GitHub, a chart by star-history.com

Other skills on claude-obsidian.

autoresearch
Auto-invoked

autoresearch

Run a bounded, source-grounded research loop, draft a cited dossier, and optionally propose a separately reviewed canonical vault…

canvas
Auto-invoked

canvas

Create, inspect, and update Obsidian JSON Canvas boards with text, file, link, group, and edge nodes. Use for canvas status,…

defuddle
Auto-invoked

defuddle

Plan optional Defuddle extraction and retain already available local source files through reviewed filesystem capture. Use for…

obsidian-bases
Auto-invoked

obsidian-bases

Explain, draft, and validate Obsidian Bases .base files with filters, formulas, properties, summaries, and table, card, list, or…

save
Auto-invoked

save

Save a user-selected answer, decision, insight, or session summary into an Obsidian vault as one reviewed transaction. Use only…

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about wiki-cli.

Which coding agents can use wiki-cli?
wiki-cli installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.