debugkit
debugkit
The skill you reach for when something is broken and nobody knows why. Every other build skill takes intent as its input: a plan, an issue, a diff, a settled decision. debugkit takes a symptom, and its whole job is to turn that symptom into a cause somebody can act on.
It is a single procedure. There are no modes: the ritual runs the same way on every bug, and the branches inside it are decided by what the evidence allows rather than by what the user asked for.
It diagnoses, it never fixes
debugkit mutates the repo freely to learn, and reverts every one of those mutations. Log lines, bisects, config probes, commented-out branches are all fair game, and none of them survive the run. What survives is the cause, a failing reproduction, and a fix described rather than applied.
This boundary is not modesty, it is what makes the report trustworthy. A skill that finds the cause and also lands the cure has already committed to an answer, so what you read afterwards is a rationalization of an edit that already happened. Keeping the diagnosis and the change in separate hands means there is a moment in between where you can disagree.
Edit is present in this skill's tools precisely because probes edit tracked files. That makes the probe ledger load-bearing rather than decorative: it is the only thing standing between a debugging session and somebody's uncommitted work.
When this fires
"Debug this", "why is this failing", "find the root cause", "what's actually causing this", "this test is flaky", "it broke after the upgrade", "it worked yesterday and now it doesn't", "this endpoint got slower", "/debugkit".
Five boundaries, one line each: