diagnose 是一个智能体技能(agent skill),目标是找到并验证缺陷根因,然后把可执行的修复提案保存为持久化工件。它的硬性规则是:只诊断,不修复。绝不通过修改应用代码让缺陷消失;修复方案写进报告作为提案,应用是用户在审阅后的单独步骤。临时插桩(带标签的调试日志、一次性测试脚手架)允许使用,但完成前必须清理。
适用场景:原因未知且难度较高的缺陷,例如间歇性、隐蔽、跨系统,或已经经历过一次错误修复的问题。若缺陷已理解、只想直接修,则不必使用本技能。
编排采用子智能体契约:只允许一层委派,子智能体不再派生;子智能体无状态,提示中需包含复现命令、其负责的唯一假设、file:line 证据以及通过/失败标准;返回结构化的裁决而非原始日志(超过约100行写入文件并返回路径);共享可变资源(同一 dev server、同一数据库行、同一端口)需串行或各自隔离在独立 git worktree / fixture 中。Workflow 仅为可选的调度加速,顺序调用子智能体始终可用作回退。
工作流分为六个阶段:1 采集(逐步提问,不捆绑无关问题);2 构建反馈回路(本技能核心,优先失败测试、curl/HTTP 脚本、CLI 夹具、Playwright、回放轨迹、一次性脚手架、属性/模糊测试、二分、差分等策略,并使其更快、更确定性、信号更锐利);3 复现(确认是用户描述的那个失败、可稳定复现、已捕获确切症状);4 假设(先产出3至5个可证伪的排序假设,每个须含预测);5 验证(5a 并行探测,每个假设一个子智能体,单变量;5b 对抗性确认,由独立子智能体尝试反驳,失败即确认);6 报告(写入 $SPECS_ROOT/bugs/<bug-name>.md,删除 [DEBUG-...] 插桩与一次性脚手架,告知用户路径并概述根因与提案)。
无法建回路时应停止,直接进入阻塞报告并列出尝试过的策略;无复现不得产出结论,不给未经证实的猜测。模型与工作量按探测类型分级(回路侦察 economy–standard / low–medium;假设探测 standard / medium;对抗反驳 frontier / high),运行时缺少相应档位则跳过该档位而非阻塞。分类:编程与开发。资料未提供具体价格、收费或平台支持范围。