# Debug Audit On Second Miss

> Bug 修复 / 排查场景，连续 2 次假设或 patch 没命中根因时强制停手出 audit。Use when 同一 bug 已经试过 ≥2 次修复、症状仍在或换了形态再现、即将动「第 3 刀」时；触发关键词：「还是有这个问题」「又出现了」「同样的报错」「再试一次」「这次应该」。不适用于一次就 reproduce + 一次修好的场景。 Use when this capability is needed.

- Skill: `tomevault-io/debug-audit-on-second-miss` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/debug-audit-on-second-miss`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/debug-audit-on-second-miss/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/debug-audit-on-second-miss

---


# Debug Audit on Second Miss

## When to Use
- 同一 bug / 症状，已经动过 ≥2 次修复（patch / 配置改 / 逻辑改），症状仍在或换了形态再现
- 即将下「第 3 刀」之前
- 用户出现「还是 / 又 / 还是不行 / 同样的报错 / 这次应该」等信号
- 自己心里冒出「再试一次说不定就中了」「应该是 X」但没有新证据时

不适用：第一次 reproduce + 一次修好；不同 bug 的连续修复；用户明确说「先继续打补丁，等下再回头看」。

## 强制动作

**第 2 次 patch 没命中那一刻立即停手**，不要起第 3 个修改。改为输出 audit：

```
## Bug Audit
- 症状（当前观察到的、可重现的）：
- 已试假设 1 → patch → 结果（哪里没命中）：
- 已试假设 2 → patch → 结果：
- 已排除的方向（基于上面两次结果可以确定不是的）：
- 当前怀疑面（≤3 个，按可能性排序）：
- 下一步建议（每个怀疑面对应的诊断动作，不是修复动作）：
```

发完 audit 等用户拍方向，再动第 3 刀。诊断动作（加日志 / 打断点 / 复现脚本 / 读源码）≠ 修复动作（改代码）。

## 触发器自检

每次准备改代码修 bug 前问自己：
- 这是同一个 bug 的第几次尝试？
- 上一次假设错在哪？我有新证据，还是又在猜？
- 如果只剩下 1 次 patch 机会，我会下这刀吗？

第 1、2 个问题答不上来 → 已经在猜 → 走 audit。

## Gotchas

- audit 不是「装作严肃」的形式——空着「已排除方向」直接列「当前怀疑面」是无效 audit。每次失败必须回填「这次排除了什么」，否则下次又在同一片区猜
- 「换个角度试试」「这次应该」「我感觉是 X」全是猜的语言信号，出现就停
- 用户主动喊停（「我们一直在猜的样子」「先停一下」）= audit 触发器已迟到一步，立即出 audit 不要再辩
- 别把 audit 写成「我做了什么」流水账。要写「假设 → 验证结果 → 排除/保留」

---
> Source: [KarryViber/Orb](https://github.com/KarryViber/Orb) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-22 -->

