Sandbox
@eugeniughelbur/obsidian-second-brain

Claude plugin for Obsidian vault memory

This project connects terminal agents to an Obsidian vault so the vault becomes their shared memory. It saves conversations into notes, searches existing context before starting new work, rewrites pages when new facts arrive, and runs background maintenance with hooks and scheduled agents.

4,398 stars549 forksPythonUpdated 10d ago
Who it's for

Builders who want Claude Code, Codex, Gemini CLI, or Grok Bot to remember projects, people, and decisions across sessions.

What it delivers

You can stop re-explaining your context and keep a living vault that your agents update over time.

What it does

Cross-agent vault memory

Stores context as plain markdown in an Obsidian vault so multiple CLI agents can read and update the same knowledge base.

Command pack for daily work

Includes slash commands like `/obsidian-save`, `/obsidian-find`, `/obsidian-daily`, `/obsidian-reconcile`, and `/obsidian-synthesize`.

Background maintenance

Uses hooks and scheduled agents to consolidate notes, heal links, rebuild indexes, and keep the vault fresh.

Vault-first research

Pulls in web, X, and YouTube content, then updates existing notes instead of only appending new ones.

AI-first note structure

Uses frontmatter, provenance, recency markers, and a future-agent preamble to make notes easier for agents to retrieve and revise.

