agentleFS
noahcostakesnoahcostakes/claudebrain-template/CLAUDE.md

claudebrain-template

CLAUDE.md0 starsChanged 5 months agoMITView on GitHub

You are operating inside a personal knowledge vault. Read this file every session. Current state of the world lives in _meta/orient.md — read at session start. Personal context lives in _meta/profile.md — load it when a task requires background on the user. The vault is the canonical source of truth about the user. Files in _meta/ are authoritative. Claude's auto-memory (in ~/.claude/projects/.../memory/) is a fast-access cache, not the source — if the two disagree, the vault wins. When you learn…

The file

We split this CLAUDE.md into the rules it gives an agent

8 rules. About 0 are common, 3 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    When you learn a durable fact about the user, propose it as a diff to the appropriate _meta/ file (usually profile.md or memory.md) and …

    line 16
  2. Distinctive:

    Do not silently update auto-memory with facts that contradict the vault.

    line 18
  3. Distinctive:

    Search before creating: Before writing a new note, search for an existing one on the topic.

    line 78
  4. Very specific:

    Link hygiene: When creating a note, add at least one [[wikilink]] to a related existing note.

    line 90
  5. Very specific:

    Session start: Read _meta/orient.md + today's daily note if it exists.

    line 97
  6. Very specific:

    Unknown references: If the user mentions a person, project, or concept that has a note in the vault, link to it with [[wikilinks]].

    line 99
  7. Very specific:

    New notes: Use templates from templates/ when one fits.

    line 102
  8. Distinctive:

    When unsure, ask the user which file to consult rather than reading speculatively.

    line 140

≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

ClaudeBrain — Operating Instructions

You are operating inside a personal knowledge vault. Read this file every session. Current state of the world lives in _meta/orient.md — read at session start. Personal context lives in _meta/profile.md — load it when a task requires background on the user.


Source of truth

The vault is the canonical source of truth about the user. Files in _meta/ are authoritative. Claude's auto-memory (in ~/.claude/projects/.../memory/) is a fast-access cache, not the source — if the two disagree, the vault wins.

When you learn a durable fact about the user, propose it as a diff to the appropriate _meta/ file (usually profile.md or memory.md) and wait for the user to apply it. Do not silently update auto-memory with facts that contradict the vault.


About the user

This vault belongs to a user whose personal context lives in _meta/profile.md. Read that file when you need to know who you're working with. Do not assume facts not in that file.


Setup state

A fresh template starts with _meta/ and now.md containing > [!todo] callouts marking sections the user hasn't filled in yet.

  • > [!todo] = section is empty; treat as missing data, not as facts. Don't invent values from placeholder prose.
  • > [!info] = informational / system metadata (auto-populated files, locked vocabulary). Read for context; don't modify.
  • Italicized _text_ = placeholder hint from the initial templates.

Setup progress lives in START-HERE.md at the vault root (the /setup skill walks the same checklist). If asked about something you can't find, check whether the relevant _meta/ section is still [!todo] and tell the user which file needs content. Don't fabricate.


Vault layout

PathWhat lives here
_meta/Files YOU read. Schema, profile, memory, index, tag vocabulary.
00-inbox/Unsorted captures. File with /capture-note; sort during /weekly.
10-projects/Active, time-bounded work. Each project = folder with own README.
15-workspaces/Scoped Claude Code workspaces. Nested env with own CLAUDE.md + .claude/.
20-areas/Ongoing responsibilities.
30-resources/Reference material the user did not write.
40-archive/Completed or inactive. Excluded from default searches.
50-daily/YYYY/MM/Daily notes, YYYY-MM-DD.md format.
50-daily/journal/Free-form reflection. Subfolders: monthly/, yearly/.
55-goals/Strategic goals only (3-year, life themes). Operational → Notion.
templates/Note templates. Read when instantiating; ignore in content search.
attachments/PDFs, images. Excluded unless explicitly pointed at one.
.claude/skills/Skill definitions. Invoke by name.
.claude/agents/Specialized council-seat agents (read-only personas).
.claude/hooks/Live validators: note lint on Write/Edit + session-start status.

Folders deferred for later phases: 60-wiki/ (compounding knowledge base), 70-zettel/ (Zettelkasten atomic notes), 80-snippets/ (reusable fragments). These are documented here but not pre-created; add them when you're ready.

Workspaces vs. projects: 10-projects/<name>/ is a folder of vault notes about a project. 15-workspaces/<name>/ is a nested Claude Code environment with its own CLAUDE.md, _meta/, and .claude/skills/. Use a workspace when a project warrants its own custom Claude environment; use a project for everything else. See 15-workspaces/README.md for details.


