systematic-debugging
Systematic Debugging
No code fix without an evidenced root cause for the specific behavior being changed.
Context
Systematic debugging is the implementation-side discipline for turning a bug report, failing test, or bad runtime behavior into a defensible fix. It exists to stop guess-first patching, repeated failed fixes, and "works on my machine" improvisation.
This skill belongs in 04-implementation because its primary output is a code-level fix path: isolate the failing boundary, identify the real cause, decide whether the problem is local or structural, and then hand off to tdd and feature-development for the smallest safe change.
It does not replace incident-response. If the issue is still live in production and user impact is active, contain it first through incident-response. Once the system is in a safe mode, use this skill to establish the root cause before writing the code fix.
Inputs
- source-code -- The relevant code paths, configuration boundaries, and recent changes near the failure.
- test-suite -- Existing failing tests, regression coverage, or the closest executable safety net.
- historical-defect-context -- Optional. Prior incidents, defects, or regressions that may match the current symptom.
- fix-lineage-brief -- Optional. Prior fixes, reverts, or workarounds that may narrow the search space.