
Systematic Debugging
- 76 installs
- 8 repo stars
- Updated August 4, 2026
- bbeierle12/skill-mcp-claude
systematic-debugging is a Claude skill that applies the scientific method to debugging, tracing bad values to their root cause before proposing fixes.
About
This skill enforces a systematic debugging process based on the scientific method: understand the problem, reproduce it consistently, and trace the bad value backward to its root cause. A developer uses it when encountering any bug, test failure, or unexpected behavior before proposing fixes, and it warns against changing multiple things at once or fixing symptoms.
- Applies the scientific method to debugging with root-cause analysis
- Backward-traces bad values to their source, fixing source not symptom
- Stops and questions the architecture after 3 failed fix attempts
Systematic Debugging by the numbers
- 76 all-time installs (skills.sh)
- Ranked #259 of 596 Debugging skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
systematic-debugging capabilities & compatibility
- Capabilities
- test driven development · systematic debugging
- Use cases
- debugging · testing
- Pricing
- Free
What systematic-debugging says it does
Implements scientific method for debugging with root cause analysis.
Don't guess. Investigate systematically.
After 3 failed fix attempts, STOP and question the architecture.
npx skills add https://github.com/bbeierle12/skill-mcp-claude --skill systematic-debuggingAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 76 |
|---|---|
| repo stars | ★ 8 |
| Last updated | August 4, 2026 |
| Repository | bbeierle12/skill-mcp-claude ↗ |
What it does
Debug bugs and test failures scientifically by reproducing and tracing bad values back to root cause.
Who is it for?
Diagnosing bugs and test failures by reproducing and backward-tracing to the source.
Skip if: Greenfield feature design with no defect to investigate.
When should I use this skill?
Encountering any bug, test failure, or unexpected behavior, before proposing fixes.
What you get
The root cause is found and fixed at its source with a regression test.
- root-cause diagnosis
- reproduction case
- regression test
By the numbers
- Stops to question architecture after 3 failed fix attempts
- Phase 1 understand and Phase 2 root-cause tracing
Files
Systematic Debugging
Core Principle
Don't guess. Investigate systematically.
After 3 failed fix attempts, STOP and question the architecture.
Phase 1: Understand the Problem
Gather Information
1. What is the expected behavior? 2. What is the actual behavior? 3. When did it start failing? 4. What changed recently?
Reproduce Consistently
- Create minimal reproduction case
- Document exact steps to reproduce
- Identify if it's deterministic or intermittent
Check the Obvious First
- Is it plugged in? (Services running, dependencies installed)
- Are you in the right environment?
- Did you save the file?
- Is the cache cleared?
Phase 2: Root Cause Tracing
Backward Tracing Technique
1. Where does the bad value appear? 2. What called this with the bad value? 3. Keep tracing up until you find the source 4. Fix at source, not at symptom
Find Working Examples
- Locate similar working code in same codebase
- What works that's similar to what's broken?
- Compare against references
Identify Differences
- What's different between working and broken?
- List every difference, however small
- Don't assume "that can't matter"
Phase 3: Form Hypothesis
Scientific Method
1. Form a SINGLE hypothesis 2. Predict what you'd see if hypothesis is true 3. Design a test to verify 4. Run the test 5. If wrong, form new hypothesis based on new data
Don't Multi-Hypothesis
- One hypothesis at a time
- Test it completely before moving on
- Don't mix debugging approaches
Phase 4: Implement Fix
Write Failing Test First
- Test that reproduces the bug
- Test should fail before fix
- Test should pass after fix
Single Fix at a Time
- ONE change only
- No "while I'm here" improvements
- No bundled refactoring
Verify Completely
- Original test passes
- No other tests broken
- Issue actually resolved
- Edge cases covered
Phase 5: If Fix Doesn't Work
After Each Failed Attempt
1. STOP 2. Count: How many fixes have you tried? 3. If < 3: Return to Phase 1, re-analyze with new information 4. If ≥ 3: STOP and question the architecture
After 3+ Failed Fixes
Pattern indicating architectural problem:
- Each fix reveals new problems elsewhere
- Fixes require "massive refactoring"
- Each fix creates new symptoms
STOP and ask:
- Is this pattern fundamentally sound?
- Is this the right abstraction?
- Should this be redesigned?
Debugging Tools
Logging Strategy
// Add context to logs
console.log('[ComponentName] methodName:', {
input,
state: relevantState,
timestamp: Date.now()
});Binary Search Debugging
1. Add log at midpoint of suspect code 2. Determine if bug is before or after 3. Repeat until isolated
Rubber Duck Debugging
Explain the problem out loud:
- What should happen?
- What actually happens?
- What did I try?
- What assumptions am I making?
Common Pitfalls
Avoid These Mistakes
- Changing multiple things at once
- Assuming you know the cause
- Fixing symptoms instead of root cause
- Not verifying the fix actually works
- Not adding regression tests
Red Flags
- "It works on my machine"
- "It was working yesterday"
- "I didn't change anything"
- "That can't be the problem"
{
"name": "systematic-debugging",
"description": "Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes. Implements scientific method for debugging with root cause analysis.",
"tags": [
"process",
"debugging"
],
"sub_skills": [],
"source": "claude-user",
"type": "discipline",
"depends_on": [],
"enhances": [],
"last_reviewed_at": null,
"review_score": null,
"relevance_tier": null
}
Related skills
FAQ
What is the core principle?
Don't guess; investigate systematically.
When should you question the architecture?
After 3 failed fix attempts, stop and question the architecture.