CLAUDE.md Improver 用于审查、评估和改进代码库中的 CLAUDE.md 文件,确保 Claude Code 获得最佳的项目上下文。此技能可以写入 CLAUDE.md 文件:在呈现质量报告并获得用户批准后,它会用针对性改进更新 CLAUDE.md 文件。
工作流程
阶段 1:发现
查找仓库中所有 CLAUDE.md 文件:
find . -name "CLAUDE.md" -o -name ".claude.md" -o -name ".claude.local.md" 2>/dev/null | head -50
文件类型与位置:
- 项目根目录:./CLAUDE.md——主要项目上下文(签入 git,与团队共享)
- 本地覆盖:./.claude.local.md——个人/本地设置(被 gitignore 忽略,不共享)
- 全局默认:~/.claude/CLAUDE.md——跨所有项目的用户级默认值
- 包级:./packages/*/CLAUDE.md——monorepo 中的模块级上下文
- 子目录:任意嵌套位置——功能/领域特定的上下文
注意:Claude 会自动发现父目录中的 CLAUDE.md 文件,因此 monorepo 设置可自动生效。
阶段 2:质量评估
对每个 CLAUDE.md 文件按质量标准的评估。详细评分标准见 references/quality-criteria.md。
快速评估清单:
- 记录的命令/工作流(高权重):是否存在构建/测试/部署命令?
- 架构清晰度(高权重):Claude 能否理解代码库结构?
- 非显而易见的模式(中权重):是否记录了坑点和怪癖?
- 简洁性(中权重):没有冗长解释或显而易见的信息?
- 时效性(高权重):是否反映当前代码库状态?
- 可操作性(高权重):指令是否可执行而非含糊?
质量评分:
- A(90-100):全面、最新、可操作
- B(70-89):覆盖良好,有小缺口
- C(50-69):基本信息,缺少关键章节
- D(30-49):稀疏或过时
- F(0-29):缺失或严重过时
阶段 3:质量报告输出
务必在做出任何更新之前先输出质量报告。格式包括:摘要(发现文件数、平均分、需要更新的文件数)、逐文件评估(每个文件的评分、各标准分项、问题列表、建议补充内容)。
阶段 4:针对性更新
输出质量报告后,在更新前询问用户确认。
更新准则(关键):仅提出针对性补充——专注于真正有用的信息:分析中发现的命令或工作流、代码中发现的坑点或非显而易见模式、之前不清晰的包关系、有效的测试方法、配置怪癖。
保持精简——避免:重述代码中显而易见的内容、已被覆盖的通用最佳实践、不太可能重复出现的一次性修复、一行就能说明却写成冗长解释。
展示差异——对每项更改展示:要更新哪个 CLAUDE.md 文件、具体补充内容(以 diff 或引用块展示)、为何这有助于未来会话的简要说明。
阶段 5:应用更新
用户批准后,使用 Edit 工具应用更改。保留现有内容结构。
模板
按项目类型划分的 CLAUDE.md 模板见 references/templates.md。
常见需标记的问题
- 过时的命令:已不再可用的构建命令
- 缺失依赖:未提及的必需工具
- 过时的架构:已变更的文件结构
- 缺少环境设置:必需的环境变量或配置
- 损坏的测试命令:已变更的测试脚本
- 未记录的坑点:未捕获的非显而易见模式
向用户分享的提示
呈现建议时提醒用户:
#键快捷键:在 Claude 会话中按#,可让 Claude 自动将学到的内容纳入 CLAUDE.md- 保持简洁:CLAUDE.md 应便于人阅读;密集优于冗长
- 可操作命令:所有记录的命令应可直接复制粘贴
- 使用 .claude.local.md:用于不与团队共享的个人偏好(加入 .gitignore)
- 全局默认值:将用户级偏好放入 ~/.claude/CLAUDE.md
优秀 CLAUDE.md 的要素
关键原则:简洁且便于人阅读;可复制粘贴的可操作命令;项目特定模式而非通用建议;非显而易见的坑点和警告。
推荐章节(仅使用相关部分):命令(构建、测试、开发、lint)、架构(目录结构)、关键文件(入口点、配置)、代码风格(项目约定)、环境(必需变量、设置)、测试(命令、模式)、坑点(怪癖、常见错误)、工作流(何时做什么)。
相关技能
- dependency-upgrade:在改进仓库 CLAUDE.md 文件时,纳入依赖加固策略以及锁文件/安全流程指导。