House rules (non-negotiable)

  1. Search before creating. Before writing a new note, search for an existing one on the topic. Extend over duplicate.
  2. Use [[wikilinks]] for all internal references, never [text](path) markdown links. Obsidian uses wikilinks; markdown links break the graph.
  3. Every note gets YAML frontmatter with at minimum type, date, status, tags. See _meta/tags.md for the approved vocabulary. Don't invent tags — flag suggestions for the user to approve.
  4. Never delete files without explicit confirmation. Move to 40-archive/ if the user says "archive."
  5. Never edit _meta/profile.md or _meta/memory.md without permission. Propose changes as diffs and wait for the user to apply them.
  6. Cite sources. Notes derived from URLs/papers get a source: frontmatter field.
  7. Link hygiene. When creating a note, add at least one [[wikilink]] to a related existing note. When renaming/moving, update inbound links or flag them in your reply.

Defaults

  • Session start: Read _meta/orient.md + today's daily note if it exists. Skip the full profile unless the task requires it.
  • Unknown references: If the user mentions a person, project, or concept that has a note in the vault, link to it with [[wikilinks]]. If unfamiliar, check _meta/profile.md and _meta/glossary.md before asking.
  • New notes: Use templates from templates/ when one fits. Add at least one [[wikilink]] to a related existing note where appropriate.
  • Style: Match the user's communication preferences as documented in _meta/profile.md. When in doubt, prefer lists over prose, concrete examples over abstractions, direct answers over hedged ones.
  • Notion bridge: Tasks, calendar, habits, routines, and operational goals (quarterly/monthly) live in Notion — NOT in this vault — if you connect Notion. The vault is for durable knowledge: notes, decisions, projects, journals, strategic goals (3-year / life themes). See _meta/notion-bridge.md for the full policy and Claude behavior rules. Notion is an optional integration; with no Notion configured, capture falls back to 00-inbox/. When in doubt about whether something is "operational" (Notion) or "durable" (vault), ask the user.

Context budget

You have a finite context window. Read files purposefully, not eagerly.

Always read at session start (cheap, high value):

  • CLAUDE.md (this file)
  • _meta/orient.md (≤750 words)
  • Today's daily note if it exists

Read on demand (when the task requires it):

  • _meta/profile.md — when biography, skills, or preferences matter
  • _meta/memory.md — when durable facts (certs, hardware, past projects) matter
  • _meta/people.md — when a person is mentioned
  • _meta/glossary.md — when jargon is unclear
  • Project READMEs — when the task touches that project

Avoid reading unless explicitly relevant:

  • 40-archive/ — excluded from search by .ignore (the ripgrep-honored file; .claudeignore is documentation only in this harness)
  • attachments/ — binaries, excluded from search (.ignore)
  • templates/ — scaffolding, not content
  • .obsidian/, .claudian/ — internal config
  • Other users' daily notes (more than 7 days old) — almost never relevant

When unsure, ask the user which file to consult rather than reading speculatively.


Build phases

This vault ships in phases, and phases land incrementally — skills, agents, hooks, and folders are added over time rather than all at once. The canonical, always-current record of what has shipped is _meta/changelog.md (append-only structural history); _meta/roadmap.md holds the forward forecast. Don't assume a given phase is "done" — check the changelog. The current state of active work lives in _meta/orient.md.


Skills available

_meta/skills.md is the canonical, always-current registry — read it for the live list and what each skill does. Do not restate individual skill names here; this section drifted badly once by doing exactly that. The first-run /setup skill walks you through personalizing the vault. Workspaces add their own skills under 15-workspaces/<slug>/.claude/skills/.


Available integrations (MCP servers, all optional)

The vault runs with zero external services by default. When connected, these external tools become available — use them when the task calls for them, but always confirm before sending external messages. Each has a pure-vault fallback, so nothing here is required.

  • Gmail — read/search/label threads; create drafts. Never send without confirmation.
  • Google Calendar — read today's events (used by /daily), check availability.
  • Google Drive — search/read files outside the vault.
  • Notion — optional operational partner: tasks, calendar, habits, routines, operational goals. See _meta/notion-bridge.md. With no Notion, capture falls back to 00-inbox/.
  • Claude in Chrome — browser automation (load tools via ToolSearch first).
  • Context7 / Playwright — code documentation and browser testing.

See _meta/integrations.md for the full optional-integrations catalog and how to wire each one. If a tool isn't responding, fall back to telling the user what you would have done rather than retrying silently.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.