用途
refresh-claude 用于刷新项目的 CLAUDE.md 文件,确保其对于未来的 Claude Code 会话保持相关和有用。CLAUDE.md 充当会话之间的持久化上下文。当项目演进时,CLAUDE.md 也应随之演进。该技能会审查代码库的近期变更、识别新的模式、约定或重要上下文、更新 CLAUDE.md 以反映当前状态,并移除过时信息。
主要能力
该技能围绕五个步骤展开:
-
分析近期变更:通过 git log、git diff 等命令查看近期提交、变更文件和新文件,寻找新功能或模块、新依赖或工具、变更的约定或模式、新命令或脚本、架构变更。
-
审查当前 CLAUDE.md:读取现有文件,识别过时信息、缺失的新功能或工具、不正确的命令或路径、陈旧的约定。
-
扫描代码库:检查 CLAUDE.md 中未反映的模式,例如新的测试模式、新的配置文件、package.json 等中的新脚本。
-
更新 CLAUDE.md:进行有针对性的更新。应更新新命令(dev、test、build、lint)、新项目结构(目录、关键文件)、代码中发现的新约定、重要的架构决策、影响代码使用方式的新依赖。不应添加频繁变化的实现细节、显而易见的内容、临时变通方案、工具未强制执行的个人偏好。
-
验证变更:更新后验证命令仍然有效、路径正确、没有重复章节、简洁且易于浏览。
使用方式
该技能以流程化方式运行,包含具体的命令示例,例如:
- 查看近期提交:
git log --oneline -20 - 查看变更文件:
git diff --stat HEAD~10..HEAD - 查看新文件:
git diff --name-status HEAD~10..HEAD | grep "^A" - 检查新测试模式:
ls -la **/test* **/*test* **/*spec* 2>/dev/null | head -20 - 检查新配置文件:
ls -la *.config.* .* 2>/dev/null | head -20 - 查看脚本:
cat package.json 2>/dev/null | jq '.scripts' || true
输出格式为 CLAUDE.md Refresh Summary,包含变更内容(添加、更新、移除)、发现的上下文(新模式或约定、新工具或命令)以及建议。
适用场景
建议在以下情况运行:添加主要功能后、重大重构后、添加新工具或依赖后、活跃项目定期(每周/每月)、新团队成员入职前。
限制与准则
保持简洁:CLAUDE.md 应易于浏览,每一行都应物有所值。聚焦可操作性:包含 Claude 有效工作所需的信息,如要运行的命令、关键文件位置、要遵循的约定、要避免的事项。避免重复:不要重复 README.md、代码注释、配置文件中的内容。保持新鲜:移除不再准确、已由工具处理、过于详细的信息。