Debug probe
Skill zelixag/debug-probe
Hypothesis-driven runtime debugging with precise instrumentation. Use when debugging bugs, anomalies, or unexpected behavior where static code analysis is insufficient. 6-phase loop: hypothesize → instrument → reproduce → converge → fix → clean up. Triggers on: debug, diagnose, broken, bug, not working, unexpected behavior, investigate, root cause, probe.From its SKILL.md
npx -y skills add zelixag/debug-probeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 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
3.2 KB, 714 tokens by cl100k_base, as published. Nobody here has run it
Debug Probe
Quick Start
When you hit a bug that reading code can't resolve:
- Hypothesize — Read source, generate 2-4 falsifiable hypotheses
- Instrument — Insert minimal logging (2-4 points per hypothesis), tag
[DIAG_<topic>] - Collect — Build → user reproduces → user exports logs
- Converge — Match logs to hypotheses → confirm root cause
- Fix — Minimal fix → verify with user
- Clean up — Remove ALL instrumentation, confirm build passes
Never skip to fixing. Always clean up after.
The 6 Phases
Phase 1: Hypothesize
Read relevant source code. Generate 2-4 testable hypotheses:
[H1] Root cause may be X → if true, log would show Y
[H2] Root cause may be Z → if true, log would show W
Share hypotheses with user before touching code.
Phase 2: Instrument
Rules:
- Only instrument to test hypotheses — no fishing expeditions
- Tag format:
[DIAG_<topic>](short topic likeauth,render,state) - 2-4 instrumentation points per hypothesis
- Mark ALL temporary code:
// DIAG: remove after debug(adapt comment syntax to language) - Set up a diagnostic buffer (pick from TEMPLATES.md)
Use diagLog('H1', 'key=val', ...) — outputs to both console and an in-memory buffer so users can export all logs at once after reproducing the bug.
Phase 3: Collect
- Build & deploy
- User reproduces the bug
- User exports logs (dump function, console output, log file, etc.)
- Group logs by hypothesis tag (
[DIAG][H1],[DIAG][H2]) - If expected paths aren't hit → is instrumentation on the right branch? → adjust and rebuild
Phase 4: Converge
| Situation | Action |
|---|---|
| Logs confirm a hypothesis | Confirmed root cause → Phase 5 |
| All hypotheses refuted | New hypotheses from log clues → Phase 2 |
| Insufficient data | More precise instrumentation → Phase 2 |
Max 2-3 iterations before escalating.
Phase 5: Fix & Verify
- Minimal fix targeting confirmed root cause
- Build → user verifies fix works
- Fix fails → keep key instrumentation, return to Phase 1
- Fix works → Phase 6
Phase 6: Clean Up
Mandatory. Search for DIAG: remove after debug and:
- Remove all temporary instrumentation code
- Remove all diagnostic imports
- Remove diagnostic buffer file if no longer referenced
- Build to confirm compilation passes
- Tell user: instrumentation removed, only fix remains
Anti-Patterns
- ❌ Skip hypotheses, jump straight to "fixing"
- ❌ Instrument 10+ points — precision beats coverage
- ❌ Dump entire objects — signal drowns in noise
- ❌ Forget Phase 6 cleanup — instrumentation rots
- ❌ Claim "done" without user verification
- ❌ Use raw
console.log/print— use the diag buffer pattern
What ships with it: 4 files
6.9 KB alongside SKILL.md
- .gitignore30 B
- LICENSE1.0 KB
- README.md2.7 KB
- TEMPLATES.md3.2 KB