systematic-debugging

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

1|Updated Sep 10, 2026
One-click install
npx skills add https://github.com/thienty1207/Hotel_Staff --skill systematic-debugging-thienty1207
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: systematic-debugging
Source: https://github.com/thienty1207/Hotel_Staff/tree/main/.baron/core/skills/superpowers/systematic-debugging
Command: npx skills add https://github.com/thienty1207/Hotel_Staff --skill systematic-debugging-thienty1207

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Developers under time pressure often apply quick symptom fixes that fail repeatedly, causing hours of thrashing and recurring bugs. This Skill enforces a disciplined four-phase debugging methodology that finds the actual root cause before any fix is attempted. ## Core Features & Use Cases - Four-Phase Process: Root cause investigation, pattern analysis, hypothesis testing, and verified implementation with explicit gates between phases. - Supporting Techniques: Includes root-cause tracing through call stacks, defense-in-depth validation at multiple layers, and condition-based waiting to replace flaky arbitrary timeouts in tests. - Failure Escalation: After three failed fixes, the process mandates questioning the architecture rather than attempting a fourth fix. - Use Case: When a test fails intermittently or a production bug resists obvious fixes, load this Skill to systematically trace the failure to its source, write a failing test, and verify the fix instead of stacking guesses. ## 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 find the root cause of a bug instead of fixing symptoms?

Follow the four-phase process: read error messages and reproduce the issue, compare against working examples, form a single hypothesis and test it minimally, then implement one fix with a failing test. Never propose fixes before completing the investigation phase.

How to fix flaky tests caused by arbitrary timeouts?

Replace setTimeout and sleep calls with condition-based waiting that polls for the actual expected state, such as an event appearing or a count being reached. The included TypeScript helpers waitForEvent, waitForEventCount, and waitForEventMatch poll every 10ms with a configurable timeout.

What should I do when multiple fix attempts keep failing?

Stop after three failed fixes and question the architecture rather than attempting a fourth. Repeated failures where each fix reveals new problems elsewhere indicate a structural issue that requires redesign discussion, not another patch.

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

Use the included find-polluter.sh bisection script with the polluted path and a test file pattern. It runs each test individually and stops at the first one that creates the unwanted file or directory.

When is it acceptable to skip systematic debugging for simple bugs?

The Skill states it is never acceptable to skip the process, even for simple bugs or emergencies. Simple issues still have root causes, and systematic investigation is faster than guess-and-check thrashing under time pressure.