Phase Gated Debugging

调试任何 bug 时使用。强制执行 5 阶段协议,在确认根因之前禁止编辑代码,防止过早尝试修复。

kscz0000 Updated

File contents

阶段门控调试

概述

AI 编码智能体看到错误就立刻改代码。它们猜测修复方案,猜错后越改越乱。本技能强制执行严格的 5 阶段协议——在根因被识别和确认之前,禁止编辑源代码。

基于 claude-debug(完整插件,带 PreToolUse 钩子强制执行)。

适用场景

在以下情况下使用本技能:

  • bug 反复"修复"却始终未解决根本问题
  • 需要放慢智能体节奏,强制其在编辑代码前进行规范化调试
  • 故障是间歇性的、回归性的、性能相关的,或难以定位
  • 希望在应用任何修复之前有明确的用户确认检查点

协议流程

阶段 1:复现

运行失败的命令/测试。捕获确切错误。运行 2-3 次确认一致性。

  • 不要阅读源代码
  • 不要假设推测
  • 不要编辑任何文件

阶段 2:隔离

阅读代码。添加标记为 // DEBUG 的诊断日志。带诊断重新运行。二分搜索缩小范围。

  • 仅允许 // DEBUG 标记的日志
  • 不要修复 bug,即使你已经看到问题

阶段 3:根因

在隔离位置分析"为什么"。使用"5 个为什么"技术。移除调试日志。

声明:"这是我的根因分析:[解释]。你同意吗,还是需要我进一步调查?"

等待用户确认。没有确认不得继续。

阶段 4:修复

移除所有 // DEBUG 行。针对已确认的根因进行最小化修改。

  • 仅编辑与根因相关的文件
  • 不要重构无关代码

阶段 5:验证

运行原始失败测试——必须通过。运行相关测试。对于间歇性 bug,运行 5 次以上。 如果验证失败:根因判断错误,回到阶段 2。

Bug 类型策略

类型 技术
崩溃/Panic 反向追踪堆栈——追溯坏值到其源头
输出错误 二分搜索——记录中点,每次迭代将搜索空间减半
间歇性 对比成功与失败运行的日志——找出排序差异
回归 git bisect——找到问题提交
性能 在阶段边界计时——找到瓶颈

核心规则

  1. 阶段 1-3 绝不编辑源代码(阶段 2 的 // DEBUG 除外)
  2. 阶段 3 之后绝不跳过用户确认直接继续
  3. 调查之前必须先复现
  4. 修复之后必须验证

限制

  • 仅当任务明确匹配上述范围时才使用本技能。
  • 不要将输出视为环境特定验证、测试或专家评审的替代品。
  • 如果缺少所需输入、权限、安全边界或成功标准,请停下来请求澄清。

kscz0000/antigravity-awesome-skills-CN/tree/main/反重力 - 超强技能 - 中文/skills/安全与测试/调试工具/phase-gated-debugging commit 55a0cc2e01

Frequently asked questions

npx skillmds@latest add kscz0000/phase-gated-debugging