Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
mrgoonie avatar

Debugging

  • 500 installs
  • 2.2k repo stars
  • Updated April 3, 2026
  • mrgoonie/claudekit-skills

debugging is a ClaudeKit agent skill that applies systematic root-cause debugging frameworks for developers who need evidence-backed fixes instead of guess-and-check patches.

About

debugging is a mrgoonie/claudekit-skills meta-skill with 440 catalog installs and four bundled sub-skills: systematic-debugging, root-cause-tracing, defense-in-depth, and verification-before-completion. Systematic debugging enforces a four-phase flow—Root Cause Investigation, Pattern Analysis, Hypothesis Testing, Implementation—with the rule that no fixes happen before root-cause investigation. Root-cause-tracing walks backward through call stacks to fix invalid data at the source; defense-in-depth adds validation at entry, business logic, environment guards, and instrumentation layers; verification-before-completion requires fresh command output before claiming done. The skill reports systematic debugging fixes issues in 15–30 minutes versus 2–3 hours of thrashing, with a 95% first-time fix rate versus 40% for ad-hoc guessing. Developers reach for debugging when tests fail, production errors surface, or an agent is about to declare a bug fixed without proof.

  • Structured 7-step debugging ritual that agents can follow autonomously
  • Eliminates hallucinated fixes by forcing reproduction first
  • Works across frontend, backend, and agentic codebases
  • Produces reproducible bug reports and verified fixes
  • Hard-gate: never skip reproduction before proposing changes

Debugging by the numbers

  • 500 all-time installs (skills.sh)
  • +9 installs in the week ending Jul 26, 2026 (Skillselion tracking)
  • Ranked #87 of 597 Debugging skills by installs in the Skillselion catalog
  • Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/mrgoonie/claudekit-skills --skill debugging

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs500
repo stars2.2k
Last updatedApril 3, 2026
Repositorymrgoonie/claudekit-skills

How do you debug without guessing at fixes?

Get Claude to follow a systematic debugging workflow instead of guessing at root causes.

Who is it for?

Developers or coding agents facing recurring test failures, misleading stack traces, or pressure to ship quick patches without root-cause proof.

Skip if: Greenfield feature work with no failing tests or errors, or teams that only need lint formatting without runtime defect investigation.

When should I use this skill?

Tests fail, production bugs appear, stack traces point to symptoms, the same bug keeps recurring, or the agent is about to claim a fix without verification evidence.

What you get

Root-cause analysis notes, validated fixes at the source, layered guards, and fresh verification command output proving the bug is resolved.

  • Root-cause analysis summary
  • Validated code fix at source layer
  • Fresh verification command output

By the numbers

  • 440 skills.sh installs in mrgoonie/claudekit-skills catalog
  • Four bundled debugging sub-skills with dedicated SKILL.md files
  • Reports 95% first-time fix rate vs 40% for ad-hoc debugging

Files

defense-in-depth/SKILL.mdMarkdownGitHub ↗

Defense-in-Depth Validation

Overview

When you fix a bug caused by invalid data, adding validation at one place feels sufficient. But that single check can be bypassed by different code paths, refactoring, or mocks.

Core principle: Validate at EVERY layer data passes through. Make the bug structurally impossible.

Why Multiple Layers

Single validation: "We fixed the bug" Multiple layers: "We made the bug impossible"

Different layers catch different cases:

  • Entry validation catches most bugs
  • Business logic catches edge cases
  • Environment guards prevent context-specific dangers
  • Debug logging helps when other layers fail

The Four Layers

Layer 1: Entry Point Validation

Purpose: Reject obviously invalid input at API boundary

function createProject(name: string, workingDirectory: string) {
  if (!workingDirectory || workingDirectory.trim() === '') {
    throw new Error('workingDirectory cannot be empty');
  }
  if (!existsSync(workingDirectory)) {
    throw new Error(`workingDirectory does not exist: ${workingDirectory}`);
  }
  if (!statSync(workingDirectory).isDirectory()) {
    throw new Error(`workingDirectory is not a directory: ${workingDirectory}`);
  }
  // ... proceed
}

Layer 2: Business Logic Validation

Purpose: Ensure data makes sense for this operation

function initializeWorkspace(projectDir: string, sessionId: string) {
  if (!projectDir) {
    throw new Error('projectDir required for workspace initialization');
  }
  // ... proceed
}

Layer 3: Environment Guards

Purpose: Prevent dangerous operations in specific contexts

async function gitInit(directory: string) {
  // In tests, refuse git init outside temp directories
  if (process.env.NODE_ENV === 'test') {
    const normalized = normalize(resolve(directory));
    const tmpDir = normalize(resolve(tmpdir()));

    if (!normalized.startsWith(tmpDir)) {
      throw new Error(
        `Refusing git init outside temp dir during tests: ${directory}`
      );
    }
  }
  // ... proceed
}

Layer 4: Debug Instrumentation

Purpose: Capture context for forensics

async function gitInit(directory: string) {
  const stack = new Error().stack;
  logger.debug('About to git init', {
    directory,
    cwd: process.cwd(),
    stack,
  });
  // ... proceed
}

Applying the Pattern

When you find a bug:

1. Trace the data flow - Where does bad value originate? Where used? 2. Map all checkpoints - List every point data passes through 3. Add validation at each layer - Entry, business, environment, debug 4. Test each layer - Try to bypass layer 1, verify layer 2 catches it

Example from Session

Bug: Empty projectDir caused git init in source code

Data flow: 1. Test setup → empty string 2. Project.create(name, '') 3. WorkspaceManager.createWorkspace('') 4. git init runs in process.cwd()

Four layers added:

  • Layer 1: Project.create() validates not empty/exists/writable
  • Layer 2: WorkspaceManager validates projectDir not empty
  • Layer 3: WorktreeManager refuses git init outside tmpdir in tests
  • Layer 4: Stack trace logging before git init

Result: All 1847 tests passed, bug impossible to reproduce

Key Insight

All four layers were necessary. During testing, each layer caught bugs the others missed:

  • Different code paths bypassed entry validation
  • Mocks bypassed business logic checks
  • Edge cases on different platforms needed environment guards
  • Debug logging identified structural misuse

Don't stop at one validation point. Add checks at every layer.

Related skills

How it compares

Use debugging for structured defect investigation; use feature-building skills when no failing behavior needs diagnosis.

FAQ

What sub-skills does debugging include in ClaudeKit?

debugging from mrgoonie/claudekit-skills bundles four sub-skills: systematic-debugging, root-cause-tracing, defense-in-depth, and verification-before-completion. Each addresses a distinct phase from investigation through proof of fix.

What is the iron law of systematic debugging in debugging?

debugging's systematic-debugging sub-skill states no fixes without root-cause investigation first. Agents must complete investigation, pattern analysis, and hypothesis testing before implementing patches.

When should you use verification-before-completion in debugging?

debugging directs agents to verification-before-completion before claiming success, requiring fresh command output such as test runs or reproduction checks that prove the defect is resolved.

Debuggingintegrationstesting

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.