How to get it

  1. 1Native plugin install (recommended). Inside any Claude Code session
    /plugin marketplace add eugeniughelbur/obsidian-second-brain
    /plugin install obsidian-second-brain@obsidian-second-brain
  2. 2Classic install (script). Use this if you want the commands as bare names…
    curl -fsSL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
  3. 3Or step by step
    git clone https://github.com/eugeniughelbur/obsidian-second-brain ~/.claude/skills/obsidian-second-brain
    bash ~/.claude/skills/obsidian-second-brain/install.sh
    bash ~/.claude/skills/obsidian-second-brain/scripts/setup.sh "/path/to/your/vault"
  4. 4No vault yet? Create a ready-to-use one first (folders, templates, boards, dashboards -…
    cd ~/.claude/skills/obsidian-second-brain
    uv run python scripts/bootstrap_vault.py --path ~/Documents/MyVault --name "Your Name"
    bash scripts/setup.sh ~/Documents/MyVault
  5. 5Codex and OpenCode users: prefer the Agent Skills build below. The standalone codex-cli…
    git clone https://github.com/eugeniughelbur/obsidian-second-brain
    cd obsidian-second-brain
    bash scripts/build.sh --platform codex-cli   # or gemini-cli, or opencode
    cp -R dist/codex-cli/. /path/to/your/vault/   # or dist/gemini-cli/. or dist/opencode/.
  6. 6Run
    git clone https://github.com/eugeniughelbur/obsidian-second-brain
    cd obsidian-second-brain
    bash scripts/build.sh --platform pi
    pi install ./dist/pi          # or: cp -R dist/pi/.pi/ /path/to/your/vault/

README

obsidian-second-brain: one brain, eight platforms, 47 commands. A cross-platform skill for Obsidian that runs on Claude Code, Codex, Gemini, OpenCode, Antigravity, Hermes, Pi, and Grok Bot.

Claude Code Grok Bot Codex CLI Gemini CLI OpenCode

Your vault is the memory. Claude, Grok Bot, Codex - same brain.
Your vault outlives whichever CLI you switch to.

Obsidian Vault Release License: MIT Stars Sponsor

obsidian-second-brain: AI second brain for Obsidian - persistent memory for Claude Code and Grok Bot

An evolution of Karpathy's LLM Wiki pattern: a vault that rewrites itself.

Every source updates existing pages instead of just appending new ones. Contradictions reconcile automatically. Your vault compounds while you sleep.

Powered by OKM - Open Knowledge Metabolism: every stored fact is timeless, dated, or a pointer - so your knowledge base never fills with facts that used to be true.

Built for developers · founders and operators · writers · researchers - pick a preset at setup

Start with three: /obsidian-init to set up, /obsidian-save to capture, /obsidian-find to recall. The other 42 are there when you need them.

auto-synthesis · thinking tools that argue with you

live research from X, the web, and YouTube · 4 scheduled agents · 4 role presets

write-time AI-first validator · /create-command interview flow · multilingual trigger schema

Install → · Demos · See it in action · All commands · Presets · OKM · Discussions

One /obsidian-save command turns a conversation into five cross-linked AI-first notes: a person, a project with the decision, a task, a board card, and the daily note.
One /obsidian-save - five cross-linked notes. Real footage, synthetic vault. More demos →

If this looks useful, star the repo. It is how other people find it.

v0.15 - The Port (September 2026): the plugin now runs on Windows the way it runs on macOS and Linux, fixed end to end by a contributor across two PRs.
Windows paths, CRLF and BOM notes, UTF-8 everywhere, a USERPROFILE-aware config home; plus Gemini-first /podcast with a free Whisper fallback, tag syntax and taxonomy checks, Simplified Chinese triggers, /obsidian-reindex, an Obsidian lint plugin, platform ownership, AI-FIRST.md, a reproducible retrieval benchmark, a generated docs site, typed edges, and the callout preamble. 763-test CI wall. See the changelog →


The Problem

You use Claude every day. Every session starts from scratch. You re-explain everything. The conversation ends. Everything disappears. Claude Code has no persistent memory across sessions - and neither does Grok Bot, Codex, Gemini, or any of the others.

You take notes in Obsidian. Hundreds of files. They just sit there. You make the same decision twice because you forgot you made it six months ago. Ideas rot in daily notes. Nobody connects the dots.

Two powerful tools. Completely disconnected. You already have the long-term memory. The thing doing the thinking cannot reach it.


How this extends Karpathy's LLM Wiki

Karpathy's pattern is brilliant. Drop sources, LLM creates wiki pages, ask questions. This skill takes it further:

Karpathy's LLM Wikiobsidian-second-brain
New sourcesAppend new pages, cross-referenceRewrite existing pages. People get updated, claims revised, stale facts replaced.
ContradictionsFlagged, you resolve manually/obsidian-reconcile resolves them automatically
PatternsSurface when you ask/obsidian-synthesize finds unnamed patterns and writes synthesis pages on its own
When it runsOn demand, when you prompt4 scheduled agents: morning brief, nightly consolidation, weekly review, vault-health check
Note formatHuman-readable wiki pagesAI-first: ## For future agent preamble + frontmatter for LLM retrieval, not human review

If Karpathy's wiki is a knowledge base you maintain with an LLM, this is a knowledge base that maintains itself.


What Happens When You Install This

After a meeting: /obsidian-save Claude pulls out every decision, person, task, and idea and saves each one to the right note. You do nothing.

You recorded a voice memo: /obsidian-ingest meeting.m4a Claude transcribes it with a local Whisper install, attributes speakers where the transcript makes them identifiable, extracts every promise and action item, and distributes across entity pages, task boards, and the daily note.

You screenshot a whiteboard: /obsidian-ingest photo.png Claude reads the image, extracts text and structure, creates concept notes, links to related projects. A photo becomes knowledge.

You find a great video: /obsidian-ingest https://youtube.com/... Claude doesn't summarize into one note. It REWRITES your existing pages. People get updated. Contradictions get resolved. Patterns trigger new synthesis pages. One URL in. The vault is smarter.

Before a big decision: /obsidian-challenge Claude searches your vault for past failures and reversed decisions on the same topic. Pushes back with your own words. Your vault holds you accountable.

You want to see the big picture: /obsidian-visualize Claude generates a visual canvas of your entire vault. Hub nodes centered, color-coded by type, orphans highlighted. Open it in Obsidian and see the shape of your knowledge.

You go to sleep: The nightly agent runs 5 phases: closes the day, reconciles contradictions, synthesizes cross-source patterns, heals orphan notes, and rebuilds the index. You wake up to a smarter vault.

You start a new day: /obsidian-daily Claude pulls your calendar events, overdue tasks, and overnight changes into today's note. Your morning starts informed.

Someone shares an X post: /x-read https://x.com/... Grok with live X access fetches the post, the thread, and the replies. Returns verbatim text + TL;DR + key claims + reply sentiment + voices to watch. No more screenshots.

You're planning today's content: /x-pulse "AI automation" Grok scans X for what's trending in your topic right now. Returns 3-5 emerging themes (with rep posts + key voices), gaps nobody is filling, hook formats that are working, and 3 specific post ideas you could write today.

You need real research: /research "AI memory tools" Perplexity Sonar Pro pulls a deep dossier with citations: summary, key facts (every claim with a recency marker and source domain), timeline, key players, contrarian views, recommended further reading, open questions. Saved to your vault, auto-opens in Obsidian.

You want vault-first deep research: /research-deep "AI memory tools" Scans your vault for what you already know. Identifies gaps. Spawns 3-5 targeted searches via Perplexity (web) and Grok (X discourse). Synthesizes a delta report: what's new, what's confirmed, contradictions to resolve, recommended vault updates. Vault baseline doesn't get re-researched. Only gaps get filled.

You hit a great YouTube video: /youtube https://youtu.be/... Free transcript via youtube-transcript-api. Optional metadata + top comments via YouTube Data API v3. Gemini (free tier, Grok fallback) summarizes into TL;DR, Key Points, Notable Quotes (verbatim), Themes, Comment Sentiment, and Worth Following Up On. Saved as an AI-first note in your vault. Add --visual to also watch it: scene-change frame extraction (ffmpeg) that Claude reads with its own vision to capture on-screen text, code, diagrams, and demos the transcript misses.

You never open Obsidian. Everything happens through Claude.


Before & After

Without this skillWith this skill
Saving decisionsCopy-paste or lose themAuto-saved to the right project note
Daily notesWrite it yourself, forget half the timeCreated automatically
Finding patternsRe-read dozens of notes/emerge finds them for you
Challenging yourselfNobody pushes back/challenge uses your own history against you
Session continuityRe-explain every time/world loads full context in 10 seconds
Ingesting contentRead it, forget it/ingest rewrites 5-15 vault pages from 1 source (URLs, PDFs, audio, screenshots)
ContradictionsYou don't know they exist/reconcile resolves them automatically
SynthesisYou connect dots manually/synthesize finds patterns across sources on its own
Sharing vault dataOnly Claude can read it/export gives any AI tool a clean snapshot
Facts change over timeOld info gets overwrittenBi-temporal facts track when it was true AND when the vault learned it
Starting a new sessionRe-explain who you areCRITICAL_FACTS.md loads your identity in ~120 tokens
Reading an X threadOpen X, scroll, screenshot, paste/x-read [url] returns post + thread + sentiment + voices
Knowing what to postGuess what's trending/x-pulse scans X and returns hot themes + gaps + hooks + post ideas
Web researchOpen 12 tabs, copy quotes manually/research [topic] returns a sourced dossier with recency markers
Researching what you already knowRe-research from scratch/research-deep scans vault first, fills only the gaps, flags contradictions
YouTube videosWatch passively, forget/youtube [url] transcript + summary + quotes saved to vault
Vault notes for future agentNotes for human readingAI-first rule: every note has "For future agent" preamble + recency markers + citations

More from the author

The product is above. This is where it came from and where it goes next.

From the blog · The AI Operator →

Featured: "HUGE update on obsidian-second-brain: The Architect"
/obsidian-architect · document your codebase into your vault · the full before-and-after

Deep dive: "I rebuilt Karpathy's LLM Wiki. Here's what's missing from the original."
Why append-only breaks at scale · the AI-First Vault Principle · three bugs in v1

Origin story: "I built this for myself. Then 1,374 strangers cloned it."
Two disconnected tools · the institutional-amnesia problem · 1,000+ stars in 7 weeks

One post per Tuesday on Obsidian + AI workflows and bringing AI into real work.

Research toolkit · dual-track
/x-read · /x-pulse · /research · /research-deep · /notebooklm · /youtube · /podcast

Open-web track · /research-deep via Perplexity + Grok. Pulls fresh signal from outside.
Source-grounded track · /notebooklm via Gemini File Search. Reads your own vault.
Run both for high-stakes topics. Contradictions across the two are where the insight is.

Built by Eugeniu Ghelbur · AI Automation Engineer @ Single Grain
building in public · sharing what works

Follow along

Weekly posts on AI second-brain systems, vault patterns, and what actually works.

Follow on X Connect on LinkedIn Subscribe on Substack Follow on GitHub



How It Works

  +------------------------------------------+
  |                                          |
  |   LAYER 1: Operations (28 commands)      |
  |   Claude remembers everything            |
  |                                          |
  +------------------------------------------+
  |                                          |
  |   LAYER 2: Thinking Tools (9 commands)   |
  |   Claude thinks with you                 |
  |                                          |
  +------------------------------------------+
  |                                          |
  |   LAYER 3: Context Engine (1 command)    |
  |   Claude knows who you are               |
  |                                          |
  +------------------------------------------+
  |                                          |
  |   LAYER 4: Research Toolkit (7 commands) |
  |   Claude pulls knowledge in              |
  |                                          |
  +------------------------------------------+
  |                                          |
  |   ALWAYS ON                              |
  |   Background agent + 4 scheduled agents  |
  |   Auto-synthesis + save reminders        |
  |                                          |
  +------------------------------------------+

47 commands total. The calendar command (/obsidian-calendar) is Claude Code only (needs the Google Calendar MCP), so the Codex / Gemini / OpenCode / Hermes / Pi / Agent Skills builds ship 46.

Layer 1 saves, organizes, ingests, reconciles, exports, schedules your calendar, and maintains your vault. Layer 2 challenges your ideas, surfaces hidden patterns, bridges unrelated domains, and graduates ideas into projects. Layer 3 loads your identity and current state so every session picks up where the last one ended. Layer 4 pulls live external knowledge into the vault: X posts, X trends, web research with citations (key-less by default), YouTube and podcast transcripts. Vault-first synthesis knows what you already know. Always On keeps the vault alive without you lifting a finger.


47 Commands

Operations -- Claude remembers

CommandWhat it does
/obsidian-saveSaves everything from the conversation -- decisions, tasks, people, ideas
/obsidian-ingestDrop a URL, PDF, audio file, or screenshot. The vault REWRITES itself. 5-15 pages touched per source.
/obsidian-synthesizeAuto-finds patterns across sources and writes synthesis pages
/obsidian-reconcileFinds contradictions and resolves them. The vault maintains its own truth.
/obsidian-exportClean JSON/markdown snapshot any AI tool can read
/obsidian-dailyCreates or updates today's daily note
/obsidian-calendar <mode>One calendar command, four modes: agenda (read a snapshot), reconcile (flag commitments not yet scheduled), meeting (event to note), schedule (create/move an event from a task or standalone)
/obsidian-recurringTracks a recurring obligation with a cadence and a computed next-due date
/obsidian-logLogs a work session, links it everywhere
/obsidian-taskAdds task to the right board with priority and due date
/obsidian-personCreates or updates a person note
/obsidian-captureZero-friction idea capture
/obsidian-catchupProcess captures dumped from the Telegram bot (voice/text/image/PDF/link) into the vault
/obsidian-findSmart search with context
/obsidian-recapSummary of a day, week, or month
/obsidian-reviewStructured weekly or monthly review
/obsidian-boardKanban board view and updates
/obsidian-board-hygieneBulk-triage a board -- surface stale/overdue items, then archive / reschedule / mark-Done in one pass
/obsidian-projectProject note with board and daily links
/obsidian-projectsLive project status from git + local docs -- infers all context from vault notes, no config required
/obsidian-healthVault audit -- contradictions, gaps, stale claims, orphans, freshness violations (the freshness policy: every fact timeless, dated, or a pointer), typed-edge lint (unknown types, dangling targets, contradiction cycles in the relations: graph), and a tag taxonomy audit (opt-in via _meta/taxonomy.md)
/obsidian-mergeMerge two near-duplicate notes from /obsidian-health into one -- dry run by default, frontmatter union, retired note becomes a redirect (never deleted)
/obsidian-reindexRefreshes the incremental semantic index and reports coverage before and after, with clear embedding-backend failures
/obsidian-retrieval-evalMeasures vault search quality -- recall@k + MRR on natural-language questions, with the concrete failures and ranked fixes
/obsidian-decide [--formal]Logs decisions to the right project notes; --formal writes a full ADR record (the vault knows why it's structured this way)
/obsidian-visualizeGenerates a visual canvas map of your second brain
/obsidian-learnReviews vault learnings, prunes stale ones, surfaces patterns to promote into rules
/obsidian-initGenerates _CLAUDE.md, index.md, log.md
/obsidian-architectScans a codebase and writes maintained architecture notes (overview, modules, decisions) into the vault; re-run to refresh
/create-commandInterview flow that scaffolds a new command into commands/<name>.md, no markdown editing

Thinking -- Claude thinks with you

CommandWhat it does
/obsidian-brainstorm [topic]Multi-turn Socratic interview - one question per turn until the idea converges, then a design note with named alternatives
/obsidian-challengeYour vault argues against your idea using your own history
/obsidian-panelConvenes a panel of distinct perspectives on a decision, one verdict each + synthesis
/obsidian-emergeSurfaces patterns from 30 days of notes you never named
/obsidian-connect [A] [B]Bridges two unrelated domains to spark new ideas
/vault-deep-synthesis [topic]Cross-references every note on a topic: agreements, contradictions, stale claims, gaps
/obsidian-distill [note or source]Condenses a long note/source into key claims, each tagged with provenance back to the exact source block
/idea-discoveryRanks 3-5 next-direction candidates from ideas, open questions, and orphan research
/obsidian-graduateTurns an idea fragment into a full project with tasks

Context -- Claude knows you

CommandWhat it does
/obsidian-worldLoads identity + state with progressive token budgets (L0-L3)

Research -- Claude pulls knowledge in

Powered by xAI Grok (live X access) + Perplexity Sonar (web research) + YouTube. Findings save to Research/ as AI-first notes (preamble, frontmatter, recency markers, sources verbatim).

CommandWhat it does
/x-read [url]Deep-read an X post: verbatim post + thread + TL;DR + claims + reply sentiment + voices
/x-pulse [topic]Scan X for what's trending: themes, voices, hooks, post ideas
/research [topic]Web research with citations: full dossier with recency markers and open questions. Uses Perplexity when keyed, free key-less sources (Wikipedia, HackerNews, arXiv, Reddit, and more) otherwise
/research-deep [topic]Vault-first synthesis (open web): scans your va

Files in the repo

Repository payload36 top-level entries
  • _includes
  • .claude-plugin
  • .github
  • adapters
  • commands
  • docs
  • examples
  • hooks
  • integrations
  • media
  • references
  • scripts
  • tests
  • _config.yml
  • .env.example
  • .gitattributes
  • .gitignore
  • AI-FIRST.md
  • architecture.md
  • CHANGELOG.md
  • CITATION.cff
  • CLAUDE.md
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • DEMOS.md
  • ECOSYSTEM.md
  • FORK_INSIGHTS.md
  • install.sh
  • LICENSE
  • llms.txt
  • pyproject.toml
  • README.md
  • SECURITY.md
  • SKILL.md
  • update.sh
  • uv.lock

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More plugins

Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.

138k
1 add

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

82k
code-yeongyu/
oh-my-openagent

OmO: Just type "mass ulw" keyword with your prompt. Now you are the master of graph engineering.

69k

Persistent 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

94k

Opinionated Oxlint rules for rejecting low-evidence TypeScript and JavaScript patterns

4.3k