Skip to content

CLAUDE.md routes, never inlines

Treat forge/CLAUDE.md the same way MEMORY.md is treated: an index file with the bare load-bearing doctrine essentials inlined because nothing else auto-loads. New content goes to a routing target, not the file itself.

Why: every line of CLAUDE.md loads in every session and eats context budget. Section 12 of FORGE-DOCTRINE pins MEMORY.md at a 200-line cap for the same reason. CLAUDE.md is currently 165 lines (healthy), and we want to keep it there. Hack #15 from Nate Herk's "32 Tricks" video confirms this is industry practice.

How to apply: - Adding a tool, pipeline, or skill: write the topic file at memory/general/reference_<topic>.md, add a one-line index entry to MEMORY.md, and only add a row to CLAUDE.md's Quick Commands table if it is a frequently-used slash command. - Adding a domain (new brand, new infra layer, new system): create a system-map/<thing>.md, link from CLAUDE.md's "Where to Look for More" table. - Adding a workflow/playbook: write docs/<thing>-playbook.md and add a Code Word trigger if Justin wants to invoke it by name. - Adding behavior rules: those go to FORGE-DOCTRINE.md (doctrine source of truth) or to a feedback_*.md memory entry, not CLAUDE.md. - The Doctrine Hard Rules section IS allowed to grow with the doctrine, but only the verbatim load-bearing essentials. Anything explanatory belongs in FORGE-DOCTRINE.md. - Brand-scoped brands/<brand>/CLAUDE.md files follow the same pattern: thin briefing, route to brand README and recent handoffs.

Validated by: Hack #15 in Nate Herk's "32 Tricks to Level Up Claude Code" + audit at memory/handoffs/claude-md-and-mcp-audit-2026-05-01.md.