Setup
Second brain
A git-backed folder of markdown that Claude reads at every session start, files notes into and keeps in order.
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.
--- name: feedback-confirm-before-filing description: When an inbox item fits two folders, ask once before filing it type: feedback --- When an item in 00-inbox/ could belong to a project or to an area, ask which one before filing it. Leave it in the inbox until I answer. **Why:** two notes went into 01-projects/ on a guess, finished projects were archived with them, and the notes were hard to find a month later. **How to apply:** during /capture and /weekly-review, list ambiguous items in one table with the two candidate folders. File only the clear ones. Ask one question per ambiguous item.
An invented memory note from the template. The index line in memory/MEMORY.md points to it.
What you get
An empty template with the structure of my own vault.
- Five PARA folders for inbox, projects, areas, resources and archive, with an index for areas and one for resources.
- Four commands:
/initbriefs a session,/capturefiles the inbox,/weekly-reviewruns the hygiene pass and/archive-sweepproposes what to retire. - A memory format of one fact per file, each with a Why and a How to apply, plus an index of one line per memory.
- A log-entry skill that appends a row to a CSV log with the units in the column names.
- A routine pattern for keeping a scheduled prompt in git, and a session-start hook (a small script that runs on its own when a session starts) that pulls the vault.
- Three worked examples: log a workout, dictate a story with names checked against a registry, and file the inbox.
Two rules in the instruction file
- One fact, one home. A fact lives in one file and other files link to it. No file summarises another, so nothing needs two edits to stay true.
- Files state the current conclusion. History is git. A note reads as if it had always been true, and
git logholds how it changed.
Three examples
- Log a workout. In the sample, you say "Ran 4.6 km in 27 minutes, easy" and the log-entry skill appends
2025-10-15,run,4.6,27,easy,to a CSV whose header isdate,type,distance_km,duration_min,effort,note. Read the example. - Dictate a story. Paste a voice-note transcript. Claude fixes names against
registry.md, flags a number that looks misheard and files a dated entry. Read the example. - File the inbox. Run
/capture. Claude routes five loose notes, leaves two in the inbox and flags the one that holds a password. Read the example.
Copy it
Time to set up: 10 minutes. Pick the assistant you use. The choice is remembered on this device.
The full set: commands, skill, hook and memory setting.
(
set -eu
[ -d "$HOME/how-i-work" ] || git clone https://github.com/DanielErCohen/how-i-work.git "$HOME/how-i-work"
mkdir "$HOME/my-second-brain"
cp -R "$HOME/how-i-work/second-brain/scaffold/." "$HOME/my-second-brain/"
cd "$HOME/my-second-brain"
mv README.md.template README.md
mv SOUL.md.template SOUL.md
git init
git add -A
git commit -m "Initial second brain"
)Set your git name and email if you have not. The command stops if ~/my-second-brain already exists, preserving its files. To resume an existing vault, open that folder in Claude Code. Register the memory folder and session-start pull with the hooks guide.
Copy the scaffold, then give the app access to that folder. The files, the memory format and the examples work as they are. The commands and the session-start pull need Claude Code.
(
set -eu
[ -d "$HOME/how-i-work" ] || git clone https://github.com/DanielErCohen/how-i-work.git "$HOME/how-i-work"
mkdir "$HOME/my-second-brain"
cp -R "$HOME/how-i-work/second-brain/scaffold/." "$HOME/my-second-brain/"
)The command stops if ~/my-second-brain exists. Use the existing folder to resume your work.
The vault is plain markdown in git, so any assistant that reads a folder can use it. Open the link, copy the text of .claude/CLAUDE.md (the map file: a note Claude reads at the start of every session) and paste it into the assistant's instructions.
https://raw.githubusercontent.com/DanielErCohen/how-i-work/main/second-brain/scaffold/.claude/CLAUDE.mdThe 10-minute path
- Copy the scaffold and make the first commit (2 minutes).
- Fill in
.claude/CLAUDE.md. Two language placeholders, then read the two rules (2 minutes). - Register the memory folder and the session-start pull in
~/.claude/settings.json(2 minutes). - Start Claude in the vault and run
/init. An empty vault reports almost nothing, which is the right answer (2 minutes). - Drop three loose notes into
00-inbox/and run/capture. Commit (2 minutes).
Try one note
Read the vault instructions and propose a home for this note. Explain the choice and ask before moving or creating files.
Note: [paste one loose note]Expected result: a proposed folder and file name, or a question if the note could belong in more than one place.
Where it works
| Assistant | Support |
|---|---|
| Claude Code | Commands, the log-entry skill, the session-start pull and the memory folder. |
| Claude app | Reads and writes the files in the folder. The commands and the pull need Claude Code. |
| Other assistants | Any assistant that reads a folder of markdown can use the files and the conventions. |
What the template leaves out
The template holds no personal content.
- It is the structure of my own vault with the contents removed.
- It keeps volatile state out of the instruction file, because a project list there goes stale within weeks.
- REDACTION.md lists what to keep out of any vault you share.
Came from
The template is the shape of the vault I run, described on the Second brain project page.
- The memory format comes from the Claude rebuild of Sep '26, in Claude Code setup.