plugins/compound-engineering/skills/systematic-debugging/SKILL.md
Use when debugging unexpected errors during implementation -- provides a structured 4-phase methodology instead of trial-and-error
npx skillsauth add the-rabak/compound-engineering-plugin systematic-debuggingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A structured methodology for debugging unexpected errors encountered during implementation. Prevents trial-and-error guessing by enforcing a disciplined observe-hypothesize-test-fix cycle.
Announce at start: "I'm using the systematic-debugging skill to diagnose this issue."
bug-reproduction-validator agent instead)docs/solutions/Gather evidence before forming any theories. Do not skip this phase.
Output of Phase 1: A clear, factual description of the symptoms with no theories attached.
Form structured theories about the root cause. Do not jump to fixing yet.
List 3 possible root causes ranked by likelihood:
For each hypothesis, identify:
Do NOT:
Verify or eliminate each hypothesis systematically. Start with the most likely.
Test the most likely hypothesis first:
If confirmed: Move to Phase 4 (Fix)
If ruled out: Test the next hypothesis
If all 3 ruled out: Return to Phase 2 with new hypotheses based on what you learned
Techniques:
Do NOT:
Apply a targeted fix to the confirmed root cause.
Fix the root cause -- not the symptom. If the error is "undefined is not a function," the fix is not adding a null check -- it is understanding WHY the value is undefined and fixing THAT.
Make the minimal fix -- Change as little as possible. Do not refactor, clean up, or "improve" other code while fixing the bug.
Verify the fix:
Check for siblings -- Is this same bug likely to exist in similar code elsewhere? If so, fix those too.
Remove diagnostics -- Remove any log statements, debug prints, or breakpoints added during Phase 3.
Include in your execution report:
### Debugging Session
- **Symptom:** [what failed]
- **Root cause:** [what was actually wrong]
- **Fix:** [what was changed]
- **Prevention:** [how to prevent this in the future]
This information feeds into the learnings brief for subsequent tasks and can be captured in docs/solutions/ via /workflows:compound.
If you discovered a pattern that would help prevent this issue in the future:
tools
Package one plan execution packet into a compact ticket-local execution packet with parent refs, scope fences, feature-home ownership, and evidence commands. Use when converting plans into local tickets or when execution needs one ticket-sized context pack without the full plan.
tools
Package one plan execution packet into a compact ticket-local execution packet with parent refs, scope fences, feature-home ownership, and evidence commands. Use when converting plans into local tickets or when execution needs one ticket-sized context pack without the full plan.
testing
Run a deep adversarial review of plans and architecture before implementation. Use when validating strategy docs, contracts, roadmaps, and competitive positioning with scored findings and prioritized recommendations.
testing
Run a deep adversarial review of plans and architecture before implementation. Use when validating strategy docs, contracts, roadmaps, and competitive positioning with scored findings and prioritized recommendations.