mcpField
D
debug-tools

debug-tools

github.com/adeonir开发8136 次安装1 天前更新
代码仓库

关于 debug-tools

一种迭代式调试技能,引导问题调查、证据收集、修复与验证。它会记录反复失败,并在三次尝试后停止局部修补,转而要求进行架构评估。

主要功能

  1. 01基于清单的调试工作流
  2. 02依据证据为假设排序
  3. 03与正常工作的代码比较
  4. 04通过日志收集运行时证据
  5. 05验证修复并清理调试日志
  6. 06三次失败后升级评估

适用场景

  1. 01调查已报告的错误
  2. 02对照正常代码追踪回归问题
  3. 03需要运行时证据时添加日志
  4. 04验证后清理调试日志

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/adeonir/agent-skills --skill debug-tools

安装后在 Claude Code 中输入/debug-tools确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
agents/
openai.yaml
references/
debugging-patterns.md
investigation.md
log-cleanup.md
log-injection.md
scripts/
debug_logs.py

详细介绍

调试工具

通过迭代式调试工作流,要求修复必须有证据支持,并在反复失败后升级处理。

触发条件

  • 调试 bug(“调试这个”“调查”“追踪问题”“修复 bug”“为什么 X 出问题了”)→ 第 1 步
  • 回归或对比(“以前能用”“更新后坏了”“那里能用,但这里不能用”)→ 第 2 步
  • 添加调试日志(“添加调试日志”“注入日志”“用日志追踪”)→ 第 3 步
  • 清理日志(“移除调试日志”“清理日志”)→ 第 5 步

工作流

复制此检查清单并逐项勾选:

Progress:
- [ ] Step 1: Investigate
- [ ] Step 2: Compare against working code (when needed)
- [ ] Step 3: Gather runtime evidence (when needed)
- [ ] Step 4: Fix and verify
- [ ] Step 5: Clean up logs

从会话状态所指示的步骤开始;已有证据的会话无需从第 1 步重新开始。

第 1 步。调查。 加载 investigation.md,并按顺序完成其中从“理解 bug”到“排列假设”各节的工作。完成标准:每个假设都有评分和证据类型,且排在首位的假设要么已有证据,要么明确指出所需的运行时数据。

第 2 步。与可正常工作的代码对比。 当分析陷入停滞,需要将出错的代码与正常工作的示例进行差异对比,或用户报告某项功能以前能用时,加载 debugging-patterns.md。完成标准:已取得对比结果或回归追踪记录;然后返回第 1 步,重新排列假设。

第 3 步。收集运行时证据。 当阅读代码无法揭示运行机制,且只有观察运行中的系统才能查明时,加载 log-injection.md。完成标准:已查看复现过程的输出;然后返回第 1 步,重新排列假设。

第 4 步。修复并验证。 完成 investigation.md 中的“提出修复方案”“验证”和“报告”各节。完成标准:复现时不再出现该症状,并已撰写报告。如果症状依然存在,请根据本次运行结果返回第 1 步。

第 5 步。清理日志。 修复验证通过后,或收到明确请求时,加载 log-cleanup.md。在将更改提交到版本控制之前运行该流程。完成标准:脚本的 find 命令未报告任何 [DEBUG] 语句,且项目的语法检查通过。

敏感值绝不能出现在注入的日志中,包括密码、令牌、API 密钥、PII 和会话标识符。此要求适用于添加日志的任何场景,包括尚未加载第 3 步时在调查过程中途添加日志。

反模式:症状打地鼠

在多个位置修复同一症状,说明存在架构问题,而非局部 bug。对于症状仍然存在的每份第 4 步报告,都以 Attempt N of 3 结尾,并在提出另一次修复方案前读出该数字。尝试三次后停止修复:第四步是向用户进行架构评估,说明尝试过什么以及失败原因、问题是否属于系统性问题(抽象错误、缺少层级、假设有误),以及能够解决问题的架构变更。若根因不断变化、每次尝试的变更规模不断扩大,或置信度评分逐次降低,则应更早停止并重新评估。

评论

支持 Markdown