Oct 10, 2026
Build a Second Brain Your Agent Remembers With Obsidian Wiki
obsidian-wiki compiles what you and your agent learn into an interconnected markdown vault, with lint, dedup, and session hooks that keep it current.
You solve a hard problem, and three months later you solve it again from scratch in a different repo — the answer died in a chat log you will never find. obsidian-wiki, a 4k-star open-source project, points your agent at a folder and compiles what you learn into interconnected markdown you own.
Why This Skill Matters
The pattern comes from Andrej Karpathy's LLM Wiki gist, as the README credits: compile knowledge once and keep it current, instead of asking an LLM the same questions forever or re-running RAG every time. Every skill is a markdown file that any agent — Claude Code, Cursor, Codex, Windsurf, Gemini CLI, and more — reads and runs. No runtime, no API keys, no vendor. It compiles rather than accumulates: new knowledge merges into existing pages, contradictions get flagged, and a manifest tracks every ingested source so the second run processes only the delta.
Installation
pip install obsidian-wiki
obsidian-wiki setup --vault ~/brain
That also registers two session hooks: every new session starts with who you are and what's open, and ends by capturing anything reusable. Pass --no-hooks to skip them. uv tool install and pipx install work the same way. Prefer not to touch a terminal? Hand your agent this line from the README: https://github.com/Ar9av/obsidian-wiki — set up my wiki. On Claude Code you can install it as a plugin instead — no Python needed:
/plugin marketplace add Ar9av/obsidian-wiki
/plugin install obsidian-wiki@obsidian-wiki
The plugin ships the skills only — not the session hooks or the CLI — and its commands are namespaced, like /obsidian-wiki:wiki-ingest.
Real Workflow: Grow and Query the Vault
- Feed it.
/wiki-ingest ~/researchingests anything text-shaped — docs, PDFs, chat exports, transcripts, screenshots, URLs./wiki-updatedistills the repo you are standing in, code-graph aware;/wiki-capturesaves the current conversation;/wiki-history-ingest claudemines everything you have ever asked Claude. - Ask it.
/wiki-query what do I know about rate limiting?answers with[[wikilink]]citations instead of vibes;/wiki-digest weekrecaps what you learned this week. - Keep it honest.
/wiki-lintflags broken links, orphans, and contradictions;/wiki-dedupmerges pages that mean the same thing;/wiki-statusshows what is ingested and where the hubs are.
The README counts 39 skills in total, and every claim in the vault is tagged extracted, ^[inferred], or ^[ambiguous], so you can tell knowledge from guessing.
Tips
- Everything is plain markdown on disk: greppable, diffable, pushable to a private repo. Nothing leaves your machine.
- Open the vault in Obsidian's graph view and say color my graph — it tints nodes by tag, category, or visibility.
- Not ready to commit? The repo's
examples/demo-vault/is an 18-page sample vault on building reliable LLM agents. - The whole graph exports to
graph.json, GraphML, Neo4j Cypher, Postgres SQL, or a self-contained interactivegraph.html. - The README's own benchmark (Claude Sonnet, headless, a 38-page vault, two runs per question) reports structural questions answered 4.4x faster with the skills installed — 81s down to 19s — and correctness up from 44% to 83% at flat API cost. It also says to treat the exact percentages as indicative at that sample size, and the plain agent's failure mode is instructive on its own: it routed through
index.md, which links to every page, and found a short path that meant nothing.
When Not to Use This
You want a hosted, multi-device notes service — this is a local folder by design; the README documents a browser extension for capturing pages and a Docker deployment for serving a vault over HTTP/MCP, but no sync service or mobile client. And if your notes never need to link, contradict, or accumulate, a plain folder of markdown files already does that job without 39 skills attached.
See the leaderboard for more skills.