关于 debug-loop
debug-loop 是面向开发者和编码 Agent 的调试技能。它通过真实命令复现问题并测试最多五个假设,要求确认根因后再修改代码。
主要功能
- 01用真实命令复现错误
- 02测试最多五个假设
- 03确认根因后再改代码
- 04实施最小范围的修复
- 05复测问题并运行回归测试
适用场景
- 01调查可复现的软件错误
- 02追查数据或依赖问题
- 03用原始故障验证修复
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill debug-loop安装后在 Claude Code 中输入/debug-loop确认已加载。
详细介绍
调试循环
基于真实数据进行自主的假设驱动调试。不猜测,不模拟。
参数
<symptom>— 描述 Bug 或异常行为。如果省略,则提示用户。
阶段
阶段 1 — 复现
运行能显示 Bug 的确切命令。捕获并显示真实输出。确认 Bug 清晰可见。
如果无法复现 Bug,则停止并说明尝试过的操作。
阶段 2 — 提出假设并测试(最多 5 次迭代)
每次迭代:
- 提出具体假设(例如,“查询针对的是 v2 表,但数据在 v3 表中”)
- 运行真实命令进行测试(例如,先运行
sqlite3 [db path] '.tables',然后执行SELECT COUNT(*) FROM [table]) - 记录假设是否得到证实或被否定
- 如果被否定,则根据已知信息提出下一个假设
确认根本原因之前,不得更改代码。
重要检查项:
- 怀疑是数据问题时,始终同时检查 v2 和 v3 SQLite 表
- 检查依赖项版本(例如,sqlite3 与 better-sqlite3)
- 检查是否有遗漏的硬编码值
阶段 3 — 修复
进行最小化、有针对性的修复。说明:
- 根本原因是什么
- 要更改什么以及原因
- 影响范围是什么(会影响哪些其他代码路径)
应用修复前,在整个代码库中搜索问题模式的所有实例。
阶段 4 — 验证
运行阶段 1 中相同的复现命令。输出现在必须显示正确的值。如果没有,则返回阶段 2。
展示修复前后的输出对比。
阶段 5 — 回归
npm test
运行完整测试套件。如果测试失败,则在提交前修复。
规则
- 绝不猜测或模拟输出——始终运行真实命令
- 确认根本原因之前,绝不更改代码
- 始终在整个代码库中检查问题模式,而不只是检查单个文件
- 如果尝试 5 个假设后仍无法解决,则停止并向用户寻求指导
评论
支持 Markdown