| name | bugfix-workflow |
| description | 通用 Bugfix 工作流知识库,包含 TDD 流程、输出格式规范、置信度评分标准和通用最佳实践。适用于所有技术栈(backend/frontend/e2e)。 |
Bugfix 工作流通用知识库
本 Skill 提供标准化 6 阶段 Bugfix 工作流的通用知识,适用于所有技术栈。
TDD 流程(核心原则)
RED Phase(先写失败测试)
- 测试必须能复现当前 bug
- 测试必须在修复前失败
- 测试应该测试行为,不是实现
验证命令模板:
make test TARGET={stack} FILTER={test_file}
GREEN Phase(最小实现)
- 只写让测试通过的最小代码
- 不要在此阶段优化
- 不要添加未被测试覆盖的功能
REFACTOR Phase(重构)
- 改善代码结构
- 保持测试通过
- 消除重复代码
最终验证:
make test TARGET={stack}
make lint TARGET={stack}
make typecheck TARGET={stack}
置信度评分标准
根因分析置信度
| 分数范围 | 行为 |
|---|---|
| ≥60 | 自动继续 |
| 40-59 | 暂停询问用户 |
| <40 | 停止并收集更多信息 |
代码审查置信度
| 分数范围 | 级别 | 行为 |
|---|---|---|
| ≥90 | Critical | 自动修复 |
| 80-89 | Important | 自动修复 |
| <80 | 低于阈值 | 不报告 |
通用输出格式
Error 结构
{
"id": "BF-{YYYY}-{MMDD}-{NNN}",
"file": "文件路径",
"line": 行号,
"severity": "critical|high|medium|low",
"category": "错误类型",
"description": "问题描述",
"evidence": ["支持判断的证据"],
"stack": "堆栈信息"
}
Summary 结构
{
"total": 总数,
"by_type": { "类型": 数量 },
"by_file": { "文件": 数量 }
}
Solution 结构
{
"solution": {
"approach": "修复思路概述",
"steps": ["步骤1", "步骤2"],
"risks": ["风险1", "风险2"],
"estimated_complexity": "low|medium|high"
},
"tdd_plan": {
"red_phase": { "tests": [...] },
"green_phase": { "changes": [...] },
"refactor_phase": { "items": [...] }
},
"impact_analysis": {
"affected_files": [...],
"api_changes": [...],
"test_impact": [...]
},
"security_review": {
"performed": true/false,
"vulnerabilities": [...],
"passed": true/false
}
}
Execution Result 结构
{
"issue_id": "BF-2025-MMDD-001",
"phases": {
"red": { "status": "pass|fail|skip", "duration_ms": 1234 },
"green": { "status": "pass|fail|skip", "changes": [...] },
"refactor": { "status": "pass|fail|skip", "changes": [...] }
},
"overall_status": "success|partial|failed"
}
影响分析维度
- 直接影响:修改的文件
- 间接影响:依赖修改文件的组件
- API 影响:是否有破坏性变更
- 测试影响:需要更新的测试
安全审查清单(常见安全问题)
仅在涉及敏感代码(认证、输入处理、数据存储等)时进行:
- SQL/命令注入
- XSS 跨站脚本
- 敏感信息泄露
- 认证/授权问题
- 输入验证不足
批次执行策略
- 默认批次大小:3 个问题/批
- 每批完成后:输出批次报告,等待用户确认
- 失败处理:记录失败原因,尝试最多 3 次,3 次失败后标记为 failed
Bugfix 文档模板
# [问题简述] Bugfix 报告
> 日期:{YYYY-MM-DD}
> 置信度:{confidence}/100
> 技术栈:{stack}
## 1. 问题描述
### 1.1 错误信息
[结构化错误列表]
### 1.2 根因分析
[根因描述 + 证据]
## 2. 修复方案
### 2.1 TDD 计划
#### RED Phase
[失败测试代码]
#### GREEN Phase
[最小实现代码]
#### REFACTOR Phase
- [ ] 重构项
### 2.2 影响分析
[影响范围]
## 3. 验证计划
- [ ] 测试通过
- [ ] 覆盖率达标
- [ ] 无回归
知识沉淀标准
值得沉淀的知识
- 新发现的问题模式 - 之前没有记录的错误类型
- 可复用的解决方案 - 适用于多种场景的修复模式
- 重要的教训 - 容易犯的错误,反直觉的行为
- 性能优化 - 测试执行速度提升
不需要沉淀的情况
- 一次性问题 - 特定于某个文件的 typo
- 已有文档覆盖 - 问题已在 troubleshooting 中记录
质量门禁标准
| 检查项 | 标准 | 阻塞级别 |
|---|---|---|
| 测试通过 | 100% | 阻塞 |
| 覆盖率 | >= 90% | 阻塞 |
| 新代码覆盖率 | 100% | 阻塞 |
| Lint | 无错误 | 阻塞 |
| TypeCheck | 无错误 | 阻塞 |
| 回归测试 | 无回归 | 阻塞 |