mcpbeat Sign in

Systematic Debugging Agent Skill

Finds the root cause of a bug, test failure, or unexpected behavior before proposing any fix. Use this whenever something is broken and the cause is not yet proven — a failing test, a production error, intermittent behavior, or a symptom that appeared after a change. Also use when a fix has been attempted and did not work, or when the same bug keeps coming back.

568 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
220
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/cbrock84/headcount --skill systematic-debugging

The instruction itself

5 sections, as written by the author

Systematic debugging

The rule

No fix before the cause is proven. A change that makes a symptom disappear without an

explanation has not fixed anything — it has moved the failure somewhere you are not looking.

Method

  • Reproduce it deterministically. If you cannot make it happen on demand, you cannot know when

it is fixed. Intermittent means you have not found the variable yet — order, timing, state,

environment, data.

  • Narrow the blast radius. Bisect: which commit, which input, which branch, which layer. Halve

the search space with each step rather than reading everything.

  • State a hypothesis that can be wrong. "The cache returns stale rows after a write" is a

hypothesis. "Something is wrong with caching" is not.

  • Test the hypothesis directly — a log line, a breakpoint, a probe. Prove it, do not infer it.
  • Explain the whole symptom. If your cause explains the error but not why it started Tuesday,

you have found *a* bug, not *the* bug.

  • Fix, then verify by reverting. Put the bug back and confirm the test fails again. This is the

step people skip, and it is the one that proves causation rather than coincidence.

Anti-patterns

  • Shotgun changes — altering several things at once. Now you cannot attribute the fix.
  • "Probably a flake." Not a diagnosis. A test that fails intermittently is reporting a real

race, ordering dependency, or shared-state leak.

  • Fixing the symptom — catching the exception, adding a retry, widening a timeout — without

knowing what threw it.

  • Trusting the error message's location. Where it surfaced is rarely where it originated.

Return contract

State the reproduction, the proven cause, the fix, and the verification that the fix addresses that

cause specifically. Name anything you ruled out and how.

How to use it

Copy the folder

Take cbrock84/systematic-debugging from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.