systematic-debugging · git:20260507.56f011d · 2026-05-07 · sha256 c46fe2024b0dbc9e

systematic-debugging git:20260507.56f011dA

Immutable. This exact content is served forever at /api/v1/blob/c46fe2024b0dbc9e.

---
name: systematic-debugging
description: Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes. Requires root cause investigation first.
graph:
  domains: [domain:software-engineering]

---

# Systematic Debugging

## Overview

Random fixes waste time and create new bugs. ALWAYS find root cause before attempting fixes.

**Core principle:** No fixes without root cause investigation first.

## The Four Phases

1. **Root Cause Investigation** - Read errors, reproduce, check changes, gather evidence at component boundaries
2. **Pattern Analysis** - Find working examples, compare against references, identify differences
3. **Hypothesis and Testing** - Form single hypothesis, test minimally, one variable at a time
4. **Implementation** - Create failing test case, implement single fix, verify

## When 3+ Fixes Fail

Stop and question the architecture. Pattern of repeated failures indicates architectural problems, not implementation bugs.

## Red Flags (STOP and Follow Process)

- "Quick fix for now"
- "Just try changing X"
- Proposing solutions before tracing data flow
- "One more fix attempt" (when already tried 2+)

## Agents Used

- Process agents defined in `systematic-debugging.js`

## Tool Use

Invoke via babysitter process: `methodologies/superpowers/systematic-debugging`