Agent skill

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes. Implements scientific method for debugging with root cause analysis.

Stars 7
Forks 1

Install this agent skill to your Project

npx add-skill https://github.com/Bbeierle12/Skill-MCP-Claude/tree/main/skills/systematic-debugging

SKILL.md

Systematic Debugging

Core Principle

Don't guess. Investigate systematically.

After 3 failed fix attempts, STOP and question the architecture.

Phase 1: Understand the Problem

Gather Information

  1. What is the expected behavior?
  2. What is the actual behavior?
  3. When did it start failing?
  4. What changed recently?

Reproduce Consistently

  • Create minimal reproduction case
  • Document exact steps to reproduce
  • Identify if it's deterministic or intermittent

Check the Obvious First

  • Is it plugged in? (Services running, dependencies installed)
  • Are you in the right environment?
  • Did you save the file?
  • Is the cache cleared?

Phase 2: Root Cause Tracing

Backward Tracing Technique

  1. Where does the bad value appear?
  2. What called this with the bad value?
  3. Keep tracing up until you find the source
  4. Fix at source, not at symptom

Find Working Examples

  • Locate similar working code in same codebase
  • What works that's similar to what's broken?
  • Compare against references

Identify Differences

  • What's different between working and broken?
  • List every difference, however small
  • Don't assume "that can't matter"

Phase 3: Form Hypothesis

Scientific Method

  1. Form a SINGLE hypothesis
  2. Predict what you'd see if hypothesis is true
  3. Design a test to verify
  4. Run the test
  5. If wrong, form new hypothesis based on new data

Don't Multi-Hypothesis

  • One hypothesis at a time
  • Test it completely before moving on
  • Don't mix debugging approaches

Phase 4: Implement Fix

Write Failing Test First

  • Test that reproduces the bug
  • Test should fail before fix
  • Test should pass after fix

Single Fix at a Time

  • ONE change only
  • No "while I'm here" improvements
  • No bundled refactoring

Verify Completely

  • Original test passes
  • No other tests broken
  • Issue actually resolved
  • Edge cases covered

Phase 5: If Fix Doesn't Work

After Each Failed Attempt

  1. STOP
  2. Count: How many fixes have you tried?
  3. If < 3: Return to Phase 1, re-analyze with new information
  4. If ≥ 3: STOP and question the architecture

After 3+ Failed Fixes

Pattern indicating architectural problem:

  • Each fix reveals new problems elsewhere
  • Fixes require "massive refactoring"
  • Each fix creates new symptoms

STOP and ask:

  • Is this pattern fundamentally sound?
  • Is this the right abstraction?
  • Should this be redesigned?

Debugging Tools

Logging Strategy

// Add context to logs
console.log('[ComponentName] methodName:', {
  input,
  state: relevantState,
  timestamp: Date.now()
});

Binary Search Debugging

  1. Add log at midpoint of suspect code
  2. Determine if bug is before or after
  3. Repeat until isolated

Rubber Duck Debugging

Explain the problem out loud:

  • What should happen?
  • What actually happens?
  • What did I try?
  • What assumptions am I making?

Common Pitfalls

Avoid These Mistakes

  • Changing multiple things at once
  • Assuming you know the cause
  • Fixing symptoms instead of root cause
  • Not verifying the fix actually works
  • Not adding regression tests

Red Flags

  • "It works on my machine"
  • "It was working yesterday"
  • "I didn't change anything"
  • "That can't be the problem"

Expand your agent's capabilities with these related and highly-rated skills.

Bbeierle12/Skill-MCP-Claude

r3f-materials

Three.js materials in R3F, built-in materials (Standard, Physical, Basic, etc.), ShaderMaterial with custom GLSL, uniforms binding and animation, and material properties. Use when choosing materials, creating custom shaders, or binding dynamic uniforms.

7 1
Explore
Bbeierle12/Skill-MCP-Claude

audio-router

Router for audio domain including playback, analysis, and audio-reactive visuals. Use when implementing any audio functionality including music, sound effects, visualizers, or audio-driven animations. Routes to 3 specialized skills.

7 1
Explore
Bbeierle12/Skill-MCP-Claude

case-studies-reference

Game building mechanics case studies and decision frameworks. Use when designing building systems, evaluating trade-offs, or learning from existing games. Reference-only skill with detailed analysis of Fortnite, Rust, Valheim, Minecraft, No Man's Sky, and Satisfactory building systems.

7 1
Explore
Bbeierle12/Skill-MCP-Claude

brainstorming

Use when starting any feature, project, or design work. Guides collaborative design refinement through incremental questioning before any code is written.

7 1
Explore
Bbeierle12/Skill-MCP-Claude

shader-router

Decision framework for GLSL shader projects. Routes to specialized shader skills (fundamentals, noise, SDF, effects) based on task requirements. Use when starting a shader project or needing guidance on which shader techniques to combine.

7 1
Explore
Bbeierle12/Skill-MCP-Claude

audio-playback

Audio playback using Tone.js including players, transport, scheduling, and loading audio. Use when implementing background music, sound effects, audio synchronization, or timed audio events. Essential for any audio-enabled web application.

7 1
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results