Community编程与开发github.com

Statusnone420/agent-skills

诊断难以复现的 Bug、不稳定测试和性能回退,并快速迭代定位根因。适用于常规修复无效或无法稳定复现的问题,不适用于明显的错误。

agent-skills 是什么?

该技能旨在帮助开发者和 AI 代理系统性地诊断复杂软件缺陷,特别针对那些难以复现、测试不稳定或存在性能回退的问题。其核心价值在于通过严格的迭代循环(复现、最小化、假设、探测、锁定修复、清理)快速缩小问题范围,避免无根据的猜测。技能覆盖了从建立可靠复现命令到最终验证修复的全过程,并设定了关键规则,如两次修复尝试失败后必须重新审视假设、性能问题需基于基线测量和分析等。适用于 Cursor、Claude Code 等 AI 编程助手,能显著提高处理顽固 Bug 的效率和准确性。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Statusnone420/agent-skills/tree/HEAD/adapters/claude/plugins/agent-skills/skills/diagnosing-bugs

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

诊断 Bug

在形成强理论之前,先构建一个快速、明确的通过/失败信号。从命令、输出、追踪和保存的工件中脱敏处理敏感信息。

循环

  1. 复现。 编写一个能触及用户确切症状、且可在该 Bug 上失败的命令。如果没有紧凑的复现方式,请阅读 references/feedback-loop.md。
  2. 最小化。 一次移除一个输入、步骤、调用者和配置。只保留失败所需的最小集合。
  3. 假设。 写出 3-5 个按优先级排序的可证伪原因。对于每个原因,指出哪些观察结果可以确认或推翻它。
  4. 探测。 每次只改变一个变量。优先使用调试器或在边界处进行有针对性的插桩。用独特的 [DEBUG-...] 前缀标记临时日志。
  5. 锁定修复。 将最小的真实复现案例转化为在正确的公共接口处失败的回归测试。应用最小的修复。重新运行测试和原始复现命令。
  6. 清理。 移除临时插桩和测试工具。报告原因、证据、修复以及任何剩余的覆盖缺口。

规则

  • 在两次失败的修复尝试后,停止。在尝试另一个补丁之前,重新检查假设或设计。不要堆叠猜测。
  • 对于性能回退,在更改代码之前先测量基线并进行性能分析或二分查找。仅靠日志不足以诊断性能问题。
  • 如果没有正确的测试接口,请明确指出。修复后,使用 $codebase-design 判断缺失的接口是否需要结构性改进。
  • 只有当原始症状消失且回归检查通过时,才能声称修复成功。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

相关技能