CLAUDE.md Maintainer (Smart Router)
Purpose
Context-aware guidance for maintaining and improving CLAUDE.md files. Helps ensure the file stays effective, concise, and follows best practices for LLM instruction files.
When Auto-Activated
- Editing or discussing CLAUDE.md
- Keywords: claude.md, project instructions, onboarding claude, context file
- Discussing documentation structure for AI assistants
π¨ CRITICAL RULES
- Keep under 300 lines - Research shows LLMs handle ~150-200 instructions reliably; performance degrades with more
- Never auto-generate - Manually craft each line; auto-generated content often contains noise
- Universal applicability only - Remove task-specific or narrow-scope guidance
- File references over code snippets - Code embeds become outdated; paths stay accurate
π Effective CLAUDE.md Principles
What To Include (WHAT, WHY, HOW)
| Category | Include | Avoid |
|---|---|---|
| Stack | Technologies, architecture overview | Exhaustive dependency lists |
| Critical Rules | Must-follow behaviors (consolidated) | Duplicate rules across sections |
| Quick Commands | Essential build/run commands | Full command reference |
| File References | Paths to detailed guides | Embedded code that can outdated |
| Common Mistakes | Documented actual failures | Hypothetical warnings |
What To Exclude
- Code style guidelines β Use linters instead (SwiftFormat, ESLint, etc.)
- Exhaustive command references β Point to tool documentation
- Task-specific instructions β Put in skills or separate docs
- Code snippets β Use
file:linereferences instead
π― Progressive Disclosure Pattern
Level 1: CLAUDE.md (~100-150 lines ideal, max 300)
ββ Critical rules (must-follow behaviors)
ββ Quick start (essential commands only)
ββ High-level architecture
ββ Pointers to Level 2 and 3
Level 2: Skills (.claude/skills/)
ββ Domain-specific quick references
ββ Decision trees and workflows
ββ "β Routes to" comprehensive docs
Level 3: Specialized Guides
ββ Complete technical documentation
ββ Full examples and edge cases
ββ Troubleshooting guides
π Quick Audit Checklist
When reviewing CLAUDE.md:
- Line count under 300? (
wc -l CLAUDE.md) - No duplicate rules? (Search for repeated concepts)
- Code snippets minimized? (Replace with file path references)
- Narrow-scope items removed? (Move to skills)
- Critical rules consolidated? (Single authoritative location)
- File references current? (Paths still valid)
- Common mistakes documented? (Actual failures, not hypotheticals)
π Optimization Workflow
Reducing Line Count
-
Find duplicates: Search for repeated concepts
# Find potential duplicates grep -n "NEVER" CLAUDE.md | head -20 -
Consolidate rules: Move all critical rules to one section
-
Replace code with references:
# β Before (takes 10+ lines) ### Typography ```swift AnytypeText("Title", style: .uxTitle1Semibold) AnytypeText("Body", style: .bodyRegular)β After (1 line)
Typography β
path/to/TYPOGRAPHY_MAPPING.md -
Move narrow guidance to skills: If it applies to < 20% of tasks, it's a skill
Adding New Guidance
Before adding, ask:
- Does this apply to most tasks? (If no β skill or specialized doc)
- Is there existing guidance? (If yes β consolidate, don't duplicate)
- Can a linter/tool enforce this? (If yes β use the tool instead)
- Will this code example outdated quickly? (If yes β use file reference)
β οΈ Common Mistakes
Accumulating Hotfixes
# β WRONG - Adding one-off rules
### Special Note (2025-01-15)
Remember to always check X when doing Y...
# β
CORRECT - Add to appropriate skill or remove
Duplicating Rules
# β WRONG - Same rule in 3 places
## Critical Rules: NEVER add AI signatures
## Pre-Commit: NO AI signatures
## PR Format: No "Generated with Claude"
# β
CORRECT - Single consolidated rule
## Critical Rules
2. **NEVER add AI signatures anywhere** - No Co-Authored-By, no emoji signatures
Embedding Code That Outdates
# β WRONG - Code will outdated
```swift
Image(asset: .X32.qrCode) // What if asset name changes?
β CORRECT - File reference stays accurate
Icons β Modules/Assets/.../ImageAsset.swift:45
## π Research & Best Practices
**Source**: Based on industry practices and LLM behavior research
### Key Findings
- LLMs handle ~150-200 instructions reliably
- Performance degrades with additional instructions
- Irrelevant context may be ignored entirely (Claude adds "this context may or may not be relevant")
- Code snippets in docs become maintenance burden
- Progressive disclosure reduces context overhead
### Recommended Metrics
| Metric | Target | Max |
|--------|--------|-----|
| Total lines | 100-150 | 300 |
| Code blocks | 2-4 | 6 |
| Critical rules | 3-5 | 10 |
| Sections | 6-8 | 12 |
## π Related
- `.claude/skills/README.md` - Skills system overview
- `.claude/skills/skills-manager/SKILL.md` - Managing the skills system
- Progressive disclosure architecture documentation
---
**Navigation**: This skill helps maintain CLAUDE.md quality. For skills system management, see `skills-manager`. For adding new skills, see `.claude/skills/README.md`.
