systematic-debugging

Diagnose bugs through a four-phase root cause investigation process before proposing fixes.

Updated Jan 28, 2026
One-click install
npx skills add https://github.com/ttphats/project-detedxs26 --skill systematic-debugging-ttphats
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: systematic-debugging
Source: https://github.com/ttphats/project-detedxs26/tree/main/.augment/skills/superpowers/systematic-debugging
Command: npx skills add https://github.com/ttphats/project-detedxs26 --skill systematic-debugging-ttphats

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Random fixes and quick patches waste time, mask underlying issues, and introduce new bugs. This Skill enforces a disciplined debugging methodology that finds the actual root cause before any fix is attempted, even under time pressure or social pressure to apply a quick workaround. ## Core Features & Use Cases - Four-Phase Process: Root cause investigation, pattern analysis, hypothesis testing, and implementation, with mandatory completion of each phase before proceeding. - Pressure-Resistant Rules: Explicit red flags, rationalization tables, and anti-patterns that stop shortcut behavior like "just one quick fix" or stacking multiple changes at once. - Supporting Techniques: Includes root-cause tracing through call stacks, defense-in-depth validation at multiple layers, condition-based waiting to fix flaky tests, and a bisection script to find test polluters. - Use Case: When a test fails intermittently or a production bug appears deep in the call stack, follow the phases to reproduce the issue, trace data flow to its origin, form a single hypothesis, and verify the fix with a failing test. ## Quick Start Use the systematic-debugging skill to investigate this failing test and find its root cause before suggesting any fix.

Frequently Asked Questions about systematic-debugging

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I debug a test failure systematically instead of guessing?▼

Follow the four phases: investigate the root cause by reading errors and reproducing the issue, analyze patterns by comparing working code, form and test a single hypothesis, then implement one fix verified by a failing test. Never propose fixes before completing the investigation phase.

How to find the root cause of a bug deep in the call stack?▼

Trace backward through the call chain from the error point to the original trigger, asking what called each function and what value was passed. Add stack trace instrumentation with console.error before the failing operation if manual tracing is not possible.

Should I apply a quick fix during a production emergency?▼

The skill mandates root cause investigation even under time pressure, arguing systematic debugging is faster than guess-and-check thrashing. Quick symptom fixes set bad patterns and typically cause rework and new bugs.

How do I fix flaky tests caused by timing issues?▼

Replace arbitrary setTimeout or sleep delays with condition-based waiting that polls for the actual expected condition, such as an event appearing or state changing. The included condition-based-waiting technique raised pass rates from 60% to 100% in a real session.

What should I do when three or more fix attempts have failed?▼

Stop attempting more fixes and question the architecture instead. Repeated failures where each fix reveals new problems elsewhere indicate a fundamentally wrong pattern, which should be discussed before further fix attempts.

How do I find which test is polluting shared state or files?▼

Use the included find-polluter.sh bisection script, which runs test files one by one and checks whether the unwanted file or directory appears after each run. It stops and reports the first test that creates the pollution.