bug-diagnosis
GitHub系统化排查Bug的技能,通过可靠复现、隔离范围、提出并验证假设来定位根因。适用于调试、间歇性故障等场景,输出结构化诊断报告及修复方案与回归测试。
触发场景
安装
npx skills add mohitagw15856/pm-claude-skills --skill bug-diagnosis -g -y
SKILL.md
Frontmatter
{
"name": "bug-diagnosis",
"description": "Diagnose a bug systematically instead of guessing — reproduce, isolate, form hypotheses, and test them to root cause. Use when debugging, chasing a defect, an intermittent failure, or 'why is this happening?'. Produces a structured diagnosis: a reliable repro, the narrowed-down location, ranked hypotheses with how to test each, and the root cause + fix once found."
}
Bug Diagnosis Skill
The slowest way to fix a bug is to start changing code and hope. This skill runs a disciplined diagnostic loop: reproduce it reliably, isolate where it happens, hypothesize why, and test the cheapest hypothesis first — narrowing until the root cause is proven, not guessed. It produces a fix and an explanation of why the bug existed.
Required Inputs
Ask for these only if they aren't already provided:
- The symptom — what's wrong: expected vs. actual behavior, error/stack trace, when it started.
- Repro steps — how to trigger it (or "can't reliably reproduce yet").
- Context — recent changes, environment, frequency (always / intermittent / specific inputs).
- What's been tried — so we don't repeat dead ends.
Output Format
Diagnosis: [bug]
1. Reproduce — the minimal, reliable steps to trigger it. If it's intermittent, the plan to make it deterministic (fixed input/seed, added logging, narrowed conditions). No fixing until it reproduces.
2. Isolate — narrow where it happens: bisect (git bisect / comment-out / binary search the input), check the boundaries (what's the last known-good point vs. first bad). State the smallest scope that still shows the bug.
3. Hypotheses (ranked) — likely causes, most-probable-and-cheapest-to-test first:
| Hypothesis | Why plausible | How to test it (the cheap check) | Verdict |
|---|
Test them in order; record what each rules in or out.
4. Root cause — the proven cause (not a symptom), with the evidence that confirms it.
5. Fix & guard — the fix, a test that fails before it and passes after (lock the bug out), and any nearby instances of the same mistake.
Quality Checks
- A reliable reproduction exists before any fix is attempted
- The location is isolated by bisection/narrowing, not guessed
- Hypotheses are ranked by likelihood × cheapness and tested in order
- The stated cause is the root cause with evidence — not just the surface symptom
- A regression test is added that fails before the fix and passes after
Anti-Patterns
- Do not start changing code before the bug reliably reproduces
- Do not fix the symptom and stop — trace to the underlying cause
- Do not change several things at once — you won't know what fixed it (or hid it)
- Do not skip the regression test — an unguarded bug comes back
- Do not ignore "what's been tried" — re-running dead ends wastes the loop
Based On
Systematic debugging method (reproduce → isolate → hypothesize → verify) — Zeller's Why Programs Fail / scientific-method debugging.
版本历史
- a38bc30 当前 2026-07-05 11:30


