claude-md-improver
$
npx mdskill add anthropics/claude-plugins-official/claude-md-improverAudits and improves CLAUDE.md files by scanning repositories, evaluating quality, and making targeted updates.
- Helps maintain project memory and optimize context for Claude Code by fixing or updating CLAUDE.md files.
- Integrates with tools like Read, Glob, Grep, Bash, and Edit for file operations and analysis.
- Decides recommendations by evaluating files against templates and presenting a quality report for user approval.
- Presents results through a quality report and then executes approved updates to the files.
SKILL.md
.github/skills/claude-md-improverView on GitHub ↗
--- 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: ```bash 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](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):** 1. **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 2. **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 3. **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:** ```markdown ### 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)
More from anthropics/claude-plugins-official
- accessManage Discord channel access — approve pairings, edit allowlists, set DM/group policy. Use when the user asks to pair, approve someone, check who's allowed, or change policy for the Discord channel.
- build-mcp-appThis skill should be used when the user wants to build an "MCP app", add "interactive UI" or "widgets" to an MCP server, "render components in chat", build "MCP UI resources", make a tool that shows a "form", "picker", "dashboard" or "confirmation dialog" inline in the conversation, or mentions "apps SDK" in the context of MCP. Use AFTER the build-mcp-server skill has settled the deployment model, or when the user already knows they want UI widgets.
- build-mcp-serverThis skill should be used when the user asks to "build an MCP server", "create an MCP", "make an MCP integration", "wrap an API for Claude", "expose tools to Claude", "make an MCP app", or discusses building something with the Model Context Protocol. It is the entry point for MCP server development — it interrogates the user about their use case, determines the right deployment model (remote HTTP, MCPB, local stdio), picks a tool-design pattern, and hands off to specialized skills.
- build-mcpbThis skill should be used when the user wants to "package an MCP server", "bundle an MCP", "make an MCPB", "ship a local MCP server", "distribute a local MCP", discusses ".mcpb files", mentions bundling a Node or Python runtime with their MCP server, or needs an MCP server that interacts with the local filesystem, desktop apps, or OS and must be installable without the user having Node/Python set up.
- cardputer-buddyIterate on the Cardputer-Adv MicroPython app bundle (Claude Buddy, Snake, Hello) after the device is already provisioned via m5-onboard. Use when the user wants to add a new app, push a single changed .py without re-flashing, watch device serial logs, or run a one-shot REPL command. Trigger on "add an app", "push to the cardputer", "tail the device", "run on the device", or follow-up work after /maker-setup.
- claude-automation-recommenderAnalyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.
- configureSet up the Discord channel — save the bot token and review access policy. Use when the user pastes a Discord bot token, asks to configure Discord, asks "how do I set this up" or "who can reach me," or wants to check channel status.
- example-commandAn example user-invoked skill that demonstrates frontmatter options and the skills/<name>/SKILL.md layout
- example-skillThis skill should be used when the user asks to "demonstrate skills", "show skill format", "create a skill template", or discusses skill development patterns. Provides a reference template for creating Claude Code plugin skills.
- m5-onboardEnd-to-end onboarding for a freshly-plugged-in M5Stack ESP32 device (Cardputer, Cardputer-Adv, Core, CoreS3, Stick) — detect on USB, flash UIFlow 2.0 firmware, and install the Claude Buddy MicroPython app bundle. Use whenever the user plugs in or wants to flash/provision/reset an M5Stack or ESP32 board, or says "m5-onboard go".