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.
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Claude CodeNot declared
CursorNot declared
CodexNot declared
GitHub CopilotNot declared
WindsurfNot declared
Gemini CLINot declared
ClineNot declared
OpenCodeNot declared
Repository health
Stars1.3K
LicenseLICENSE
Default branchmain
Open issues7
Status
Active
Package contents
Files included with this skill beyond the listing page.
skill mdSKILL.md3,098 B
docsSUMMARY.md389 B
History
First seen on skills.sh
First recorded snapshot · 3 installs
SKILL.md
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.