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

Debugging

  • 4 installs
  • 1 repo stars
  • Updated November 15, 2025
  • aia-11-hn-mib/mib-mockinterviewaibot

debugging is a Claude Code skill that enforces a systematic root-cause-first framework with four-phase investigation, call-stack tracing, defense-in-depth validation, and verification before claiming fixes.

About

debugging is a Claude Code skill that provides a systematic framework for investigating root causes before applying fixes. It includes a four-phase debugging process, backward call-stack tracing, defense-in-depth validation, and verification protocols. A developer uses it when encountering test failures, bugs, unexpected behavior, or performance issues, or before claiming work is complete.

  • Four-phase framework: root cause, pattern analysis, hypothesis, implementation
  • Backward call-stack tracing to fix bugs at the source, not the symptom
  • Iron law: no completion claims without fresh verification evidence

Debugging by the numbers

  • 4 all-time installs (skills.sh)
  • Ranked #452 of 597 Debugging skills by installs in the Skillselion catalog
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

debugging capabilities & compatibility

Free; no API keys or external services required.

Capabilities
debugging · root cause analysis · call stack tracing · verification gate
Use cases
debugging · testing
Pricing
Free
From the docs

What debugging says it does

NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
SKILL.md
Trace bugs backward through call stack to find original trigger.
SKILL.md
npx skills add https://github.com/aia-11-hn-mib/mib-mockinterviewaibot --skill debugging

Add your badge

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

Listed on Skillselion
Installs4
repo stars1
Last updatedNovember 15, 2025
Repositoryaia-11-hn-mib/mib-mockinterviewaibot

What it does

Investigate root causes systematically before fixing bugs, test failures, and unexpected behavior, then verify the fix.

Who is it for?

Developers investigating bugs, test failures, or performance issues who want root-cause discipline before fixes.

Skip if: Feature implementation or new development work.

When should I use this skill?

Encountering a bug, test failure, unexpected behavior, or before claiming work complete.

What you get

  • root cause diagnosis
  • layered validation
  • verified fix

By the numbers

  • Four-phase debugging process
  • Four debugging techniques
  • Includes find-polluter.sh for bisecting test pollution

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

FAQ

What is the core principle of this debugging skill?

No fixes without root cause investigation first; random fixes waste time and create new bugs, so find the root cause and fix at the source.

What are the four techniques?

Systematic debugging (four phases), root cause tracing (backward through the call stack), defense-in-depth (validate at every layer), and verification before claiming success.

Debuggingtestingbackend

This week in AI coding

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

unsubscribe anytime.