Daniel Cohen

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.
10 minClaude CodeClaude appOpen second-brain/ on GitHub
memory/feedback-confirm-before-filing.mdMemory note
---
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: /init briefs a session, /capture files the inbox, /weekly-review runs the hygiene pass and /archive-sweep proposes 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

  1. 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.
  2. Files state the current conclusion. History is git. A note reads as if it had always been true, and git log holds 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 is date,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 10-minute path

  1. Copy the scaffold and make the first commit (2 minutes).
  2. Fill in .claude/CLAUDE.md. Two language placeholders, then read the two rules (2 minutes).
  3. Register the memory folder and the session-start pull in ~/.claude/settings.json (2 minutes).
  4. Start Claude in the vault and run /init. An empty vault reports almost nothing, which is the right answer (2 minutes).
  5. Drop three loose notes into 00-inbox/ and run /capture. Commit (2 minutes).

Try one note

First prompt
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

AssistantSupport
Claude CodeCommands, the log-entry skill, the session-start pull and the memory folder.
Claude appReads and writes the files in the folder. The commands and the pull need Claude Code.
Other assistantsAny 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.