systematic-debugging

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

Updated Jul 22, 2026
One-click install
npx skills add https://github.com/jeremylightsmith/relay-config --skill systematic-debugging-jeremylightsmith
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: systematic-debugging
Source: https://github.com/jeremylightsmith/relay-config/tree/main/.claude/skills/systematic-debugging
Command: npx skills add https://github.com/jeremylightsmith/relay-config --skill systematic-debugging-jeremylightsmith

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Random fixes and guess-and-check patches waste time, mask real issues, and introduce new bugs. This Skill enforces a disciplined debugging process that finds the root cause before any fix is attempted. ## Core Features & Use Cases - Four-Phase Process: Root-cause investigation, pattern analysis, hypothesis testing, and verified implementation, each completed before the next begins. - Failure Escalation: After three failed fix attempts, it stops and questions the underlying architecture instead of stacking more patches. - Rationalization Guards: Red-flag phrases and common excuses are called out so quick-fix impulses get redirected back to investigation. - Use Case: A Phoenix LiveView test fails intermittently. Instead of tweaking the assertion, you trace the bad value backward through the LiveView, context, and Ecto layers with temporary instrumentation until you find where the data first goes wrong, then write a failing test and fix at the source. ## 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 failing test systematically?▼

Start by reading the error output carefully, then reproduce the failure consistently with a targeted test run. Check recent changes with git diff, trace the bad value back to its source, and only then form a single hypothesis to test with the smallest possible change.

What is root cause analysis in debugging?▼

Root cause analysis means tracing a bug back to where the bad value or behavior originates rather than patching where the symptom appears. It involves reproducing the issue, gathering evidence across component boundaries, and fixing at the source.

How do I debug multi-component data flow issues?▼

Add temporary instrumentation like IO.inspect or dbg() at each boundary in the flow, such as LiveView to context to Ecto to database. Run once, find where the data first goes wrong, and investigate that component instead of the symptom site.

When should I question the architecture instead of fixing a bug?▼

After three or more failed fix attempts, stop guessing. If each fix reveals new coupling, requires massive refactoring, or spawns new symptoms elsewhere, the design itself is likely wrong and should be discussed before attempting another fix.

Why write a failing test before fixing a bug?▼

A failing test that reproduces the bug proves you understand the root cause and confirms the fix actually works. It also prevents regression, since the test stays in the suite to catch the bug if it ever returns.