← Build Log
· 8 min read

How I built a second brain with Claude and Obsidian

A plain-text knowledge base that an AI can actually read, write to, and reason over. The setup I use, and what I'd do differently.

second brainobsidianclaudeaisetup

For years my notes lived in a dozen apps that refused to talk to each other. Then I rebuilt everything around a single idea: store knowledge as plain text, in folders, so an AI can read it, write to it, and reason over it. That is the whole trick. Here is the setup I use, why each piece is there, and what I would change if I started over today.

The principle: plain text wins

Everything lives as Markdown files in one folder (a “vault”). No proprietary database, no lock-in, no export button to dread. Plain text is the most durable format there is, and, conveniently, it is the format AI models handle best. If your notes are plain text in folders, any capable model can navigate them like a codebase.

That single decision is what makes everything else possible.

The stack

  • Obsidian: a free, local-first Markdown editor. It is really just a nice window onto a folder of .md files. Use it for linking notes, search, and the graph view.
  • Claude Code: an agent that runs in your terminal with read and write access to that same folder. This is the brain that reads and writes your notes.
  • Git (optional, but do it): version history and backup. Your second brain is too valuable to live on a single disk that could die on a Tuesday.

That is it. No servers, no subscriptions beyond the AI itself.

Structure: PARA, lightly

I organise the vault with PARA, four top-level folders:

  • Projects: things with a deadline or an outcome.
  • Areas: ongoing responsibilities (work, health, finances).
  • Resources: reference material I will reuse.
  • Archive: done or dormant.

PARA is popular for a reason: it is shallow, it is obvious, and an AI can predict where something belongs. Do not over-engineer the hierarchy.

The one file that makes it work: the index

The single highest-leverage thing I added is a VAULT_INDEX.md at the root: a one-line summary of every note, grouped by folder. When I start a session, the AI reads the index first. It is a map, enough to know which notes are relevant, so it can then open only those.

This matters for two reasons:

  1. Token cost. Reading a 60-note index is cheap. Reading 60 full notes is not.
  2. Accuracy. A model with a good map makes far better decisions about what to read than one that is guessing.

The rule I follow: the index is a pointer, never the content. The AI always opens the actual note before answering. The index just tells it where to look.

Two commands do all the work

I wrapped the whole workflow into two reusable commands. In Claude Code these are saved as slash-commands, which are just prompts you store in a file and trigger by name.

/second-brain-load: orient the AI

Reads the index, confirms what is in the vault, and announces it is ready. I run it at the start of any session where I will ask questions about my own knowledge. Thirty seconds, and the assistant knows the shape of everything I know.

/second-brain-import: file new content

This is the workhorse. I paste in a transcript, an article, a voice-note dump, or a meeting summary, and the command:

  1. Decides which PARA folder it belongs to.
  2. Distils it (I have different modes, from full capture to a tight summary).
  3. Writes it as a clean note with consistent frontmatter (tags, status, source).
  4. Updates the index so the new note is discoverable next time.

The discipline of always updating the index on write is what keeps the system from quietly rotting.

What it’s actually good for

  • Recall across time. “What did I conclude about X last year?” gets answered from my own notes, not a generic web result.
  • Connecting ideas. The AI spots links between a book note and a work problem that I would never have joined by hand.
  • Drafting from my own material. This very article was drafted from my notes about building the system. The brain writes about itself, which is either elegant or slightly unsettling, depending on the hour.
  • No more copy-paste. This is the one I underestimated. Instead of digging out a note and pasting it into the chat, I just tell Claude “read my note on X.” It pulls the context itself. Over a week, that saves far more fiddling than it sounds like it should.

What I’d do differently

  • Start the index on day one. I added it late and had to backfill. Don’t.
  • Keep frontmatter boring and consistent. A fixed set of fields (tags, status, source, date) beats creative metadata every time. Consistency is what the AI leans on.
  • Resist folder depth. Keep things simple, let the AI create the links where needed
  • Version it from the start. Put the vault in Git early. Future-you will want the history, usually right after deleting something they shouldn’t have.

The honest caveat

A second brain is a tool, not a personality transplant. It will not think for you. It makes the thinking you already do compound. The value shows up as the notes accumulate and the connections get richer. The first week feels like overhead. A few months in, it feels like a superpower.

Ready to build your own? The full setup, prerequisites, and copy-paste prompts are all in the hands-on build guide.


First in a series on building with AI around a full-time job. Next: turning this same idea into a personal assistant that handles tasks, calendar, and the people you keep meaning to call.