claude-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.
Install / Use
npx skills add AgriciDaniel/claude-obsidianInstalls into whichever agent you are using.
CLAUDE.md
Claude Code project instructions
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of claude-obsidian
claude-obsidian scores 98/100 on our quality scale, 29th of 965 AI & Machine Learning skills we index (top 4%).
Its CLAUDE.md is 17 KB long, well organised into 18 sections with 11 code examples: a thorough specification that gives an agent plenty to work with.
With 16,192 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 11 days ago, so claude-obsidian is actively maintained.
- Our last check on 2026-10-17 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
claude-obsidian compared with similar skills
All 4 of these similar skills score higher than claude-obsidian; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| claude-obsidian (this skill)by AgriciDaniel | 98 | 16.2k | 11d ago | CLAUDE.md |
| claude-memby thedotmack | 100 | 113.5k | today | CLAUDE.md |
| taste-skillby Leonxlnx | 100 | 110.6k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 109.2k | today | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 90.9k | 10d ago | CLAUDE.md |
Frequently asked questions
- How do I install claude-obsidian?
- Run
npx skills add AgriciDaniel/claude-obsidian. The install tabs above show the steps for each supported agent. - Which AI agents does claude-obsidian work with?
- It is written for Claude Code, as a CLAUDE.md file. Other agents that read the same format can often use it too.
- Is claude-obsidian safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is claude-obsidian still maintained?
- The repository was last updated 11 days ago, so claude-obsidian is actively maintained.
Skill content
View source on GitHubclaude-obsidian is a local-first knowledge system for Claude Code and compatible Agent Skills hosts. It turns source material into linked, source-cited Obsidian pages; answers from the evidence already in the vault; and provides explicit workflows for research, retrieval, maintenance, and visual mapping.
Your vault remains a normal directory of Markdown, JSON, and source files. It is not hidden in a plugin cache, locked in a cloud database, or silently uploaded to a model.
From source to living knowledge
Most AI note workflows stop after saving text. claude-obsidian is organized around a repeatable loop: retain the source, ground the claims, connect the knowledge, then put it back to work.
- Capture with context. Bring local sources through a visible inbox and preserve immutable, content-addressed copies before synthesis.
- Ground every important claim. Source and claim ledgers retain authority, freshness, support, contradiction, confidence, and review state.
- Connect what you learn. Build linked pages, indexes, Maps of Content, methodology-aware structures, and Obsidian Canvas views.
- Use the vault again. Query, research, retrieve, lint, and fold what is already known instead of starting every conversation from zero.
See the vault
The output is meant to remain useful with or without an agent: plain Markdown for portability, Obsidian for navigation and visual exploration.
<p align="center"> <img src="assets/screenshots/graph-view.png" alt="Example claude-obsidian vault in Obsidian Graph view" width="49%"> <img src="assets/screenshots/wiki-map-view.png" alt="Example claude-obsidian knowledge map in Obsidian Canvas" width="49%"> </p> <p align="center"> <sub>Linked knowledge in Graph view · A visual knowledge map in Obsidian Canvas</sub> </p>Why it feels different
- Local by default. The vault is user-owned and works as ordinary files. Network egress is a separate, explicit decision.
- Sources survive the summary. Notes point back to durable source evidence; unsupported and contradictory claims remain visible.
- Knowledge compounds deliberately. Ingestion, querying, linting, retrieval, research, and rollups share one provenance-aware model.
- Parallel agents cannot race the vault. Workers return drafts. One orchestrator inspects and applies one recoverable transaction.
- Capabilities are stated honestly. Optional tools are detected, maturity is declared, and missing adapters degrade clearly instead of being simulated.
This is not an automatic transcript recorder, a cloud sync service, a factual oracle, or a substitute for backups and source control.
Quick start
The safest first run uses a source checkout and a separate user vault. Every mutating setup command previews its exact operation before it can apply.
1. Get the product
git clone https://github.com/AgriciDaniel/claude-obsidian.git
cd claude-obsidian
The checkout contains the product. It is not your knowledge vault.
2. Initialize a separate vault
export GENERATED_AT="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
export OPERATION_ID="init-reviewed"
python3 scripts/claude-obsidian.py init "$HOME/Documents/MyKnowledgeVault" \
--generated-at "$GENERATED_AT" --operation-id "$OPERATION_ID"
Review the JSON plan and copy its approved_plan_sha256, then apply that exact
operation:
python3 scripts/claude-obsidian.py init "$HOME/Documents/MyKnowledgeVault" \
--generated-at "$GENERATED_AT" --operation-id "$OPERATION_ID" \
--approved-plan-sha256 "<sha256-from-the-plan>" --apply
For an existing Obsidian vault, use the non-destructive adopt workflow
described in the installation guide.
3. Start from the vault
Open the new directory in Obsidian, then run Claude Code from that directory with the local plugin:
cd "$HOME/Documents/MyKnowledgeVault"
claude --plugin-dir /absolute/path/to/claude-obsidian
Start with:
/claude-obsidian:wiki
Then place a source in inbox/ and invoke
/claude-obsidian:wiki-ingest. Save an answer explicitly with
/claude-obsidian:save; ask the vault with /claude-obsidian:wiki-query.
For Codex, OpenCode, Gemini, or ZCode, preview and then apply the portable skill links from the product checkout:
bash scripts/setup-multi-agent.sh --host codex
bash scripts/setup-multi-agent.sh --host codex --apply
Cursor and Windsurf use workspace-local skill discovery. Marketplace setup, every supported host, vault adoption, upgrades, and uninstall steps are covered in the full installation guide.
15 skills, one system
The skills are small enough to invoke directly and coordinated enough to share the same evidence, vault-selection, and mutation rules.
Build and use the wiki
| Skill | What it does |
|---|---|
| wiki | Initializes or adopts a vault, diagnoses readiness, and routes work |
| save | Saves one scoped answer or insight—never an automatic transcript |
| wiki-ingest | Turns captured sources into linked pages and provenance records |
| wiki-query | Answers read-only from relevant vault evidence |
| wiki-lint | Reports dead links, orphans, metadata gaps, stale indexes, and empty sections |
Extend the workflow
| Skill | What it adds |
|---|---|
| autoresearch | Bounded web research with explicit egress and a separate canonical merge |
| canvas | Wiki-scoped Obsidian Canvas creation and maintenance |
| defuddle | Clean, readable web content before ingestion |
| wiki-fold | Extractive, traceable rollups of the operation log |
| wiki-mode | Generic, LYT, PARA, or Zettelkasten filing conventions |
| wiki-retrieve | Contextual prefixes, BM25, and optional cosine reranking |
| wiki-cli | Obsidian CLI reads and search with transaction-safe writes |
Reference skills
| Skill | What it provides |
|---|---|
| obsidian-markdown | Correct Obsidian Flavored Markdown, links, embeds, and callouts |
| obsidian-bases | Native .base tables, cards, filters, formulas, and summaries |
| think | A structured observe, listen, connect, create, and grow review loop |
Claude Code exposes namespaced invocations such as
/claude-obsidian:wiki-lint; other hosts use their native Agent Skills
invocation. Trigger phrases and exact contracts live in each
skills/<name>/SKILL.md.
Trust is part of the architecture
The product never treats a source checkout, plugin cache, or contributor state
as the default vault. A vault is selected explicitly, through
CLAUDE_OBSIDIAN_VAULT, by the nearest .claude-obsidian.json, or by one
unambiguous initialized ancestor. If selection is uncertain, the command exits
without writing.
One logical knowledge operation is one recoverable transaction:
- Read every target and record its expected SHA-256.
- Let parallel workers return drafts and evidence only.
- Merge the complete change into one operation bundle.
- Inspect the bundle, then apply it once.
- Report the operation ID and exact changed paths.
The core holds one process-lifetime vault lock, journals backups, uses atomic replacement, and restores the prior state if an apply cannot finish. A changed target is a conflict, never a silent overwrite. Git checkpoints, destructive repairs, network egress, and canonical research merges remain explicit operations.
Read the transaction contract, provenance contract, and Compound Vault architecture for the machine-facing detail.
Honest capability boundaries
| Input or capability | Current support | |---|---| | Local filesystem sources | Implemented bounded, content-addressed byte capture | | Images | Metadata, hash, size, and bounded dimensions when available | | PDF and EPUB | Metadata, hash, and size; no built-in semantic extraction | | URL and YouTube | Validated consent plans; a configured external runner is required | | OCR | Local-file consent plan; a configured external runner is required | | BM25 retrieval | Local and deterministic | | Contextual prefixes or remote models | Optional and gated by explicit egress consent | | Obsidian CLI | Optional for reads/search; filesystem transport remains available |
High-risk accepted claims require two independent sources. Unsupported or contradictory evidence stays visible, and a grounded refusal is preferred over an invented citation. Model-based retrieval falls back to deterministic BM25 when the embedding or reranking stage cannot be trusted.
Shape the vault to the way you think
wiki-mode can route new notes using four methodologies without bulk-moving
existing knowledge:
| Mode | Filing principle | |---|---| | Generic | Sources, concepts, entities, and sessions | | LYT | Maps of Content and linked atomic notes | | PARA | Projects, Areas, Resources, and Archives | | Zettelkasten | Stable identifiers, atomic notes, and dense links |
Generic is the default when no mode is configured. Switching modes changes how new notes are routed; it does not silently reorganize old ones. See the methodology modes guide.
Operator reference
<details> <summary><strong>Portable CLI</strong></summary>The wrapper is python3 scripts/claude-obsidian.py.
| Command | Effect |
|---|---|
| doctor --vault PATH | Show vault selection and readiness |
| init PATH [--approved-plan-sha256 HASH --apply] | Plan or create a separate vault |
| adopt PATH [--approved-plan-sha256 HASH --apply] | Plan or adopt an existing Obsidian vault |
| migrate --vault PATH [--approved-plan-sha256 HASH --apply] | Add v1 ledgers and configuration without rewriting legacy data |
| transaction inspect BUNDLE --vault PATH | Validate a write bundle without mutation |
| transaction apply BUNDLE --vault PATH --approved-plan-sha256 HASH | Apply one inspected, recoverable operation |
| transaction recover --vault PATH [--force-stale-lock] | Restore an interrupted operation |
| lint --vault PATH [--as-of YYYY-MM-DD] [--exclude GLOB]... | Emit findings deterministic for the declared UTC date |
| contracts --verify --vault PATH | Execute capability readiness contracts |
| capture plan --vault PATH [SOURCE ...] | Run a local capture preflight without writes |
| capture apply --vault PATH [SOURCE ...]
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
113.5kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
taste-skill
110.6kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
109.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
90.9kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
