obsidian-brain

A starter Obsidian vault wired as a Karpathy-style second brain — file-based AI memory, model-agnostic, local. Companion repo for the Substack post.

second-brain-template

A starter Obsidian vault wired to work as a Karpathy-style LLM OS second brain — the AI (Claude Code by default, but the pattern is model-agnostic) lives inside your knowledge graph instead of being called across an API boundary.

File-based memory. Local. Git-versioned. Readable. Portable.

Context: Anthropic shipped Claude Managed Agents memory on 2026-04-23 with the same file-based memory primitive. This repo is the model-agnostic, local, do-it-yourself version — the same shape, no platform lock-in.

What's in here

.
├── CLAUDE.md                       # Vault-level operating instructions (the AI's constitution)
├── MEMORY.md                       # Cross-session memory index
├── .claude-memory/                 # Per-topic memory files (user / feedback / project / reference)
├── Templates/                      # Note templates: Daily, Project, Idea, Learning, Person, Meeting, Course, Council
├── Resources/
│   └── Tools/
│       ├── Second-Brain System Runbook.md    # Operational spec for scheduled agents
│       └── Council Procedure.md              # 5-persona deliberation ritual for high-stakes decisions
├── scripts/
│   └── setup.sh                    # Bootstrap: creates standard folders + reminds you of next steps
└── .claude/
    ├── commands/
    │   └── council.md              # Slash command — invoke the council with /council <question>
    └── settings.example.json       # Example Claude Code permissions config

Notable features

  • File-based memory (MEMORY.md + .claude-memory/) — the AI's continuity across sessions, owned by you. See .claude-memory/README.md for the full spec.
  • Proactive linking — the AI is instructed to wikilink every entity it encounters, treating graph density as a primary job function rather than an afterthought.
  • Active growth layer — the AI maintains a Research Log, Teaching Queue, and auto-ingests sources into Resources/Learning/Auto/ even when you don't ask. The vault grows while you sleep.
  • The Council — a 5-persona deliberation ritual (/council <question>) for decisions you don't trust a single take on. Default personas are Skeptic / Builder / Analyst / Operator / Outside Voice; rewrite them to match your decision style. Procedure spec in Resources/Tools/Council Procedure.md; slash command at .claude/commands/council.md.
  • Scheduled cycles — morning brief, evening sweep, weekly review specs all live in Resources/Tools/Second-Brain System Runbook.md. Wire them up using your LLM's scheduling primitive (Claude Code's schedule skill, cron, etc.) or run them manually.

Who this is for

You if you:

  • Want an AI assistant that remembers you across sessions without a proprietary memory platform
  • Use Obsidian (or are willing to) for notes
  • Use Claude Code, or another CLI-capable LLM assistant you can point at a directory
  • Are comfortable with git and plain markdown

You probably don't want this if you need a turnkey SaaS, a mobile-first UX, or a team/multi-user system out of the box.

Quick start (≈30 minutes)

  1. Get the repo. Click "Use this template" on GitHub, or:
    git clone https://github.com/YOUR_USERNAME/YOUR_VAULT_NAME.git
    cd YOUR_VAULT_NAME
    
  2. Open in Obsidian. Point Obsidian's "Open folder as vault" at this directory.
  3. Run the bootstrap script. Creates the standard folders (Daily Notes/, Projects/, Ideas/, etc.):
    bash scripts/setup.sh
    
  4. Install Claude Code (or your preferred CLI LLM) and point it at the vault.
  5. Fill in the Owner section of CLAUDE.md (name, context, current commitments, career thesis if you have one). This is the personality layer — leave the structural rules alone unless you know why you're changing them.
  6. Seed one memory. Copy one of the example memory files in .claude-memory/ to a new file, edit it to reflect something true about you, and add a line to MEMORY.md.
  7. Start talking. Let the AI write to daily notes, memory files, and the Learning folder as you work. The graph grows itself.

The philosophy (the short version)

Three load-bearing ideas:

  1. Proactive linking. Every note that gets touched gets its entities wikilinked. Under-linking is a failure mode. The graph's density is the system's intelligence.
  2. Memory is files. Not a vector store, not a platform feature, not a hosted service — plain markdown files in git. Exportable, editable, readable, diff-able, model-agnostic.
  3. The AI grows the vault unprompted. Not just when you ask. Research Log, Teaching Queue, source ingestion, pattern surfacing — the vault expands while you sleep.

Everything else in CLAUDE.md flows from those three.

Customize

The pieces you'll likely change:

  • CLAUDE.md Owner section — who you are, your context, your active projects
  • Folder structure — the default is PARA-ish (Projects / Areas / Resources / Archive) with Daily Notes, Inbox, and Ideas on the side. Reshape freely.
  • Templates — tweak the frontmatter fields and section order to match your work
  • Scheduled agents — the Runbook spec documents how a morning-brief agent should behave; wire it up using Claude Code's schedule skill or equivalent

The pieces that earn their keep unchanged:

  • The memory system (MEMORY.md + .claude-memory/) — changing this breaks continuity across sessions
  • Proactive linking principle — degrading this degrades everything downstream
  • Daily note live-capture dispatch table — the AI uses it to decide where to write

Credits

License

MIT — see LICENSE.

Related

How to Install

  1. Download the ZIP or clone the repository
  2. Open the folder as a vault in Obsidian (File → Open Vault)
  3. Obsidian will prompt you to install required plugins

Stats

Stars

0

Forks

0

License

MIT

Last updated 5mo ago

Categories