Skip to content

diagnosing-bugs ​

Matt Pocock 对硬 bug 的调试纪律,6 个阶段: Phase 1 建反馈环(核心,占一半篇幅)——给出 10 种建环手段(失败测试→curl→CLI→Playwright→重放流量→一次性 harness→fuzz→二分→新旧对比→人类手动脚本),并要求"收紧"(更快/信号更尖锐/更确定),"2 秒的确定性循环是调试超能力,30 秒的 flaky 循环还不如没有"。Phase 2 复现+最小化——把复现缩到每个元素都承重。Phase 3 假设——必须先列 3-5 个可证伪的假设("如果 X 是原因,那么改 Y 会让 bug 消失"),说不出预测的假设就是 vibe。Phase 4 插桩——调试日志带唯一前缀([DEBUG-a4f2]),收尾一个 grep 全清;性能问题先测基线再二分。Phase 5 修复+回归测试——先写回归测试再修,且只在存在"正确 seam"时;没有正确 seam 本身就是发现(架构阻止锁死 bug)。Phase 6 收尾——清干净,把正确的假设写进 commit message。

🔍 实测报告

★★★★★ 5/5 进阶向

这是我见过打磨最细的调试技能:反馈环优先原则(没环不许提假设)直接治"瞎猜乱改";假设必须可证伪+先列 3-5 条+给用户看;回归测试先于修复且讲究 seam;连"没有正确 seam 本身是发现"都考虑到了。

本报告由自动化实测生成:读取技能完整内容,按描述验证可执行性与依赖。

有这个技能,差别在哪

遇到的情况没有这个技能有这个技能
遇到难 bug,AI 开始盯着代码猜猜错了改,改错了再猜,越改越乱。先逼它建一个"遇到这个 bug 就红"的测试/脚本,没建好不许猜。
bug 偶尔才出现一次(1% 概率)根本没法查,只能碰运气。先想办法把复现率提到能调试的水平(循环100次、加压力、缩时序窗口)。
修好了但怕改坏别处凭感觉"应该修好了"。先写回归测试(在正确的 seam 上)看着它失败,再修、再看它通过。

装好后,AI 会这样帮你干活

你:AI 帮我看看这个按钮点了没反应
AI:Phase 1 先建反馈环——写个 Playwright 脚本点这个按钮,断言弹窗出现(现在会红)。
AI:Phase 2 最小化——把复现缩到最小场景。
AI:Phase 3 列 3 个可证伪假设:事件没绑上?异步没等?报错被吞?先给你看。
AI:修好后跑回归测试+原反馈环,全绿才收工。

安装(超简单,一句话搞定) ​

不用敲任何命令。 复制下面这句话,发给你的 AI 助手(Claude Code、Reasonix、Cursor、Codex 等都行),它会自己帮你装好:

帮我安装 diagnosing-bugs 这个技能,它来自 https://github.com/mattpocock/skills ,装好告诉我是干什么的

你的 AI 助手可能还会问你放在哪、怎么用,照常回答它就行——就像平时让它干活一样,不用懂技术细节。

想自己动手?(不推荐,给懂命令行的人)

下面的命令按工具区分,均来自原仓库。普通用户请直接使用上面的一句话方式,让智能体代劳。

Claude CodeCodexCursorGemini CLIOpenCodeReasonix
/plugin marketplace add mattpocock/skills
/plugin install
/plugins → 搜索 skills → Install Plugin
在 Cursor Agent 聊天中输入 /add-plugin skills
gemini extensions install https://github.com/mattpocock/skills
git clone https://github.com/mattpocock/skills.git 对应技能目录(详见原仓库 README)
用 install_source 安装 https://github.com/mattpocock/skills(Reasonix 会引导你完成)

来源与版权

  • 原作者:Matt Pocock
  • 原仓库:https://github.com/mattpocock/skills
  • 许可证:MIT(允许复制、修改、翻译、再分发,需保留版权声明)
  • 仓库路径:skills/engineering/diagnosing-bugs/SKILL.md

← 返回全部技能

本站仅提供中文导读与索引,所有技能版权归原作者所有