SuperAPI AI 工具集

diagnosing-bugs

测试与质量

查看项目

更新于 10-15 23:45

技能介绍

用途:面向难以定位的缺陷和性能回归,提供一套分阶段的诊断纪律,仅在明确说明理由时才可跳过阶段。探索代码库时,若存在 CONTEXT.md 应先阅读以建立相关模块的心智模型,并查看所触及区域的 ADR。

主要能力与流程: 阶段1 建立反馈回路,这是核心。需要一条针对该缺陷会变红的紧凑通过/失败信号,二分、假设检验与插桩都依赖它。构造方式大致按顺序尝试:在能触达缺陷的接缝写失败测试(单元、集成、e2e);对运行中的开发服务器用 curl/HTTP 脚本;用固定输入调用 CLI 并对比已知良好快照;用 Playwright/Puppeteer 无头浏览器驱动 UI 并断言 DOM/控制台/网络;回放捕获的 trace;搭建一次性最小 harness;属性/模糊循环;二分 harness;新旧版本差分循环;最后才用人工介入脚本 scripts/hitl-loop.template.sh。随后收紧回路:更快、信号更锐利、更确定。非确定性缺陷的目标是提高复现率而非干净复现。若确实无法建立回路,应停下并明确说明,列出尝试过的方法,向用户索取可复现环境、捕获产物或临时生产插桩许可,不得在无回路时进入假设阶段。完成标准是一条已运行过、能变红、确定、快速、可无人值守运行的命令。 阶段2 复现并最小化:确认失败模式与用户描述一致、可重复、已捕获确切症状;逐步削减输入、调用方、配置、数据与步骤,直到每个剩余元素都是承重的。 阶段3 假设:先给出3至5个排序假设,每个必须可证伪并写出预测,展示给用户后再测试。 阶段4 插桩:每个探针对应一个预测,一次只改一个变量;优先调试器/REPL,其次在区分假设的边界打定向日志,禁止“全量日志再 grep”;调试日志加唯一前缀如 [DEBUG-a4f2] 便于清理;性能回归先建立基线测量再二分。 阶段5 修复与回归测试:仅在存在正确接缝时先写回归测试,观察失败、修复、观察通过,并对原始未最小化场景重跑阶段1回路;若无正确接缝,应记录该发现。 阶段6 清理与复盘:确认原始复现不再出现、回归测试通过或记录接缝缺失、移除所有 [DEBUG-...] 插桩、删除一次性原型、在提交/PR 中写明最终正确的假设;再思考何种架构改动可预防此缺陷,必要时移交 /improve-codebase-architecture 技能。

适用场景:疑难缺陷、性能回归、间歇性失败、需要结构化诊断流程的调试任务。

限制:资料未提供收费、价格、平台支持、安装命令或效果保证等信息;该技能为流程性指导,不替代具体环境的访问权限与可复现产物。