CLAUDE.md: the orchestrator
One file, read at the start of every session. Its job is to route, not to contain everything.
9 min read
Curious
0 XPCLAUDE.md is a plain markdown file in your project folder. Claude Code reads it automatically at the start of every session, before you type anything.
That is the whole mechanism. There is no config, no syntax, no schema. It is a note to your colleague, and your colleague actually reads it.
The mistake almost everyone makes
The first version of a CLAUDE.md is usually a dump. Everything the person knows, in one file, in no order. It grows to 400 lines and stops working.
It stops working for a simple reason. A long file competes with itself. Rule 12 and rule 88 disagree, and neither of you noticed, because nobody reads a 400-line file top to bottom.
A dump
- Everything in one file, no sections
- Rules repeated in three places, slightly differently
- Client details mixed in with global rules
- You cannot answer "where does this rule go?"
- Grows until nobody reads it
An orchestrator
- Intake, pipeline, principles, file map
- Each rule stated once, in one place
- Client specifics live in client folders
- Every rule has an obvious home
- Stays short because it points elsewhere
The five sections that work
This structure comes from a file that has survived a hundred-plus articles and ten clients. Copy the shape, not the content.
# CLAUDE.md – <project> article system ## 1. Intake (never skip, never guess) The questions to ask before any work starts. ## 2. Pipeline (the order is fixed) The stages, in order, and what each hands to the next. ## 3. Non-negotiable principles Rules that apply to everything. Short. No exceptions listed here. ## 4. Every article ships with The checklist. Tables, FAQs, link counts, takeaways. ## 5. File map Where everything else lives, one line each.
The routing test
Before adding anything to CLAUDE.md, ask: does this apply to every single thing I write? If the answer is no, it goes in a skill, a reference file, or a client folder. CLAUDE.md is a switchboard, not a warehouse.
Make it ask, not assume
The single highest-value thing in the file is the intake section. Not because the questions are clever, but because it stops the model guessing.
A guessed client means a wrong product description. A guessed reader means the wrong reading level. Both are invisible until someone who knows the client reads the draft.
Build your CLAUDE.md
120 XP+30 perfectAnswer seven questions and walk away with a real orchestrator file. Not a template with blanks in it. A working file with your client model, your voice, and your sitemap already in place. Finish this and you unlock the Architect badge.
Your company, your client, or just the topic. It becomes the title.
One sentence, and be specific. "Marketers" is useless. "The ops manager who has to fix stockouts this week" is useful.
Internal links get checked against this every session. Guessed slugs 404, and a 404 in the body is worse than one fewer link.
This decides how many internal links every article needs, and whether a CTA is allowed at all.
Get this wrong and every article sounds like it was written by the wrong company.
This is invisible on a read-through and mixes itself into a batch without anyone noticing.
Do this now
- 1
Download the file you just generated and drop it in a real project folder.
mv ~/Downloads/CLAUDE.md ~/my-content/CLAUDE.md
- 2
Start Claude Code in that folder and ask it to read the file back to you.
cd ~/my-content && claude > Read CLAUDE.md and tell me what you will do differently.
You are checking that it actually loaded. If the answer is generic, you are in the wrong folder.
- 3
Delete any line you would not actually enforce.
A rule nobody enforces teaches the model that rules are optional. Fewer real rules beat more decorative ones.
Finished reading?
Mark it done to bank the XP and keep your streak alive. Any challenges on this page score separately, so you can come back for a perfect run later.