check-claude-md

📁 howell5/willhong-skills 📅 11 days ago
1
总安装量
1
周安装量
#51616
全站排名
安装命令
npx skills add https://github.com/howell5/willhong-skills --skill check-claude-md

Agent 安装分布

claude-code 1

Skill 文档

CLAUDE.md 更新检查器

检查本次对话中的代码改动,判断是否需要更新项目的 CLAUDE.md。

概述

这个 skill 帮助你在完成一次开发任务后,检查是否有值得记录到 CLAUDE.md 的新模式、约定或项目知识。

使用方法

/check-claude-md

在完成一个功能开发、bug 修复或重构后调用。

工作流程

Phase 1: 收集本次改动

  1. 回顾对话历史 – 识别本次对话中修改或创建了哪些文件
  2. 分类改动类型:
    • 新功能代码
    • Bug 修复
    • 重构
    • 配置变更
    • 依赖更新

Phase 2: 分析是否有可记录内容

检查以下几类值得记录的内容:

2.1 项目约定和模式

  • 新建立的命名约定
  • 新的目录结构规则
  • 新的代码组织模式
  • 新的错误处理方式

2.2 技术决策

  • 选择了某个库/框架的原因
  • 架构决策及其理由
  • 性能优化策略
  • 安全考虑

2.3 开发流程

  • 新的测试策略
  • 新的构建/部署步骤
  • 新的环境配置要求

2.4 避坑指南

  • 遇到的问题及解决方案
  • 需要注意的边界情况
  • 依赖的版本兼容性问题

Phase 3: 读取现有 CLAUDE.md

  1. 查找项目根目录的 CLAUDE.md
  2. 如果不存在,提示是否需要创建
  3. 分析现有内容,避免重复

Phase 4: 生成更新建议

输出格式:

## 本次改动摘要

- [改动 1]
- [改动 2]
- ...

## 建议更新 CLAUDE.md

### 需要新增的内容

#### [章节名称]

[具体内容]

### 需要修改的内容

[原内容] → [新内容]

## 不需要更新的原因(如适用)

[说明为什么本次改动不需要记录]

Phase 5: 确认并执行

  1. 展示建议 – 显示具体的更新内容
  2. 询问确认 – 使用 AskUserQuestion 询问用户是否同意更新
  3. 执行更新 – 用户确认后,使用 Edit 工具更新 CLAUDE.md

关键指令

判断原则

值得记录的:

  • 对未来开发有指导意义的决策
  • 不明显但重要的约定
  • 踩过的坑和解决方案
  • 项目特有的模式

不值得记录的:

  • 显而易见的代码(如简单的 CRUD)
  • 一次性的修复(无普遍意义)
  • 通用的最佳实践(已在全局 CLAUDE.md 中)
  • 具体的业务逻辑细节

必须遵守

  1. 不要过度记录 – CLAUDE.md 应精简,只记录真正重要的内容
  2. 避免重复 – 检查现有内容,不要重复已有的规则
  3. 保持一致性 – 新内容要与现有 CLAUDE.md 风格一致
  4. 必须确认 – 更新前必须获得用户确认

禁止事项

  1. 不要记录临时代码 – 如 debug 代码、实验性代码
  2. 不要记录具体实现 – CLAUDE.md 是指导原则,不是代码文档
  3. 不要未经确认就修改 – 必须先展示建议,等用户确认

输出示例

场景:用户完成了一个 API 错误处理的重构

## 本次改动摘要

- 重构了 API 错误处理,统一使用 `AppError` 类
- 新增了 `src/errors/index.ts` 错误定义文件
- 所有 API 路由统一返回 `{ error: string, code: string }` 格式

## 建议更新 CLAUDE.md

### 需要新增的内容

#### 错误处理

- 所有 API 错误使用 `AppError` 类(位于 `src/errors/index.ts`)
- 错误响应格式:`{ error: string, code: string }`
- 不要在路由中直接 throw Error,使用 `throw new AppError()`

---

是否要将以上内容添加到 CLAUDE.md?

与其他工具的配合

  • 通常在完成一个 feature 或 fix 后手动调用
  • 可以在 commit 前调用,确保重要决策被记录
  • 建议形成习惯:改完代码 → /check-claude-md → commit