Resources
2Install
npx skillscat add im-naaran/usefull-skills/code-review Install via the SkillsCat registry.
SKILL.md
代码变更审查与测试报告生成
概述
这个 skill 用于分析 git 提交记录的代码变更,生成结构化的测试指导文档,帮助测试人员快速理解改动内容并制定测试计划。
使用前准备
必需信息(如果用户未提供,需要询问):
- 项目路径(当前目录或指定目录)
- 起始 commit ID(可以是 commit hash 或 branch name)
- 结束 commit ID(可以是 commit hash 或 branch name,默认为 HEAD)
可选配置:
- 需要排除的文件模式(默认排除 package-lock.json, pnpm-lock.yaml, yarn.lock)
- 输出文件名(默认:
代码变更测试报告_[起始commit]_to_[结束commit].md)
执行步骤
Step 1: 获取必要参数
如果用户没有提供完整信息,按以下方式询问:
为了生成测试报告,我需要以下信息:
1. 项目路径:[当前目录是 XXX,是否正确?]
2. 起始 commit:[请提供起始 commit ID 或分支名]
3. 结束 commit:[默认为 HEAD,需要指定其他的吗?]Step 2: 生成变更对比文件
执行以下命令生成 changes.diff:
cd [项目路径]
git diff -w [起始commit] [结束commit] -- . \
":(exclude)package-lock.json" \
":(exclude)pnpm-lock.yaml" \
":(exclude)yarn.lock" \
> changes.diff错误处理:
- 如果 commit 不存在,提示用户检查 commit ID
- 如果没有变更,告知用户这两个 commit 之间没有差异
- 如果文件过大(>5MB),建议缩小范围或使用更具体的文件路径
Step 3: 分析变更内容
基于 changes.diff 文件,按照以下结构生成分析报告。
输出格式规范
输出文件:代码变更测试报告_[起始commit缩写]_to_[结束commit缩写].md
报告结构
第一部分:基本信息
# 代码变更测试报告
**项目:** [项目名称]
**变更范围:** `[起始commit]` → `[结束commit]`
**生成时间:** [YYYY-MM-DD HH:mm:ss]
**变更文件数:** [X] 个文件
**新增行数:** +[XXX] | **删除行数:** -[XXX]
---第二部分:详细修改条目清单
按目录结构分组,每个文件包含:
- 文件路径
- 改动类型标签(参考 REFERENCE.md 中的标签体系)
- 修改内容的具体描述
- 影响范围(页面/功能/模块)
- 关键代码变更
第三部分:改动总结归纳
按改动性质分类汇总,每类包含:
- 改动描述和影响范围
- 涉及文件列表
- 测试建议
第四部分:测试指导建议
按优先级分为:
- 🔴 高优先级:核心业务流程、接口变更、破坏性变更
- 🟡 中优先级:配置调整、全局文案、数据计算
- 🟢 低优先级:UI 细节、代码重构
每个测试项包含:测试原因、测试要点清单、风险提示
参考资料
- 分析维度指导:参考 REFERENCE.md 了解如何从 6 个维度分析代码变更
- 完整报告示例:参考 EXAMPLES.md 查看标准报告格式
错误处理
场景 1: Git 命令执行失败
❌ 无法生成变更对比文件。
可能原因:
1. commit ID 不存在或输入错误
2. 当前目录不是 git 仓库
3. 没有 git 权限
请检查后重试。场景 2: 没有变更内容
ℹ️ 在指定的 commit 范围内没有发现代码变更。
请检查:
- commit ID 是否正确
- 是否已经提交了代码场景 3: 变更文件过多
⚠️ 检测到 500+ 个文件变更,diff 文件过大。
建议:
1. 缩小 commit 范围
2. 使用 git diff --stat 先查看概览
3. 分批次分析不同模块输出质量检查清单
在生成报告前,Claude 应该自检以下内容:
- 每个文件的改动都有清晰的描述(不是简单的"修改了代码")
- 影响范围具体到页面/模块名称
- 改动类型标签准确
- 测试要点可操作(不是"测试功能"这种泛泛描述)
- 风险提示覆盖了潜在问题
- 格式规范,便于阅读
- 没有遗漏重要的文件变更
版本历史
- v1.0.0 (2026-02-04): 初始版本
- 支持基本的代码变更分析
- 生成结构化测试报告
- 提供测试指导建议