Marketplace

bugfix-workflow

通用 Bugfix 工作流知识库,包含 TDD 流程、输出格式规范、置信度评分标准和通用最佳实践。适用于所有技术栈(backend/frontend/e2e)。

$ 설치

git clone https://github.com/penkzhou/swiss-army-knife-plugin /tmp/swiss-army-knife-plugin && cp -r /tmp/swiss-army-knife-plugin/swiss-army-knife/skills/bugfix-workflow ~/.claude/skills/swiss-army-knife-plugin

// tip: Run this command in your terminal to install the skill


name: bugfix-workflow description: 通用 Bugfix 工作流知识库,包含 TDD 流程、输出格式规范、置信度评分标准和通用最佳实践。适用于所有技术栈(backend/frontend/e2e)。

Bugfix 工作流通用知识库

本 Skill 提供标准化 6 阶段 Bugfix 工作流的通用知识,适用于所有技术栈。

TDD 流程(核心原则)

RED Phase(先写失败测试)

  1. 测试必须能复现当前 bug
  2. 测试必须在修复前失败
  3. 测试应该测试行为,不是实现

验证命令模板:

make test TARGET={stack} FILTER={test_file}

GREEN Phase(最小实现)

  1. 只写让测试通过的最小代码
  2. 不要在此阶段优化
  3. 不要添加未被测试覆盖的功能

REFACTOR Phase(重构)

  1. 改善代码结构
  2. 保持测试通过
  3. 消除重复代码

最终验证:

make test TARGET={stack}
make lint TARGET={stack}
make typecheck TARGET={stack}

置信度评分标准

根因分析置信度

分数范围行为
≥60自动继续
40-59暂停询问用户
<40停止并收集更多信息

代码审查置信度

分数范围级别行为
≥90Critical自动修复
80-89Important自动修复
<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"
}

影响分析维度

  1. 直接影响:修改的文件
  2. 间接影响:依赖修改文件的组件
  3. API 影响:是否有破坏性变更
  4. 测试影响:需要更新的测试

安全审查清单(常见安全问题)

仅在涉及敏感代码(认证、输入处理、数据存储等)时进行:

  • SQL/命令注入
  • XSS 跨站脚本
  • 敏感信息泄露
  • 认证/授权问题
  • 输入验证不足

批次执行策略

  1. 默认批次大小:3 个问题/批
  2. 每批完成后:输出批次报告,等待用户确认
  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. 验证计划

- [ ] 测试通过
- [ ] 覆盖率达标
- [ ] 无回归

知识沉淀标准

值得沉淀的知识

  1. 新发现的问题模式 - 之前没有记录的错误类型
  2. 可复用的解决方案 - 适用于多种场景的修复模式
  3. 重要的教训 - 容易犯的错误,反直觉的行为
  4. 性能优化 - 测试执行速度提升

不需要沉淀的情况

  1. 一次性问题 - 特定于某个文件的 typo
  2. 已有文档覆盖 - 问题已在 troubleshooting 中记录

质量门禁标准

检查项标准阻塞级别
测试通过100%阻塞
覆盖率>= 90%阻塞
新代码覆盖率100%阻塞
Lint无错误阻塞
TypeCheck无错误阻塞
回归测试无回归阻塞