# 系统化调试 (systematic-debugging)

> 按四个阶段排查 bug：先调查根因，再分析模式、验证假设，最后修复根因而不是症状。

- 分类: [测试与调试](https://www.myskills.tools/zh/categories/testing-debugging/)
- 来源: 社区 · Jesse Vincent
- 代码仓库: https://github.com/obra/superpowers/tree/main/skills/systematic-debugging (commit bb92a77)
- SKILL.md: https://github.com/obra/superpowers/blob/main/skills/systematic-debugging/SKILL.md
- 安装命令: `npx skills add obra/superpowers --skill systematic-debugging`
- 许可证: MIT
- 兼容工具: Claude Code, Codex, Cursor, Gemini CLI, OpenCode
- 权限: read-repo ✓, write-files ✓, shell ✓, network ✗
- 状态: 扫描通过
- 规则扫描无法覆盖所有风险，安装前请阅读此技能的 SKILL.md，确认权限后再使用。

## 核心规则

未完成根因调查之前，不做任何修复。

## 执行阶段

1. **调查根因** — 完整阅读错误信息，稳定复现，检查最近改动；多组件系统在各边界加诊断日志，并沿调用链回溯坏值来源。
2. **分析模式** — 在代码库中找能正常工作的类似代码，完整阅读参考实现，列出与出错代码的每一处差异。
3. **假设与验证** — 明确写下一个假设，用最小改动一次只验证一个变量；不成立就提出新假设，不叠加修复。
4. **修复根因** — 先写能复现问题的失败测试，再做单一修复并验证；连续 3 次修复失败就停下，与人讨论架构是否有问题。

## 权限说明（据 SKILL.md 整理）

| 能力 | 是否需要 | 说明 |
|---|---|---|
| 文件写入 | 需要 | 可添加诊断日志、编写失败测试并实施单一修复。 |
| 命令执行 | 需要 | 复现问题、运行测试、查看 git diff 和最近的提交。 |
| 网络外发 | 不需要 | 流程中没有网络访问步骤。 |

## SKILL.md 头部信息（YAML）

```yaml
---
name: systematic-debugging
description: Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
---
```

首页: https://www.myskills.tools/zh/ · URL: https://www.myskills.tools/zh/skills/systematic-debugging/
