Install
npx skillscat add penkzhou/swiss-army-knife-plugin/bugfix-workflow Install via the SkillsCat registry.
About this skill
This skill provides a standardized bugfix workflow for software development across all technical stacks including backend, frontend, and end-to-end testing. It implements a test-driven development approach with defined red, green, and refactor phases, along with structured output formats and confidence scoring criteria. Developers should use it when systematically identifying, analyzing, and resolving software defects while maintaining code quality standards.
SKILL.md
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 | 无错误 | 阻塞 |
| 回归测试 | 无回归 | 阻塞 |