Daniel Cohen
runningApr '26 to now

Second brain

A git-backed folder of plain markdown that Claude reads at every session start, files new notes into and maintains.

Why I built itI kept re-explaining my context and pasting notes into AI chats, so I moved my notes into a folder Claude reads first.
  • My second brain started in Notion, separate from the AI chats I worked in.
  • Projects in ChatGPT and Claude let me share saved information between chats. I still copied context in by hand.
  • After some months of coding, I moved it to markdown in git (Apr '26). Claude maps, stores and retrieves my notes with a single prompt.
  • Git gives search, history and a diff for every change Claude makes.
  • A weekly sweep archives what is done, because notes pile up and nothing removes them by default.
Status
running
When
Apr '26 to now
Type
Personal system, markdown in git
My role
Solo, with Claude as the interface

The product question

Can one folder of plain text be the memory for my whole life and work, with Claude as the interface?

Scope

Apr '26 to now
from the first commit in the vault to today
5 top-level folders
the PARA layout: inbox, projects, areas, resources, archive
1 template
the same structure shipped empty in the toolkit, with no personal content

What I tried

I wanted one place that holds what I know and what I decided, so that no session with Claude starts from zero.

  • The vault is a git repo of markdown files in PARA folders: inbox, projects, areas, resources and archive. It covers my work and my personal areas.
  • Claude reads it at every session start. It files new notes into the right folder and keeps the indexes current.
  • Memory is a folder of one-fact notes, each with a Why and a How to apply.
  • Logs are append-only. Routines run the weekly review and the sweeps.
  • A voice file holds how I write. A Drive map points to the binary files that do not belong in git.
  • Notes pile up and nothing removes them, so the weekly review and the archive sweep carry the system.

Decision timeline

  1. Started the vault as a git repo of markdown in PARA folders.

  2. Rebuilt the Claude setup around it: one memory folder under git, a short global instruction file and the rule that each fact has one home.

  3. Turned the structure into an empty template for the toolkit. It holds no personal content.

Questions I asked along the way

  • Where should Claude's memory live?

    Option rejected
    A memory folder per repo plus one per machine. The old setup had two memory directories, so the same fact could sit in both.
    What happened
    Memory moved to one folder inside the vault, under git, with an index capped at 80 lines. The folder sits outside .claude/ because Claude Code asks before every write to a .claude path.
  • How much should load at the start of every session?

    Option rejected
    Keeping the old stack, which loaded about 11,100 tokens before I typed anything.
    What happened
    The rebuild cut it to about 1,800 tokens. A rule stays only if it answers a failure I saw twice.
  • Can one file summarise another, or mirror it?

    Option rejected
    A mirrored copy of a file in a second repo, with nothing to keep the two in step.
    What happened
    The rule is one fact, one home: no file summarises another. A mirror exists only with a pre-commit guard that fails when the copies differ.

What happened

Running. Claude reads the vault at the start of each session, files into it and keeps it in order.

  • The pieces that hold up are the ones with a fixed place: a memory note with a Why, a log that only grows, an index per folder.
  • The pieces that rot are lists someone must remember to update, so the template keeps volatile state out of the instruction file.

What I took from it

  • One fact, one home. No file summarises another, so nothing needs two edits to stay true.
  • Files state the current conclusion. History lives in git, so a reader gets the answer and the log is one command away.
  • The template and a ten-minute setup are on the Second brain tool page.