根据证据定位未知根因并验证修复。 Use when: bug、测试失败或异常行为的根因尚未查明。 Not for: 新功能设计、已确定原因且有精准失败检查的修复(用 tdd)。 Output: 有依据的诊断与修复验证;未解决时给出真实缺口和下一步。
83%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
家里的真实教训是猜根因、反复补症状,以及无证据把问题归咎于 runtime 没更新。诊断要回答发生了什么、为什么、修复是否有效;方法与记录格式可以按现场选择。
tdd 保留可信 RED → GREEN:已有精准失败检查可复用;缺少行为保护时补回归测试。相关回归检查与影响面匹配。下面的方法和模板是可选参考,可以直接使用、改造或替换。无需按模型资格决定能否换方法;自检看诊断与结果是否有依据,不检查模板是否填满。
声称“没更新 / 没编译 / 没重启 / 还是旧代码”时,必须有对应运行证据。怀疑验证对象、版本或配置错配时,先核对实际实例,再归因。
3003/3004 默认是 runtime,不能冒充开发实例。来源:2026-04-05 runtime 状态误判教训;边界见 ../.cat-cafe-shared-refs/shared-rules.md §12、§16a。
需要排除错实例时,可从这些线索入手。端口与路径从实际启动配置取得,不套用默认值:
实例:目标 URL / API 端口 / worktree
进程:监听 PID 与启动时间
构建:实际加载的版本或构建标识,是否包含目标变更
行为:本次请求对应的日志、输出或复现结果可用 lsof -nP -iTCP:<实际端口> -sTCP:LISTEN、ps -p <PID> -o lstart= 和目标仓库的 Git 信息协助核对;这些命令不代替构建与行为证据。
需要组织调查时,可以按下面的顺序起步,也可以根据新证据返回、合并步骤或换方法。
相关历史可以用 search_evidence 查询;已知精确代码位置则直接 Read/Grep。搜索服务当前诊断,不是每次开工固定多轮。
多次修复没有新证据、同一状态对象反复暴露缺边,或修一处坏一处时,应停下检查当前假设、共享状态和契约。次数是警报,不是“架构有问题”的证明。
排除修复未加载、复现条件变化等解释后,若确实缺状态契约,回 writing-plans 补清生命周期与不变量;需要不同视角时找合适伙伴。价值取舍、权限或跨猫僵局才按决策漏斗交给 operator。
八栏诊断胶囊可帮助整理复杂调查。小问题可以只记“现象 → 证据 → 假设/根因 → 修复 → 验证”,也可以直接引用已有 PR/issue。
需要独立 bug report 时可放在 docs/bug-report/<bug-name>/bug-report.md,保留来源、复现、根因、修复和验证;无需先写工作表、再重复写一份报告。
| 误区 | 正确做法 |
|---|---|
| 猜“旧 runtime”就建议重启 | 查真实实例与加载证据,重启仍走原授权边界 |
| 胶囊填满就认为根因已知 | 判断依据来自复现与区分实验 |
| 同时改多处后碰巧绿了 | 缩小变量,确认哪个机制解释了问题 |
| 已有精准 RED 仍另造同义测试 | 复用已有信号,补它未覆盖的行为风险 |
| 三次失败就断言需要重构 | 先检查竞争解释与状态契约,不用次数代替根因 |
根因确认后按 tdd 修复与验证;交付时用与当前声明相匹配的 quality-gate 自证。仍未解决时留下证据、剩余假设和可行动的下一步。
zts212653/clowder-ai
14e32aa
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.