code-diff-analyzerlisted
Install: claude install-skill bin19860307-cpu/tester_skill
# Code Diff Analyzer — 代码变更影响分析
## 技能概述
分析代码仓库的变更记录(diff/PR/commit log),识别受影响的功能模块,评估风险等级,输出结构化的影响分析报告和测试建议。支持自动生成 HTML 格式的变更报告文件。
## 触发条件
以下任意场景触发本技能:
- 用户提供 `git diff` 或 `git log --oneline` 输出内容
- 用户要求分析版本间的代码改动(如 v1.2.24 → v1.2.25)
- 用户需要评估 PR/MR 的影响范围
- CI/CD 流水线产出的 `tagdiff.txt` 需要分析(**格式 A**)
- 用户提��� `compare_vX_to_Y.md` 格式的结构化代码对比报告(**格式 B**)
- 用户询问"这次改动影响了什么"、"需要测试哪些功能"
- 用户要求生成变更报告(Markdown / HTML)
- 用户要求导入 Bug 数据(`导入Bug数据` / `@bug_list.xlsx 导入Bug数据`)
- 用户要求分析历史数据(`分析 diff-analytics` / `服务风险趋势`)
## 分析工作流
### Step 1 — 接收并识别变更内容
#### 1.1 格式识别(优先执行)
输入的 diff 内容可能有以下两种格式,**先判断格式,再解析内容**:
##### 格式 A:CI/CD 原始输出(tagdiff.txt)
**特征**:
- 头部为 `echo` 输出的纯文本行,如 `构建编号: 19`、`版本比对: v1.2.24 -> v1.2.25`
- 头部第 4 行为 `仓库地址: https://gitlab.example.com/xx/xx/xxxx.git`(含服务名称),**新增字段**(2026-04-28)
- Commit 记录部分紧跟 `======== Commit 记录 =========` 分隔符,格式为 `git log --oneline` 纯文本
- 代码 diff 部分紧跟 `======== 代码差异 ============` 分隔符,内容为原始 `git diff` 输出
- diff 头以 `diff --git a/xxx b/xxx` 开头,文件间无独立标题
- 代码变更行不含代码块包裹
**示例结构**:
```
构建编号: 19
构建时间: 2026-04-13 10:09:21 CST
版本比对: v1.2.24 -> v1.2.25
仓库地址: https://gitlab.example.com/acme/acme-frontend.git
======== Commit 记录 =========
f1a2ce5 fix: 页面白屏路由问题
======== 代码差异 ============
diff --git a/packages/base/src/constants/menus.ts b/packages/base/src/constants/menus.ts
@@ -41,9 +41,9 @@
-'manage/operation-management': ...
+'/manage/operation-management': ...
```
##### 格式 B:结构化 Markdown 报告(compare_vX_to_Y.md)
**特征**:
- 头部为 Markdown 表格,包含「仓库名称」「对比类型」「