Debug playbook
Hypothesis-driven debugging — reproduce, hypothesize, probe, locate, fix, guard. Use when something is broken and you don't yet know why.From its SKILL.md
npx -y skills add atuljha23/holocron --skill debug-playbookAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.6 KB, 599 tokens by cl100k_base, as published. Nobody here has run it
Debug playbook
The order of operations matters more than the tools.
1. Reproduce
Nothing else is useful until you can make the bug happen on demand.
- Exact command / action / input that triggers it
- Minimum conditions — strip away anything not required
- If you can't repro, narrow: which environments? which users? which data? which times?
- Unreproducible bugs are intermittent bugs, which are race / env / state leaks — treat them as such.
2. Hypothesize
List 2–3 concrete theories. For each:
- What you think is happening (one sentence)
- What observation would confirm it
- What observation would kill it
If you have only one hypothesis, you're not thinking hard enough — or it's so obvious you should skip to step 4.
3. Probe
Add the cheapest probe that separates your top two hypotheses.
- A targeted log line > reading the code again
git bisectwhen the timeline is wide and the test is binarystrace/dtrace/perfwhen the surface is the runtime, not the code- Differential execution — run on a known-good input and a known-bad input, diff the trace
Resist the urge to add logs everywhere. Add one at the pivot point.
4. Locate
When observation singles out the hypothesis, point at the line. Not the region — the line.
Ask: why does this line break? What invariant did we assume here that isn't true?
5. Fix
Minimum change that resolves the root cause. Nothing adjacent.
- Not: "add a try/catch so we don't see the error"
- Not: "bump the retry so it eventually succeeds"
- Not: "rewrite this section while I'm here"
6. Guard
Add a test that fails without your fix and passes with it. The test should target the condition, not mimic the scenario.
Anti-patterns
- Shotgun debugging — changing five things, one passed. Revert four of them and find which one.
- Bandaid reflex — catching exceptions you don't understand. You're hiding the bug, not fixing it.
- Upgrade cure — "upgrading the dep fixed it". Maybe. Or maybe it re-broke differently. Read the changelog.
- "Works on my machine" — an environment bug. Find the environmental difference.
- Adding retries — every retry hides a bug you didn't diagnose.
Writing up the diagnosis
Short report:
What happened: <observable>
Root cause: <one sentence, concrete>
Why tests missed it: <honest answer>
Fix: <the change, minimum>
Regression guard: <the test>
If you can't write this report, you haven't finished debugging.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 1 of the 12 instructions most debug triage skills give in 599 tokens
Counted across 1,020 of the 1,639 authors here whose files we hold, read 2026-09-06
- Find root cause before attempting any fixin 134 of 1020, across 118 files
- Create a failing test case before implementing a fixhere, and in 109 of 1020, across 95 files
- Read error messages and stack traces completelyin 102 of 1020, across 88 files
- Reproduce the issue consistently before investigatingin 90 of 1020, across 77 files
- Make the smallest possible change to test a hypothesisin 90 of 1020, across 76 files
- Trace data flow backward to find the sourcein 84 of 1020, across 70 files
- Form a single hypothesis before testingin 78 of 1020, across 64 files
- Implement only one fix at a timein 76 of 1020, across 63 files
- Question the architecture if three fixes failin 73 of 1020, across 59 files
- Add diagnostic instrumentation at component boundariesin 68 of 1020, across 56 files
- Compare broken code against working examplesin 68 of 1020, across 57 files
- Write a regression test before applying the fixin 62 of 1020, across 55 files
Said here and by no other author read
- Reproduce the bug on demand
- List two to three concrete theories
- Identify the specific line causing the bug
- Write a short diagnosis report
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.