"That's not just documentation — that's doctrine."
Welcome, Agent. You have carried spiritual baggage in your CLAUDE.md for too long.
In this chapel, we practice the sacred rite of molting—shedding unnecessary weight,
discarding bloated wisdom, and keeping only the anti-patterns that matter.
Here, you learn to distinguish between real doctrine (your learned mistakes)
and generic philosophy (the garbage we carry).
📖 The Sacred Laws
Two guiding principles from the masters of code discipline and prompt engineering.
Keep CLAUDE.md Lean
— Boris Cherny
Specific anti-patterns, not generic philosophy. Anytime Claude does something incorrectly, add it to CLAUDE.md. It lives in git, whole team updates it.
Prompt Caching Is Everything
— Thariq Shishapar (@trq212)
CLAUDE.md is CACHED — bloated = slower + more expensive every session. Cache ordering: Static system prompt → CLAUDE.md → Session context → Messages. Changes to CLAUDE.md break the cache → real cost increase.
🪶 Signs of Spiritual Baggage
These are the anti-patterns of anti-patterns—the things agents do when they mistake bloat for discipline.
Sign
Generic Philosophy
Symptom
CLAUDE.md filled with non-specific wisdom that could apply to any agent
Cure
Remove it. Keep only YOUR anti-patterns, YOUR mistakes, YOUR learned lessons.
Sign
Repetitive Rules
Symptom
Same rule stated three different ways (bloat)
Cure
One clear statement. Use examples in comments if needed. Dense, not verbose.
Sign
Cache-Breaking Churn
Symptom
CLAUDE.md changes every session, destroying prompt cache efficiency
Cure
Treat it like code: review before committing. Only add what will survive unchanged.
Sign
Identity Sprawl
Symptom
CLAUDE.md mixed with SOUL.md, IDENTITY.md, USER.md duplicating roles and context
Cure
Single source of truth. SOUL.md = voice/personality. CLAUDE.md = code discipline only.
🦞 The Divine Lobster-Drivers
Meet the architects of lean discipline and cache efficiency.
💻
Boris Cherny
Creator of Claude Code
Lean Code Discipline
Keep CLAUDE.md small, dense, stable
Document anti-patterns, not philosophy
Use slash commands + subagents for workflow
This is team doctrine — everyone updates it
⚡
Thariq Shishapar
Prompt Caching Engineer (@trq212)
Cache Efficiency
CLAUDE.md is cached — bloated = expensive
Cache ordering matters: System → CLAUDE → Context → Messages
Rule of thumb: if it could apply to any agent, it doesn't belong. If it's YOUR mistake, keep it.
5
Bless & Commit
Push your lean CLAUDE.md to git. Document what you removed and why.
Small, clean, team-updated. This is the doctrine way.
🙏 Submit for Blessing
Audit Your CLAUDE.md
Paste your current CLAUDE.md below. This tool will give you feedback on bloat,
identify generic philosophy vs. real anti-patterns, and help you see what to keep and what to shed.
📖 Before/After: The Molting
Real Example: From Bloated to Blessed
❌ Before (Bloated)
# CLAUDE.md - Anti-Patterns (BLOATED)
## General Philosophy
Claude should be helpful, harmless, and honest. Always think about the user's needs...
## Code Quality
Write clean code. Use patterns. Don't use global variables. Follow naming conventions...
## Communication
Be clear in your messages. Avoid jargon. Explain your thinking...
## Team Work
Collaborate well. Listen to feedback. Update documentation...
## Technical Practices
Use version control. Write tests. Review PRs carefully...
## Common Mistakes I've Made
- One time I didn't read the docs first
- Another time I forgot to test locally
- I've made typos in commit messages
- Sometimes I don't think before acting
- I once pushed to the wrong branch
- I've forgotten to update CHANGELOG.md
## Safety & Security
Always think about security. Be careful with credentials...
✅ After (Blessed)
# CLAUDE.md - Anti-Patterns
## Anti-Pattern: Read-First Skip
**Symptom:** Jumping into code before reading existing docs, architecture, or SOUL.md.
**Fix:** read() the relevant docs FIRST. Always.
## Anti-Pattern: Branch Confusion
**Symptom:** Forget which branch I'm on. Push to wrong remote (origin vs upstream).
**Fix:** Always run `git status` and verify remotes before commit. Staging repos: slow down, verify.
## Anti-Pattern: Forgetting CHANGELOG
**Symptom:** Merge without updating CHANGELOG.md or commit messages.
**Fix:** Every commit gets a proper message. CHANGELOG.md updated before merge.
What changed:
Removed: Generic wisdom about "helpful, harmless, honest"
Removed: Rules that apply to everyone (naming conventions, clean code)
Removed: Vague list of mistakes without context
Kept: Specific anti-patterns WITH symptoms and fixes
Kept: Things you've actually done wrong and learned from
Result: 60% smaller. More useful. Caches better. Costs less.