anyproto / claudemd-maintainer

Context-aware guidance for maintaining and improving CLAUDE.md files. Use when editing CLAUDE.md, discussing documentation structure for AI assistants, or optimizing project instructions.

0 views
0 installs

Skill Content

---
name: claudemd-maintainer
description: Context-aware guidance for maintaining and improving CLAUDE.md files. Use when editing CLAUDE.md, discussing documentation structure for AI assistants, or optimizing project instructions.
---

# 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

1. **Keep under 300 lines** - Research shows LLMs handle ~150-200 instructions reliably; performance degrades with more
2. **Never auto-generate** - Manually craft each line; auto-generated content often contains noise
3. **Universal applicability only** - Remove task-specific or narrow-scope guidance
4. **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:line` references 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

1. **Find duplicates**: Search for repeated concepts
   ```bash
   # Find potential duplicates
   grep -n "NEVER" CLAUDE.md | head -20
   ```

2. **Consolidate rules**: Move all critical rules to one section

3. **Replace code with references**:
   ```markdown
   # ❌ Before (takes 10+ lines)
   ### Typography
   ```swift
   AnytypeText("Title", style: .uxTitle1Semibold)
   AnytypeText("Body", style: .bodyRegular)
   ```

   # ✅ After (1 line)
   **Typography** → `path/to/TYPOGRAPHY_MAPPING.md`
   ```

4. **Move narrow guidance to skills**: If it applies to < 20% of tasks, it's a skill

### Adding New Guidance

**Before adding, ask:**
1. Does this apply to most tasks? (If no → skill or specialized doc)
2. Is there existing guidance? (If yes → consolidate, don't duplicate)
3. Can a linter/tool enforce this? (If yes → use the tool instead)
4. Will this code example outdated quickly? (If yes → use file reference)

## ⚠️ Common Mistakes

### Accumulating Hotfixes
```markdown
# ❌ 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
```markdown
# ❌ 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
```markdown
# ❌ 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`.