AI Guides › Workbench

Five Project Files Claude Code Reads Before You Type

By Nigel Guy · 6 min read

Most people open Claude Code in a project and start by explaining themselves: what the business is, how it should sound, what is half-finished. Next session, they explain it again. It feels like progress because Claude answers well each time, but you are paying in typing and context for the same briefing on repeat.

The rule: anything you would say twice goes in a file, and each file does exactly one job.

This kit is five plain Markdown files. Only one of them is loaded by Claude Code automatically; the other four earn their place by being referenced from it. That distinction is the whole trick, and it is the part most template packs skip.

The five files at a glance

File Job Loaded how Cost Catch
CLAUDE.md Rules, structure, where to look Automatically, every session Free file; Claude Code is included in paid Claude plans (Pro is $20/month, about £16 at time of writing; check the £ price at checkout) Over about 200 lines, adherence drops
VOICE.md How your writing sounds Only if CLAUDE.md imports or points to it Free Examples go stale if you never update them
BUSINESS.md Who you serve, what you sell Same Free Wrong prices here get repeated confidently
TODO.md State of work between sessions Same Free Only works if it is kept current
.claude/agents/ files Named specialists When Claude delegates, or you @-mention one Free Each one adds a description to context

A naming trap to know first

The fifth file is usually called "Agents.md" in templates. That name already means something. In Claude Code's documentation, AGENTS.md is a project-instructions file shared across coding tools, and Claude reads it only when you have no CLAUDE.md in your working directory or above it (this needs a recent Claude Code version; check the memory page below). If you have both, Claude reads your CLAUDE.md files only, unless you change a setting or import AGENTS.md from CLAUDE.md.

Claude Code's actual mechanism for named specialists is subagents: Markdown files in .claude/agents/ (this project) or ~/.claude/agents/ (all projects). So in this kit, the "agents" file is a set of subagent files, not a root-level AGENTS.md.

1. CLAUDE.md: the only file that loads itself

Claude Code reads ./CLAUDE.md or ./.claude/CLAUDE.md at the start of every session, plus any in parent directories. Keep it under about 200 lines; the docs say longer files use more context and reduce adherence. Run /init to get a first draft, then cut it back to what Claude would not discover alone.

# [PROJECT_NAME]

## What this project is
[ONE_PARAGRAPH_PURPOSE]

## Folder structure
- /[FOLDER_1]: [WHAT_LIVES_HERE]
- /[FOLDER_2]: [WHAT_LIVES_HERE]

## How to navigate this repo
Before writing anything, read @VOICE.md. Before mentioning offers or prices, read @BUSINESS.md. Check @TODO.md for current state.

## Rules that always apply
- [RULE_1, e.g. British spelling]
- [RULE_2, e.g. never invent statistics]
- If an input is missing, ask; do not guess.

The @path lines are imports: the referenced file is expanded into context at launch, relative to the file containing the import, up to four hops deep. Two consequences. Imports organise a long file but do not shrink its context cost. And a path inside backticks is not imported, so write @VOICE.md bare when you want it loaded.

2. VOICE.md: show, do not describe

Adjectives like "warm but professional" do little. Paired examples do more.

# Voice

## Tone
[THREE_PLAIN_DESCRIPTIONS, e.g. direct, dry, second person]

## Words and phrases to never use
[LIST_OF_BANNED_WORDS]

## Good example
[PARAGRAPH_YOU_ACTUALLY_WROTE_AND_LIKE]

## Bad example
[PARAGRAPH_THAT_SOUNDS_WRONG] -- Why: [REASON]

Use real writing of yours, not something generated. Claude copies what it is shown.

3. BUSINESS.md: the facts Claude must not improvise

# Business

## Who I serve
[CUSTOMER_TYPE, THEIR_PROBLEM, WHAT_THEY_ALREADY_TRIED]

## What I sell
[PLAIN_DESCRIPTION]

## Current offers
| Offer | Price | Who it is for | Status |
|---|---|---|---|
| [OFFER] | [PRICE] | [AUDIENCE] | [LIVE_OR_PAUSED] |

## What Claude should never assume
- [E.G. no discounts exist unless listed here]
- [E.G. no client names or results unless pasted in]

The last section is the valuable one. It turns "Claude made up a testimonial" into a rule you can point at.

4. TODO.md: memory for work, not for rules

# Todo

## In progress
## Blocked, waiting on
## Done, not yet shipped
## Log
- [DATE]: [ONE_LINE_OF_WHAT_CHANGED]

End each session with: "Update TODO.md with what changed, what is blocked, and the next step." Claude Code also has auto memory, where Claude writes its own notes, but that is separate from this file; keeping TODO.md yours means you can read and correct it.

5. Subagent files: named specialists

Create .claude/agents/[AGENT_NAME].md. Only name and description are required in the frontmatter; tools and model are optional, and omitting tools means the agent inherits everything.

---
name: [AGENT_NAME]
description: [WHEN_CLAUDE_SHOULD_USE_THIS, ONE_SENTENCE]
tools: Read, Grep, Glob
---

You are [ROLE]. Your job is [GOAL].
Read VOICE.md and BUSINESS.md before you start.
Output: [FORMAT].
Do not: [LIMITS]. If information is missing, ask.

Give a reviewer or researcher read-only tools. Per the docs, project agents override same-named user agents, and the body loads only when the agent runs, so keep descriptions short and put detail in the body.

A starter prompt to fill the files

You are helping me set up five project files for Claude Code. Ask me one question at a time, in this order: project purpose, folder layout, writing style (ask for two real samples), customers, offers and prices, current work. Do not guess any answer; if I skip one, mark it [TO CONFIRM]. When finished, output CLAUDE.md (under 150 lines, importing the others with @ lines), VOICE.md, BUSINESS.md and TODO.md as separate code blocks. Before output, check that no file states a fact I did not give you. My project is: [PROJECT_DESCRIPTION].

Fill in the project description; Claude does the interviewing.

How to choose

Start with CLAUDE.md alone. Add VOICE.md the first time you correct tone twice. Add BUSINESS.md when Claude gets a price or audience wrong. Add TODO.md when you lose track between sessions. Add a subagent only for a task you repeat with a fixed output.

What to skip

Guardrails

Sources

All 751 AI guides · JulieMango plans from £17/mo