From essentials
This skill should be used when the user asks to "audit CLAUDE.md", "check CLAUDE.md quality", "improve CLAUDE.md", "fix CLAUDE.md", "review my CLAUDE.md", "grade my CLAUDE.md", "write a CLAUDE.md", "set up CLAUDE.md for this project", or mentions "CLAUDE.md best practices", "CLAUDE.md maintenance", or "project memory optimization". Scans all CLAUDE.md files in the repository, evaluates quality against a scoring rubric, outputs a scored quality report, then proposes targeted updates with diffs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/essentials:claude-md-improverThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Audit, evaluate, and improve CLAUDE.md files across a codebase to ensure Claude Code has optimal project context.
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.
Find all CLAUDE.md files in the repository:
find . \( -name "CLAUDE.md" -o -name "CLAUDE.local.md" \) 2>/dev/null | head -50
find .claude/rules -name "*.md" 2>/dev/null
File Types & Locations:
| Type | Location | Purpose |
|---|---|---|
| Project root | ./CLAUDE.md | Primary project context (checked into git, shared with team) |
| Alternative location | ./.claude/CLAUDE.md | Equivalent to project root CLAUDE.md |
| Local overrides | ./CLAUDE.local.md | Personal/local settings (auto-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 |
| Rules (global) | ./.claude/rules/*.md | Always loaded at launch (no paths frontmatter) |
| Rules (path-scoped) | ./.claude/rules/*.md | Loaded only when Claude reads files matching paths frontmatter globs |
Note: Claude walks up the directory tree from the current working directory, loading CLAUDE.md and CLAUDE.local.md at each level. Subdirectory CLAUDE.md files load on-demand when those directories are accessed.
Import syntax: CLAUDE.md files support @path/to/file imports to pull in external files. Imported files can chain imports up to 5 hops deep.
If no CLAUDE.md files are found, skip to Phase 2b to create one from scratch.
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? |
Size guideline: Target under 200 lines per CLAUDE.md file. Bloated files cause Claude to ignore instructions. If a file exceeds this, recommend splitting into .claude/rules/*.md or using @path imports.
Quality Scores:
When no CLAUDE.md exists, analyze the codebase to generate one:
After user approval, create ./CLAUDE.md using the Write tool. Then proceed to Phase 3 to output a quality report on the newly created file.
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)
...
After outputting the quality report, ask user for confirmation before updating. See references/update-guidelines.md for detailed guidance on what to add and what to avoid.
Update Guidelines (Critical):
Propose targeted additions only - Focus on genuinely useful info:
Keep it minimal - Avoid:
Show diffs - For each change, show:
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:
- **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 (auto-gitignored)
- **Global defaults**: Put user-wide preferences in `~/.claude/CLAUDE.md`
## What Makes a Great CLAUDE.md
See [references/templates.md](references/templates.md) for key principles, recommended sections, and templates by project type.
npx claudepluginhub jbactad/claude-plugins --plugin essentialsAudits and improves CLAUDE.md files in a repository. Scans for all CLAUDE.md files, evaluates quality against criteria, outputs a quality report, then makes targeted updates with user approval.
Audits and improves CLAUDE.md files in repositories by scanning for them, evaluating quality against criteria, generating reports, and applying targeted updates after approval.
Audits and improves CLAUDE.md files in repositories by discovering files via glob/bash, scoring quality against checklists, generating reports, and applying targeted updates after approval. Use for CLAUDE.md audits, fixes, maintenance, or project memory optimization.