debugging

Convert software failures into deterministic reproductions and verify fixes against captured evidence.

1|Updated May 6, 2026
One-click install
npx skills add https://github.com/jacob-balslev/skill-graph --skill debugging-jacob-balslev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: debugging
Source: https://github.com/jacob-balslev/skill-graph/tree/main/marketplace/skills/debugging
Command: npx skills add https://github.com/jacob-balslev/skill-graph --skill debugging-jacob-balslev

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Debugging helps you replace vague bug reports with a deterministic reproduction and a fix that is proven to address the true cause, not just the symptoms.

Core Features & Use Cases

  • Reproduction first: converts an unreliable failure into a repeatable failing case so you can work on the real problem.
  • Scope reduction (bisection): isolates the smallest surface area where the failure still reproduces, reducing noise and accelerating diagnosis.
  • Evidence capture and root-cause isolation: collects state at the moment of failure and checks whether hypotheses explain all observed evidence.
  • Verification against the same evidence path: re-runs the failure path to confirm the fix works and the reverted change fails again.
  • Regression prevention: converts the verified failing case into a regression test so the bug cannot return silently.

Quick Start

Use the debugging skill when a test fails or runtime output contradicts expectations by first reproducing the failure deterministically, then bisecting to the minimal reproducing surface, and finally verifying the fix with the same evidence path.

Frequently Asked Questions about debugging

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

FAQPage Schema
How do I find a root cause when a failing test is hard to reproduce?

Isolating a root cause requires converting the failure into a deterministic reproduction first. You then capture state at the moment of failure and validate hypotheses against all observed evidence to ensure the fix addresses the true cause.

What is the best way to debug broken runtime behavior without just patching symptoms?

The best way to debug broken runtime behavior is to follow a stepwise workflow: reproduce the failure deterministically, bisect to reduce scope, capture evidence, validate hypotheses, and verify the fix against the same evidence path to confirm the root cause is resolved.

How do I use bisection to isolate the scope of a software failure?

Bisection isolates a software failure by systematically reducing the execution surface area until the smallest reproducing case is found. This minimizes noise and accelerates diagnosis by focusing solely on the code path where the failure still occurs.

Why should I create a regression test after verifying a bug fix?

Creating a regression test after a bug fix prevents the defect from returning silently. It converts the verified failing reproduction case into a permanent test, ensuring the exact failure path is continuously checked against future code changes.

Can I use this debugging workflow for production incidents as well as failing tests?

Yes, the debugging workflow applies to production incidents, failing tests, and broken runtime behavior. It requires reproducing the issue deterministically, capturing evidence, and verifying the fix against the same evidence path to ensure true root-cause isolation.

When should I avoid behavior-preserving refactors during root cause isolation?

You should avoid behavior-preserving refactors during root cause isolation because the goal is to verify the fix against captured evidence, not to change code structure. Refactoring introduces variables that can obscure whether the root cause was truly addressed.