home / skills / penkzhou / swiss-army-knife-plugin / bugfix-workflow

bugfix-workflow skill

/swiss-army-knife/skills/bugfix-workflow

npx playbooks add skill penkzhou/swiss-army-knife-plugin --skill bugfix-workflow

Review the files below or copy the command above to add this skill to your agents.

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

# Bugfix 工作流通用知识库

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

## TDD 流程(核心原则)

### RED Phase(先写失败测试)

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

验证命令模板:
```bash
make test TARGET={stack} FILTER={test_file}
```

### GREEN Phase(最小实现)

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

### REFACTOR Phase(重构)

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

最终验证:
```bash
make test TARGET={stack}
make lint TARGET={stack}
make typecheck TARGET={stack}
```

## 置信度评分标准

### 根因分析置信度

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

### 代码审查置信度

| 分数范围 | 级别 | 行为 |
|----------|------|------|
| ≥90 | Critical | 自动修复 |
| 80-89 | Important | 自动修复 |
| <80 | 低于阈值 | 不报告 |

## 通用输出格式

### Error 结构

```json
{
  "id": "BF-{YYYY}-{MMDD}-{NNN}",
  "file": "文件路径",
  "line": 行号,
  "severity": "critical|high|medium|low",
  "category": "错误类型",
  "description": "问题描述",
  "evidence": ["支持判断的证据"],
  "stack": "堆栈信息"
}
```

### Summary 结构

```json
{
  "total": 总数,
  "by_type": { "类型": 数量 },
  "by_file": { "文件": 数量 }
}
```

### Solution 结构

```json
{
  "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 结构

```json
{
  "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 文档模板

```markdown
# [问题简述] 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 | 无错误 | 阻塞 |
| 回归测试 | 无回归 | 阻塞 |