Diagnosing Bugs Skill FAQ: The Feedback Loop Comes First
Frequently Asked Questions
What does the diagnosing-bugs skill actually do?
Why does it demand a feedback loop before any hypothesis?
What counts as a tight, red-capable loop?
How do you handle flaky, non-deterministic bugs?
What happens when a loop genuinely can't be built?
Why show the ranked hypotheses to the user?
How does the skill keep instrumentation honest?
When should the regression test actually be written?
What does the completion checklist look like?
Why the redaction step at the very start?
Why a Diagnosing Bugs FAQ Exists#
Matt Pocock’s diagnosing-bugs skill is the least visible member of the mattpocock/skills engineering family — it lives in the same folder as tdd, prototype, and code-review but rarely gets written about on its own. That’s a gap, because it’s the one skill in the family built for the moment everything else fails: a bug that survives your normal routine.
I wrote these answers after pulling the skill folder out of the repo and reading SKILL.md line by line. Every claim below traces to something in that file — the six phases, the loop-construction catalogue, the regression-seam rule — not to a README summary or marketing copy.
The Short Answers#
- The loop is the skill. Red-capable, deterministic, fast, agent-runnable — build that first, everything else follows.
- No loop, no hypotheses. The skill refuses to theorise without a red-capable command, and says so out loud.
- Flaky is fixable by rate. Raise a 1% flake to 50% and it becomes debuggable; the skill gives you the techniques.
- Regression tests have a precondition. Only at a correct seam; a shallow seam means false confidence, and no seam at all is itself a finding.
- Every artifact is redacted. Secrets become
<REDACTED>, env vars hold credentials, and only signal lines get quoted.
What the Leaderboard Numbers Tell You#
The engineering family dominates the skills.sh all-time leaderboard — tdd sits at #6 with 741.7K installs, handoff at #10 (646.5K), triage at #11 (642.3K), prototype at #12 (630.8K), domain-modeling at #61 (469.1K), and codebase-design just behind at #62 (455.6K), all from the snapshot we pulled mid-August 2026. Diagnosing-bugs ranks below the top 64 but tracks the same weekly install curve as its siblings, which makes sense: it’s the skill you install because you already hit a wall, not because you’re setting up a workflow. Install counts on skills.sh measure adds, not anger, so this one’s real value shows up in the sessions where the loop finally goes red.
Common Mistakes to Avoid#
Mistake #1: Skipping the loop and reading code. The skill treats this as its cardinal sin. A hypothesis formed by staring at source before a red-capable command exists is the exact failure mode the whole discipline exists to prevent.
Mistake #2: Accepting a green test that isn’t your bug. A loop that passes but doesn’t assert the user’s exact symptom is not red-capable — it can’t go red on this bug, so it proves nothing. Wrong bug, wrong fix.
Mistake #3: Logging everything. The skill names this explicitly as something to never do. Targeted logs at hypothesis-distinguishing boundaries, tagged with a unique prefix, are the sanctioned path — and one breakpoint beats ten logs.
Mistake #4: Writing the regression test at the wrong seam. A unit test that can’t replicate the chain that triggered the bug gives false confidence. If the only available seam is too shallow, the honest output is a note that the architecture is blocking the lock-down.
Start With One Red-Capable Command#
Pick the next bug you can’t fix by glance, run npx skills@latest add mattpocock/skills, and select diagnosing-bugs — it ships with the rest of the family, so tdd, code-review, and prototype come along in the same install. Then obey one rule: before you let the agent theorise, demand a single command it has already run that goes red on your exact symptom. If you want the full comparison of how this skill’s loop stacks up against tdd and code-review, the AI Debugging Skills roundup breaks down all four methodologies side by side.