编程

Bug Diagnosis

试用

Diagnose a bug systematically instead of guessing — reproduce, isolate, form hypotheses, and test them to root cause. Use when debugging, chasing a defect, a...

它能做什么

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:

HypothesisWhy plausibleHow 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.

相关技能

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes

作者 Ivan Ssl2 次安装

Parse error logs, stack traces, and crash reports into a structured root cause diagnosis. Use when an application is throwing exceptions, crashing, or produc...

Use when asked to find bugs, hunt for correctness issues, sweep a codebase for defects, or verify a repo behaves as intended. Not for style or architecture r...

4 次安装

Diagnose hardware performance shortfalls with measurable problem definition, first-principles models, equation-led decomposition, 5M1E coverage, multidisciplinary review and evidence-ranked causal trees. Use for root-cause analysis, causal diagrams, out-of-spec parameters, 5 Whys, engineering contradictions or hardware troubleshooting.

Aggregate 6 single-skill diagnosis outputs into one Discussion report (scoring, severity, top-3). Output: chat reply in conversation language.

Write a clear, reproducible bug report that gets fixed fast. Use when asked to write a bug report, file a defect, report an issue, or turn 'it's broken' into...