Superpowers Systematic Debugging Skill:让 AI Agent 学会系统化调试的 4 阶段法
系统化调试是 AI coding agent 从「随机修」到「精准修」的关键缺失环节。Superpowers 框架下的 systematic-debugging Skill 以 4 阶段根因分析法为核心,铁律「未找到根因绝不修复」,在 SkillHub.club 拿下 S 级·9.2 分,是当前最高质量的调试专项 Skill 之一。
功能与原则
systematic-debugging 的核心设计原则只有一条:永远先找根因,再动手修复。快速补丁治标不治本,只会让问题以另一种形式复现。Skill 强制要求完成每个阶段后才能进入下一阶段——Phase 1(根因调查)没做完,不能跳到 Phase 3(修复方案)。这条铁律被明确写入 Skill 文件:「Violating the letter of this process is violating the spirit of debugging.」
4 阶段调试流程:
– Phase 1 根因调查:仔细读错误信息 → 尝试稳定重现 → 检查最近变更 → 诊断多组件边界 → 追踪数据流
– Phase 2 模式分析:找同类working代码 → 对比参考实现 → 识别差异 → 理解依赖关系
– Phase 3 假设与测试:形成单一假设 → 写下来 → 用最小化改动测试 → 验证结果再继续
– Phase 4 实施方案:最小可行变更 → 验证修复有效 → 确认不引入新问题
认可度
- SkillHub.club:S级·9.2分(满分10),debugging 类最高分之一
- Superpowers 主体仓库:约 265,608 stars(截至 2026-08-04),Forks 23,753
- systematic-debugging 是 Superpowers 框架 8 大核心 Skill 之一(brainstorming、using-git-worktrees、writing-plans、subagent-driven-development、test-driven-development、requesting-code-review、finishing-a-development-branch 之外的核心调试组件)
- 在 SkillHub.club 的评分系统里debugging类目下长期排名靠前
链接
GitHub:https://github.com/obra/superpowers
原作者
obra(GitHub @obra)— Superpowers 框架作者。obra 同时维护一整套 agent 开发方法论skill集,定位是「让 AI coding agent 真正像专业工程师一样工作」,而非仅仅执行命令。个人项目,专注于软件开发流程与 agent 技能的交叉领域。
介绍
Superpowers 是一个完整的 AI coding agent 软件开发方法论框架,systematic-debugging 是其调试环节的核心 Skill。框架本身包含 brainstorming(设计阶段)、writing-plans(规划)、test-driven-development(测试)、subagent-driven-development(执行)等多个互相配合的技能,systematic-debugging 负责在「出问题了」这个触发点介入,规范 agent 的调试行为。
从工程实践看,AI coding agent 在调试时最常犯的错误就是跳步:看到错误信息就立刻猜一个修复方案,结果引入新 bug。systematic-debugging 通过严格的阶段门控(phase gate)强制 agent 完整走完根因调查→模式分析→假设验证→实施这个链条,才能提出修复方案。
该 Skill 还包含多个专项技术参考:root-cause-tracing(向后追踪数据流)、defense-in-depth(多层防御)、condition-based-waiting(基于条件的等待)等,构成了完整的调试知识库。
特点
- 铁律强制:未经 Phase 1 完整调查,禁止提出任何修复方案——不是建议,是 Skill 层面的硬约束
- 多组件诊断协议:对于 CI → build → signing、API → service → database 等多层系统,Skill 规定了每层边界的诊断步骤,防止在错误层级修 bug
- 最小化测试原则:假设验证只改一个变量、只做最小改动,避免「一次修多个地方」引入新问题
- 适用场景全覆盖:测试失败、生产 bug、性能问题、构建失败、集成问题——所有技术问题共用同一套调试流程
- 触发自动:安装后无需手动调用,遇到技术问题 agent 自动进入 systematic-debugging 工作流
使用方法
安装(以 Claude Code 为例):
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace
systematic-debugging 随 Superpowers 包一起安装,无需单独安装。安装后在任意 agent 平台(Claude Code / Codex / Cursor / Gemini CLI / Kimi Code / OpenCode 等)均可使用。
基本调用:
遇到任何技术问题,直接描述问题现象,agent 会自动触发 systematic-debugging:
> 我的测试报错了:TypeError: Cannot read property 'map' of undefined
agent 会引导你完成 Phase 1→2→3→4,而非直接给出修复代码。
最小示例:
用户:构建失败,报错 "ENOENT: no such file or directory"
→ Phase 1 触发:提问「能稳定重现吗?」「最近的变更有?」
→ 收集环境信息
→ Phase 2:对比正常构建的差异
→ Phase 3:形成单一假设并测试
→ Phase 4:验证通过后实施最小修复
使用场景与人群
适用场景:任何 AI coding agent 调试场景,特别是:
– 测试失败不知从何入手
– Bug 在本地正常但生产环境报错(多组件问题)
– 已经「猜了好几个修复方案」但越修越乱
– 多人协作的代码库,变更历史复杂
目标用户:使用 Claude Code、Codex、Cursor 等 AI coding agent 的开发者,尤其适合:
– 对 AI 生成的修复方案持审慎态度、追求工程规范的技术团队
– 希望 agent 调试行为可预测、可审计的 lead developer
输入与输出案例
案例 1:测试失败
输入:
测试失败:FAIL src/utils/parser.test.ts - Expected: 200, Received: undefined
输出(agent 引导流程):
– Phase 1:检查测试文件最近的 git diff,发现 parser.ts 第 47 行被改成 data ?? null,但测试期望返回 200 → 找到根因:测试数据未更新
– Phase 2:对比同文件其他测试用例的返回结构
– Phase 3:假设「更新测试数据即可」,最小化改动 parser.test.ts 内的 mock 数据
– Phase 4:运行测试验证通过
案例 2:生产环境报错
输入:
生产报错:用户反馈下单后没有收到确认邮件
输出(多组件诊断):
– Phase 1:在 API → email-service → SMTP 各层加诊断日志,重现问题 → 确认邮件服务层正常,但 webhook 未到达
– Phase 2:对比正常下单流程,发现失败订单的 user_id 格式异常
– Phase 3:假设「异常 user_id 格式导致 webhook 跳过」,测试单一变量
– Phase 4:修复 user_id 校验逻辑,邮件确认恢复正常
评论区
登录后可评论。