apex-diff-analyzerlisted
Install: claude install-skill bin19860307-cpu/tester_skill
# Apex Diff Analyzer — 巅峰代码变更影响分析
## 技能概述
**Apex Diff Analyzer** 是 code-diff-analyzer 的增强版本,在保持原有功能的基础上,新增:
1. **量化风险评分模型**:基于 CHID 实践案例的 5 维度综合评分体系,将风险从定性(高/中/低)升级为定量(0-100分)
2. **JIT 缺陷预测洞察**:基于 CC2Vec/JITLine 研究的预测性分析,提供决策支持
3. **学术数据支撑**:引用权威研究数据,增强分析结论的可信度
## 触发条件
以下任意场景触发本技能:
- 用户提供 `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)
- **用户要求量化风险评分** 或 **预测性分析**
## 分析工作流
### 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`(含服务名称)
- Commit 记录部分紧跟 `======== Commit 记录 =========` 分隔符
- 代码 diff 部分紧跟 `======== 代码差异 ============` 分隔符
##### 格式 B:结构化 Markdown 报告(compare_vX_to_Y.md)
**特征**:
- 头部为 Markdown 表格,包含「仓库名称」「对比类型」「源版本」「目标版本」「生成时间」「对比范围」
- Commit 变更清单为 Markdown 表格,含 Commit ID、提交信息、作者、时间四列
- 每个文件有独立的三级标题 `### 📄 filename`
- 代码 diff 内容用 ` ```diff ``` ` 代码块包裹
#### 1.2 信息提取(按格式分支处理)
| 字段 | 格式 A 提取方式 | 格式 B 提取方式 |
|------|----------------|----------------|
| 服务名称 | 解析 `仓库地址:` 行,提取 URL 末项 | 解析「仓库名称」字段 |
| 版本信息 | 解析 `版本比对: X -> Y` | 解析源/目标版本字段 |
| 文件列表 | 解析 `diff --git a/xxx b/xxx` | 解析 `### 📄 filename` 标题 |
| 代码 diff | 直接解析原始 diff 行 | 解析 ` ```diff ``` ` 代码块 |
| 作者信息 | ❌ 无 | ✅ 可