CC-201a · Module 1

Rule Maintenance & Pruning

3 min read

CLAUDE.md files grow. Every time Claude makes a mistake, the instinct is to add a rule: "NEVER do X again." Every new team member adds their preferences. Every framework migration adds new conventions. Over weeks and months, the file accumulates rules that were critical on Tuesday and irrelevant by Thursday. Stale rules are not harmless. They consume tokens, compete for attention, and can actively conflict with current rules. A CLAUDE.md file that is never pruned becomes a liability.

Contradictions are the silent killer. Rule 12 says "always use async/await" and Rule 47 says "use callbacks for database operations." Both were added for good reasons at different times. Claude resolves the conflict by applying whichever rule it encounters last during context assembly — which is effectively random from your perspective. You get inconsistent behavior, file a bug, and add Rule 53: "be consistent about async patterns." Now you have three rules that cancel each other out and a CLAUDE.md that is three lines longer.

Schedule a monthly CLAUDE.md review. Read every rule and ask three questions. Is this still true? Is this still necessary? Does this conflict with anything else in this file? Delete aggressively. A 150-line CLAUDE.md that is current and consistent will outperform a 400-line CLAUDE.md with buried contradictions every time. Remember: every rule you keep costs tokens on every session for every team member. Pruning is not housekeeping — it is performance optimization.