Oct 12, 2026
Give Your Agent a Persistent Memory in Obsidian
The 5k-star obsidian-second-brain skill turns an Obsidian vault into shared memory for Claude Code and seven other agent builds — 47 commands that save, reconcile, and rewrite notes under a freshness rule that keeps stored facts true.
Every CLI agent session starts from scratch, while your Obsidian vault sits a directory away, holding exactly the context the agent needs. obsidian-second-brain wires the two together: the vault becomes the agent's memory, and the agent becomes the vault's caretaker.
Why This Skill Matters
The project describes itself as an evolution of Karpathy's LLM Wiki pattern, and the difference is the verb: instead of appending new pages, it rewrites the ones it has. Ingest a source and existing people, project, and concept pages get updated; contradictions resolve automatically through /obsidian-reconcile; /obsidian-synthesize writes pattern pages on its own. Notes are AI-first — a ## For future agent preamble plus frontmatter for retrieval, not human browsing. The whole thing runs on an explicit freshness rule, OKM (Open Knowledge Metabolism): every stored fact must be timeless, dated, or a pointer, so fast-changing numbers are linked with an as of stamp instead of copied in to rot. One codebase ships eight builds — Claude Code, Codex CLI, Gemini CLI, OpenCode, Antigravity, Hermes, Pi, and Grok Bot — with the vault behavior identical across them.
Installation
On Claude Code, install through the plugin marketplace:
/plugin marketplace add eugeniughelbur/obsidian-second-brain
/plugin install obsidian-second-brain@obsidian-second-brain
Then tell it where your vault lives by adding to the env section of ~/.claude/settings.json:
"env": { "OBSIDIAN_VAULT_PATH": "/path/to/your/vault" }
Restart Claude Code and run /obsidian-second-brain:obsidian-init inside your vault. Plugin commands are namespaced, so every command is /obsidian-second-brain:<name>; later updates are /plugin update obsidian-second-brain. Prerequisites are light: git and uv for the Python helpers — no API keys for the core vault commands (jq is only required for the classic script install, an alternative path for bare command names).
Real Workflow: Close a Meeting in Three Commands
- After the meeting, run
/obsidian-save. The agent pulls every decision, person, task, and idea out of the conversation and saves each to the right note — one save produced five cross-linked notes in the README's demo. - Run
/obsidian-dailythe next morning: it pulls calendar events, overdue tasks, and overnight changes into today's note. - Before a big decision, run
/obsidian-challenge. The agent searches the vault for past failures and reversed decisions on the topic and pushes back using your own words.
A second loop shows why "rewrites itself" is load-bearing: /obsidian-ingest takes a URL, PDF, audio file, or screenshot and touches 5–15 existing pages per source — people updated, contradictions resolved, synthesis pages created when patterns emerge. The nightly scheduled agent compounds it while you sleep, running five phases: closing the day, reconciling contradictions, synthesizing cross-source patterns, healing orphan notes, and rebuilding the index.
Tips
- Start with three commands —
/obsidian-initto set up,/obsidian-saveto capture,/obsidian-findto recall — before exploring the full 47-command library (30 operations, 9 thinking tools, 1 context command, 7 research commands). - The research toolkit is key-optional:
/researchfalls back to free key-less sources (Wikipedia, HackerNews, arXiv, Reddit, and more) without a Perplexity key, while/x-read,/x-pulse,/notebooklm, and/youtubeneed their respective keys in~/.config/obsidian-second-brain/.env. - Pick a role preset at bootstrap — executive, builder, creator, or researcher — and
bootstrap_vault.pycreates the matching folders, templates, and kanban boards. /obsidian-healthaudits the vault against the freshness policy and typed edges — plus tag taxonomy if you opt in via_meta/taxonomy.md;/obsidian-mergefolds near-duplicate notes with a dry run by default.- No vault yet? Bootstrap a ready-to-use one that passes its own health check out of the box.
When Not to Use This
The gravity is Obsidian: notes, boards, and daily pages live in a markdown vault, and the calendar command is Claude Code only since it needs the Google Calendar MCP. If your team's memory lives in a shared SaaS tool, this manages a personal vault, not that system. And the AI-first note format is for retrieval, not reading — if you want your notes to read like essays for human eyes, a convention this repo deliberately breaks, the rewrite behavior will feel invasive.
See the leaderboard for more skills.