systematic-debugging
/systematic-debugging
Structured debugging methodology — use before proposing fixes for any error or failure. Covers: code bugs, build errors, deploy failures, config conflicts, dependency issues, infra problems. Also use when previous fix attempts failed or root cause is unclear.
- Author
- sangrokjung ↗
- Repository
- claude-forge ↗
- Licence
- MIT
- Last repository change
- 03.09.2026
Assessment and security
- Files in this package
- 3
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 0
No signals detected. Repository changed on 03.09.2026, without references to retired models or APIs.
MIT, open: use and modify while retaining author attribution.
What it does and when to use it
Structured debugging methodology — use before proposing fixes for any error or failure. Covers: code bugs, build errors, deploy failures, config conflicts, dependency issues, infra problems. Also use when previous fix attempts failed or root cause is unclear.
Original author description
Structured debugging methodology — use before proposing fixes for any error or failure. Covers: code bugs, build errors, deploy failures, config conflicts, dependency issues, infra problems. Also use when previous fix attempts failed or root cause is unclear.
How it works
- Overview
- Iron Law
- When to Use
- The Phases
- Red Flags — If you think this, STOP
- Common Rationalizations
- Supporting Techniques
- Quick Reference
SKILL.md preview
--- name: systematic-debugging description: | Structured debugging methodology — use before proposing fixes for any error or failure. Covers: code bugs, build errors, deploy failures, config conflicts, dependency issues, infra problems. Also use when previous fix attempts failed or root cause is unclear. --- # Systematic Debugging ## Overview Guessing fixes wastes time and creates new bugs. Quick patches hide root problems. **Core principle: Never fix before finding the root cause. Symptom fixing is failure.** ## Iron Law ``` Never propose a fix without root cause investigation. ``` Phase 0 or Phase 1 must be completed before any fix is proposed. Phase 0 fixes are ONLY allowed when ALL of these are true: - External research found an official solution or known issue for this exact error - Change is single file, single point (config value, import, typo) - No logic changes ## When to Use **All technical problems:** - Test failures, build errors, deploy errors - Config conflicts, dependency issues - Infrastructure/environment problems - Unexpected behavior, performance issues **Especially when:** - Under time pressure (urgency breeds guessing) - "Let me just quickly fix this" comes to mind - Multiple fix attempts have already been tried - Previous fixes didn't work - You don't fully understand the problem ## The Phases Each Phase must complete before proceeding to the next. ### Phase 0: Quick Assessment Run immediately when an error occurs. Before any fix attempt. 1. **Classify the error** — read the error message/symptoms: - Same code works in different environment? → Environment issue - After recent dependency/version change? → Dependency issue - Only fails in specific code path? → Code issue 2. **External research (exact match, 5 min max)** — check official docs and GitHub Issues for known issues. Don't rely on self-knowledge alone. - See: `references/external-research-guide.md` 3. **Branch decision**: - All Iron Law conditions met → Fix in Phase 0 - Any condition unmet → Enter Phase 1 full process - **Phase 0 quick-fix fails**: Undo (git checkout/undo), enter Phase 1. This attempt counts in the fix counter. ### Phase 1: Root Cause Investigation **Before any fix attempt:** 1. **Read the error carefully** - Don't skip errors/warnings - Read the entire stack trace - Record line numbers, file paths, error codes 2. **Reproduce consistently** - Get exact reproduction steps - Every time? If intermittent, collect more data 3. **Check recent changes** - git diff, recent commits - New dependencies, config changes - Environment differences (env vars, Node/runtime version, OS) 4. **Research external sources (deep read)** - Based on Phase 0 exact match results, investigate further - Read official docs for the failure mechanism - Check release notes for breaking changes - See: `references/external-research-guide.md` 5. **Collect evidence in multi-component systems** - Log data in/out at each component boundary - Run once to find where it breaks - Then deep-dive into that component 6. **Trace data flow** - Where does the wrong value originate? - Trace the call stack backwards to the source - See: `references/root-cause-tracing.md` ### Phase 2: Pattern Analysis 1. **Find similar working code** in the same codebase 2. **Compare with reference implementations** — read the full reference docs, don't skim 3. **Identify all differences** between working and broken — don't assume "that's irrelevant" 4. **Map dependencies** — what config, environment, other components are needed ### Phase 3: Hypothesis and Testing **Before entering Phase 3:** - Verify clean state (git status) - If not clean: git stash or save checkpoint - On hypothesis failure: rollback to safe point, try new hypothesis (no cumulative fixes) 1. **Form a single hypothesis**: "X is the root cause because Y" — specific, not vague 2. **Test minimally**: smallest change to verify the hypothesis. One variable at a time. 3. **Verify before proceeding**: - Success → Phase 4 - Failure → **New hypothesis** (don't stack fixes on top of failed ones) ### Phase 4: Implementation 1. **Write a failing test** — simplest reproduction, automated if possible, before fixing 2. **Apply a single fix** — only the identified root cause, one change at a time, no "while I'm at it" 3. **Verify the fix** — test passes? No other tests broken? Problem actually resolved? 4. **If fix doesn't work**: - How many fix attempts so far? - Under 3: return to Phase 1 with new information - **3 or more: proceed to Phase 4.5** ### Phase 4.5: Architecture Question **Pattern of 3+ failed fixes:** - Each fix reveals new problems elsewhere - Fix requires "major refactoring" - Each fix creates symptoms in other places **Stop immediately and ask fundamental questions:** - Is this pattern itself sound? - Are we clinging to it out of inertia? - Should we refactor the architecture instead of fixing symptoms? **Report to user and discuss before any more fix attempts.** ## Red Flags — If you think this, STOP - "Let me quickly fix it and investigate later" - "Let me try changing X and see if it works" - "Let me bundle multiple changes and test once" - "Skip tests, just check manually" - "It's probably X, let me fix it" - "I don't fully understand but this might work" - "Let me just try one more fix" (after 2+ attempts) - "I don't need to check external docs for this one" - "This is definitely a code issue" (without checking environment) **Any of the above: STOP. Return to Phase 0/1.** **3+ fix failures: Architecture Question (Phase 4.5)** ## Common Rationalizations | Excuse | Reality | |--------|---------| | "Simple problem, don't need the process" | Simple problems have root causes too. The process is fast for simple bugs. | | "Too urgent for process" | Systematic debugging is **faster** than guessing. | | "Let me try this first, then investigate" | First fix sets the pattern. Start right. | | "I'll write tests after fixing" | Fixes without tests don't last. Test first. | | "Bundle changes to save time" | Can't tell what worked. Creates new bugs. | | "Docs are too long, I'll wing it" | Partial understanding = guaranteed bugs. Read it all. | | "I can see the problem, just fix it" | Seeing symptoms ≠ understanding root cause. | | "One more fix" (2+ failures) | 3+ failures = architecture problem. Ask, don't fix. | | "I know this error, no need to check docs" | LLM confidence ≠ accuracy. Verify externally. | ## Supporting Techniques See references in this directory: - **`references/external-research-guide.md`** — External docs/GitHub Issues lookup procedure - **`references/root-cause-tracing.md`** — Call stack backtracing to find bug origins ## Quick Reference | Phase | Key Activity | Success Criteria | |-------|-------------|-----------------| | **0. Quick Assessment** | Error classification, external research (exact match) | Error type classified + 1+ external search done | | **1. Root Cause** | Read errors, reproduce, check changes, deep research | Understand what breaks and why | | **2. Pattern** | Find working similar code, compare | Differences identified | | **3. Hypothesis** | Single hypothesis, minimal test | Confirmed or new hypothesis | | **4. Implementation** | Write test, fix, verify | Bug fixed, tests pass | | **4.5. Architecture** | Stop after 3 failures, report | Architecture review decision |
Files in this package (3)
- SKILL.md 7 KB
- references/external-research-guide.md 3 KB
- references/root-cause-tracing.md 2 KB
Versions
| Repository | Score | Licence |
|---|---|---|
| This page · sangrokjung/claude-forge | 100 | MIT |
| magnus919/agent-skills | 100 | MIT |
| FrancoStino/opencode-skills-collection | 100 | MIT |
| foryourhealth111-pixel/Vibe-Skills | 100 | Apache-2.0 |
| GanyuanRan/Aegis | 100 | MIT |
| rootcastleco/rei-skills | 100 | MIT |
| jkaloger/lazyspec | 100 | MIT |
| innei/ryugi | 100 | MIT |
| yusixian/anjian | 100 | MIT |
Database snapshot: 13.11.2026 · package version a4a6610d2b54 (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 100sr-systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes - 100root-cause-investigator
Systematic root cause analysis for errors, bugs, and unexpected behaviors using 5-Why methodology. Use when user reports errors, build failures, test failures, performance issues, integration problems, or any "it's not working" scenarios. - 100root-cause-investigator
Systematic root cause analysis for errors, bugs, and unexpected behaviors using 5-Why methodology. Use when user reports errors, build failures, test failures, performance issues, integration problems, or any "it's not working" scenarios. - 95wicked-garden-engineering-debugging
Systematic debugging and root cause analysis for investigating errors, diagnosing complex issues, and performance profiling. Use when: "debug this error", "why is this failing", "root cause analysis", "fix this bug", "investigate crash", "stack trace", "not working - 100debugging
Systematic 4-phase debugging with root cause investigation. Use when fixing bugs to prevent random fixes. - 100debugger
Systematic debugging methodology for diagnosing failures and root cause analysis. Triggers on: 2+ failed fix attempts, 'ultradebug', 'uld', debugging in circles, complex system failures, intermittent bugs.