claude-md-improver
anthropics/claude-plugins-official
Audit and improve CLAUDE.md files to optimize Claude Code's project context.
What is claude-md-improver?
This skill scans repositories for CLAUDE.md files, evaluates them against quality criteria, and generates targeted improvements. Use it when you need to check, audit, update, or maintain CLAUDE.md files to ensure Claude has optimal project context.
- Discovers all CLAUDE.md files across the repository (project root, local overrides, package-specific, and nested locations)
- Evaluates each file against quality criteria: commands/workflows, architecture clarity, non-obvious patterns, conciseness, currency, and actionability
- Generates a detailed quality report with scores (A–F grades) and specific issues for each file
- Proposes targeted, minimal additions based on discovered commands, gotchas, and patterns
- Applies approved updates while preserving existing content structure
How to install claude-md-improver
npx skills add https://github.com/anthropics/claude-plugins-official --skill claude-md-improverHow to use claude-md-improver
- 1.Run the skill and specify the repository or directory to audit
- 2.Review the generated quality report showing scores and issues for each CLAUDE.md file
- 3.Examine the recommended additions for each file
- 4.Approve the proposed updates
- 5.The skill applies changes to CLAUDE.md files while preserving existing structure
Use cases
- Audit a monorepo to ensure all packages have adequate CLAUDE.md documentation
- Update stale build or test commands that no longer work in CLAUDE.md files
- Document non-obvious patterns and gotchas discovered during code analysis
- Ensure CLAUDE.md files reflect current codebase architecture and dependencies
- Prepare a project for team handoff by verifying Claude has complete project context
- Development teams maintaining shared codebases
- Project leads preparing repositories for Claude Code integration
- Developers optimizing project memory and context for AI-assisted coding
- Monorepo maintainers ensuring consistent documentation across packages
claude-md-improver FAQ
It discovers CLAUDE.md files at project root (./CLAUDE.md), local overrides (./.claude.local.md), global defaults (~/.claude/CLAUDE.md), package-specific locations (./packages/*/CLAUDE.md), and any nested subdirectories.
Files are evaluated on six criteria (each weighted): commands/workflows, architecture clarity, non-obvious patterns, conciseness, currency, and actionability. Scores range from A (90–100, comprehensive) to F (0–29, missing/outdated).
No. The skill always outputs a quality report first and asks for user approval before making any updates.
Targeted additions only: discovered commands/workflows, gotchas and non-obvious patterns, package relationships, testing approaches, and configuration quirks. It avoids restating obvious info or generic best practices.
Yes. It discovers CLAUDE.md files at all levels and Claude auto-discovers them in parent directories, making monorepo setups work automatically.
Full instructions (SKILL.md)
Source of truth, from anthropics/claude-plugins-official.
name: claude-md-improver description: Audit and improve CLAUDE.md files in repositories. Use when user asks to check, audit, update, improve, or fix CLAUDE.md files. Scans for all CLAUDE.md files, evaluates quality against templates, outputs quality report, then makes targeted updates. Also use when the user mentions "CLAUDE.md maintenance" or "project memory optimization". tools: Read, Glob, Grep, Bash, Edit
CLAUDE.md Improver
Audit, evaluate, and improve CLAUDE.md files across a codebase to ensure Claude Code has optimal project context.
This skill can write to CLAUDE.md files. After presenting a quality report and getting user approval, it updates CLAUDE.md files with targeted improvements.
Workflow
Phase 1: Discovery
Find all CLAUDE.md files in the repository:
find . -name "CLAUDE.md" -o -name ".claude.md" -o -name ".claude.local.md" 2>/dev/null | head -50
File Types & Locations:
| Type | Location | Purpose |
|---|---|---|
| Project root | ./CLAUDE.md | Primary project context (checked into git, shared with team) |
| Local overrides | ./.claude.local.md | Personal/local settings (gitignored, not shared) |
| Global defaults | ~/.claude/CLAUDE.md | User-wide defaults across all projects |
| Package-specific | ./packages/*/CLAUDE.md | Module-level context in monorepos |
| Subdirectory | Any nested location | Feature/domain-specific context |
Note: Claude auto-discovers CLAUDE.md files in parent directories, making monorepo setups work automatically.
Phase 2: Quality Assessment
For each CLAUDE.md file, evaluate against quality criteria. See references/quality-criteria.md for detailed rubrics.
Quick Assessment Checklist:
| Criterion | Weight | Check |
|---|---|---|
| Commands/workflows documented | High | Are build/test/deploy commands present? |
| Architecture clarity | High | Can Claude understand the codebase structure? |
| Non-obvious patterns | Medium | Are gotchas and quirks documented? |
| Conciseness | Medium | No verbose explanations or obvious info? |
| Currency | High | Does it reflect current codebase state? |
| Actionability | High | Are instructions executable, not vague? |
Quality Scores:
- A (90-100): Comprehensive, current, actionable
- B (70-89): Good coverage, minor gaps
- C (50-69): Basic info, missing key sections
- D (30-49): Sparse or outdated
- F (0-29): Missing or severely outdated
Phase 3: Quality Report Output
ALWAYS output the quality report BEFORE making any updates.
Format:
## CLAUDE.md Quality Report
### Summary
- Files found: X
- Average score: X/100
- Files needing update: X
### File-by-File Assessment
#### 1. ./CLAUDE.md (Project Root)
**Score: XX/100 (Grade: X)**
| Criterion | Score | Notes |
|-----------|-------|-------|
| Commands/workflows | X/20 | ... |
| Architecture clarity | X/20 | ... |
| Non-obvious patterns | X/15 | ... |
| Conciseness | X/15 | ... |
| Currency | X/15 | ... |
| Actionability | X/15 | ... |
**Issues:**
- [List specific problems]
**Recommended additions:**
- [List what should be added]
#### 2. ./packages/api/CLAUDE.md (Package-specific)
...
Phase 4: Targeted Updates
After outputting the quality report, ask user for confirmation before updating.
Update Guidelines (Critical):
-
Propose targeted additions only - Focus on genuinely useful info:
- Commands or workflows discovered during analysis
- Gotchas or non-obvious patterns found in code
- Package relationships that weren't clear
- Testing approaches that work
- Configuration quirks
-
Keep it minimal - Avoid:
- Restating what's obvious from the code
- Generic best practices already covered
- One-off fixes unlikely to recur
- Verbose explanations when a one-liner suffices
-
Show diffs - For each change, show:
- Which CLAUDE.md file to update
- The specific addition (as a diff or quoted block)
- Brief explanation of why this helps future sessions
Diff Format:
### Update: ./CLAUDE.md
**Why:** Build command was missing, causing confusion about how to run the project.
```diff
+ ## Quick Start
+
+ ```bash
+ npm install
+ npm run dev # Start development server on port 3000
+ ```
### Phase 5: Apply Updates
After user approval, apply changes using the Edit tool. Preserve existing content structure.
## Templates
See [references/templates.md](references/templates.md) for CLAUDE.md templates by project type.
## Common Issues to Flag
1. **Stale commands**: Build commands that no longer work
2. **Missing dependencies**: Required tools not mentioned
3. **Outdated architecture**: File structure that's changed
4. **Missing environment setup**: Required env vars or config
5. **Broken test commands**: Test scripts that have changed
6. **Undocumented gotchas**: Non-obvious patterns not captured
## User Tips to Share
When presenting recommendations, remind users:
- **`#` key shortcut**: During a Claude session, press `#` to have Claude auto-incorporate learnings into CLAUDE.md
- **Keep it concise**: CLAUDE.md should be human-readable; dense is better than verbose
- **Actionable commands**: All documented commands should be copy-paste ready
- **Use `.claude.local.md`**: For personal preferences not shared with team (add to `.gitignore`)
- **Global defaults**: Put user-wide preferences in `~/.claude/CLAUDE.md`
## What Makes a Great CLAUDE.md
**Key principles:**
- Concise and human-readable
- Actionable commands that can be copy-pasted
- Project-specific patterns, not generic advice
- Non-obvious gotchas and warnings
**Recommended sections** (use only what's relevant):
- Commands (build, test, dev, lint)
- Architecture (directory structure)
- Key Files (entry points, config)
- Code Style (project conventions)
- Environment (required vars, setup)
- Testing (commands, patterns)
- Gotchas (quirks, common mistakes)
- Workflow (when to do what)
Related skills
More from anthropics/claude-plugins-official and the wider catalog.

claude-security
Scan codebases and changes for security vulnerabilities, then generate verified patch suggestions.

command-development
Create and manage slash commands with YAML frontmatter, dynamic arguments, and bash execution for Claude Code.

configure
Set up Discord bot token and configure channel access policy.

hook-development
Event-driven automation for Claude Code plugins with prompt-based and command hooks.

m5-onboard
End-to-end onboarding for M5Stack ESP32 devices: detect, flash UIFlow 2.0, and install Claude Buddy app bundle.

math-olympiad
Solve competition math problems with adversarial verification that catches self-verification errors.