name: 710-bugfix-analysis description: Bug分析技能。当需要修复Bug时首先触发:(1)分析Bug现象和定位根因, (2)评估修复复杂度和影响范围, (3)生成Bug分析报告并人工确认。 alwaysApply: false author: "axeon(23231269@qq.com)" version: "1.0.0"
Bug分析
项目环境检测
从当前目录向上查找 project-info.md,最多 3 层,找到后记为 PROJECT_ROOT。详见 检测方法与前置检查。未找到 → 提示用户先执行 0-init。
角色职责
| 角色 | 职责 | 智能体 |
|---|---|---|
| 主导 | Bug分析 | java-developer / js-developer |
| 协作 | 根因确认 | test-engineer |
| 决策 | 根因确认 | product-manager ★ |
输入
| 输入项 | 来源 | 说明 |
|---|---|---|
| Bug描述 | 用户输入 | Bug现象描述 |
| 复现步骤 | 用户输入 | Bug复现步骤 |
| 相关代码 | 代码仓库 | 可能相关的代码 |
| 日志信息 | 日志系统 | 错误日志 |
输出
| 输出项 | 位置 | 说明 |
|---|---|---|
| Bug分析报告 | PROJECT_ROOT/issue/bugs/BUGFIX-{YYMMDD}-{topic}.md |
Bug分析文档 |
执行流程
1. Bug信息收集
收集以下信息:
| 信息项 | 内容 |
|---|---|
| Bug现象 | 具体表现 |
| 复现步骤 | 详细步骤 |
| 环境信息 | 系统、浏览器、版本 |
| 影响范围 | 影响的用户/功能 |
| 发生频率 | 必现/偶现 |
2. 根因分析
分析可能的根因:
| 分析维度 | 检查点 |
|---|---|
| 代码逻辑 | 条件判断、循环、递归 |
| 数据处理 | 空值、边界值、类型转换 |
| 并发问题 | 线程安全、竞态条件 |
| 外部依赖 | API调用、数据库、缓存 |
| 配置问题 | 参数配置、环境配置 |
3. 影响评估
评估Bug影响:
| 评估项 | 内容 |
|---|---|
| 影响范围 | 影响哪些功能/模块 |
| 影响程度 | 严重/一般/轻微 |
| 数据影响 | 是否造成数据错误 |
| 修复风险 | 修复可能引入的新问题 |
4. 生成Bug分析报告
文件命名: BUGFIX-{YYMMDD}-{一句话汇总信息}.md
报告内容:
# BUGFIX-{YYMMDD}-{Bug名称}
## Bug信息
- 报告日期: {YYYY-MM-DD}
- Bug现象: {现象描述}
- 复现步骤: {步骤}
- 环境信息: {环境}
## 根因分析
### 初步判断
{根因描述}
### 分析过程
1. {分析步骤1}
2. {分析步骤2}
### 根因确认
{最终根因}
## 影响评估
| 评估项 | 结果 |
|--------|------|
| 影响范围 | {范围} |
| 影响程度 | {程度} |
| 数据影响 | {影响} |
| 修复风险 | {风险} |
## 修复建议
- {建议1}
- {建议2}
## 关联代码
- `{文件路径}`: {说明}
5. 文档合并
CHANGELOG格式:
## {YYYY-MM-DD} BUGFIX-{Bug名称}
- 类型: Bug分析
- 现象: {topic}
- 根因: {根因}
- 文档: BUGFIX-{YYMMDD}-{topic}.md
- 状态: 已分析
⚠️ 完成验证(强制,全自动执行)
- 强制调用 711-bugfix-analysis-review
- 如果评审不通过(< 95),自动修复问题,然后回到步骤 1(最多 5 轮)
- 直到评审通过(≥ 95),才向用户报告最终结果
此流程全自动执行:中间不暂停、不询问、不汇报。 未收到通过确认前,禁止结束本技能任务。
人工检查点 ★
评审通过后必须人工确认:
- Bug现象是否准确
- 根因分析是否正确
- 影响评估是否完整
确认后流转: 进入 720-bugfix-dev
输出要求
Bug分析报告: PROJECT_ROOT/issue/bugs/BUGFIX-{YYMMDD}-{topic}.md
流转关系
输入: Bug描述
↓
710-bugfix-analysis
↓
人工确认 ★
↓
输出: Bug分析报告
↓
进入: 720-bugfix-dev