skills/development/systematic-debugging/SKILL.md
Structured root-cause debugging methodology. Use when encountering any bug, test failure, or unexpected behavior before proposing fixes. Four-phase process — investigate, analyze patterns, form hypotheses, then implement fixes.
npx skillsauth add bereniketech/claude_kit 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.
Random fixes waste time and create new bugs. Quick patches mask underlying issues.
Rule: ALWAYS find root cause before attempting fixes. Symptom fixes are failure. No fixes without root cause investigation first. If you haven't completed Phase 1, you cannot propose fixes.
Use for ANY technical issue: test failures, bugs in production, unexpected behavior, performance problems, build failures, integration issues.
Use this ESPECIALLY when:
Don't skip when:
BEFORE attempting ANY fix:
Read Error Messages Carefully
Reproduce Consistently
Check Recent Changes
Gather Evidence in Multi-Component Systems
When a system has multiple components (CI → build → signing, API → service → database):
Before proposing fixes, add diagnostic instrumentation:
For EACH component boundary:
- Log what data enters component
- Log what data exits component
- Verify environment/config propagation
- Check state at each layer
Run once to gather evidence showing WHERE it breaks
THEN analyze evidence to identify failing component
THEN investigate that specific component
Trace Data Flow
When the error is deep in a call stack, see root-cause-tracing.md in this directory for the complete backward tracing technique.
Quick version: Where does the bad value originate? What called this with the bad value? Keep tracing up until you find the source. Fix at source, not at symptom.
Find the pattern before fixing:
Scientific method:
Fix the root cause, not the symptom:
Rule: If 3+ fixes have failed, STOP and question fundamentals. Pattern signs: each fix reveals new shared state/coupling, fixes require massive refactoring, each fix creates new symptoms elsewhere. This is NOT a failed hypothesis — this is a wrong architecture. Discuss with the user before attempting more fixes.
If you catch yourself thinking:
ALL of these mean: STOP. Return to Phase 1.
| Excuse | Reality | |--------|---------| | "Issue is simple, don't need process" | Simple issues have root causes too. Process is fast for simple bugs. | | "Emergency, no time for process" | Systematic debugging is FASTER than guess-and-check thrashing. | | "Just try this first, then investigate" | First fix sets the pattern. Do it right from the start. | | "I'll write test after confirming fix works" | Untested fixes don't stick. Test first proves it. | | "Multiple fixes at once saves time" | Can't isolate what worked. Causes new bugs. | | "Reference too long, I'll adapt the pattern" | Partial understanding guarantees bugs. Read it completely. | | "One more fix attempt" (after 2+ failures) | 3+ failures = architectural problem. Question pattern, don't fix again. |
These techniques are available in this directory:
root-cause-tracing.md — Trace bugs backward through call stack to find original triggerdefense-in-depth.md — Add validation at multiple layers after finding root causecondition-based-waiting.md — Replace arbitrary timeouts with condition pollingfind-polluter.sh — Find test pollution in test suites| Phase | Key Activities | Success Criteria | |-------|---------------|------------------| | 1. Root Cause | Read errors, reproduce, check changes, gather evidence | Understand WHAT and WHY | | 2. Pattern | Find working examples, compare | Identify differences | | 3. Hypothesis | Form theory, test minimally | Confirmed or new hypothesis | | 4. Implementation | Create test, fix, verify | Bug resolved, tests pass |
testing
AUTHORIZED USE ONLY: This skill contains dual-use security techniques. Before proceeding with any bypass or analysis: > 1.
testing
Provide comprehensive techniques for attacking Microsoft Active Directory environments. Covers reconnaissance, credential harvesting, Kerberos attacks, lateral movement, privilege escalation, and domain dominance for red team operations and penetration testing.
development
Detects missing zeroization of sensitive data in source code and identifies zeroization removed by compiler optimizations, with assembly-level analysis, and control-flow verification. Use for auditing C/C++/Rust code handling secrets, keys, passwords, or other sensitive data.
development
Comprehensive guide to auditing web content against WCAG 2.2 guidelines with actionable remediation strategies.