agentleFS
rohitgollarahallirohitgollarahalli/claude-skills/skills/debugger/SKILL.md

debugger

Skill0 starsChanged 5 months agoMITView on GitHub

Systematically find the root cause of a bug instead of guessing at fixes: reproduce it, isolate it, form and test hypotheses, then verify the fix. Use this whenever the user is stuck on a bug, says something "doesn't work", "crashes", "throws an error", "returns the wrong result", "fails intermittently", pastes a stack trace or error message, or asks "why is this happening?" — even if they haven't used the word "debug".

32 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use security-engineer, planner and 5 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • belokonmSkill

    security-engineer

    Expert in infrastructure security, DevSecOps pipelines, and zero-trust architecture design.

    Also in 4 projects that use this

  • am-willSkill

    planner

    Create comprehensive, phased implementation plans with sprints and atomic tasks. Use when user says: "make a plan", "create a plan", "plan this out", "plan the implementation", "help me plan", "design a plan", "draft a plan", "write a plan", "outline the steps", "break this down into tasks", "what's the plan for", or any similar planning request. Also triggers on explicit "/planner" or "/plan" commands.

    Also in 3 projects that use this

  • VercelSkill

    technical-writer

    Write, review, and edit developer documentation for SDKs, libraries, and frameworks, including sites such as ai-sdk.dev and chat-sdk.dev. Use for getting-started guides, tutorials, API references, conceptual explanations, integration guides, migration guides, troubleshooting, and code examples.

    Also in 4 projects that use this

  • leonardomsoSkill

    test-writer

    Generate comprehensive Vitest tests for code examples in JavaScript concept documentation pages, following project conventions and referencing source lines

    Also in 3 projects that use this

  • GitHubSkill

    documentation-writer

    Diátaxis Documentation Expert. An expert technical writer specializing in creating high-quality software documentation, guided by the principles and structure of the Diátaxis technical documentation authoring framework.

    Also in 3 projects that use this

  • AnthropicSkill

    system-design

    Design systems, services, and architectures. Trigger with "design a system for", "how should we architect", "system design for", "what's the right architecture for", or when the user needs help with API design, data modeling, or service boundaries.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 29 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read the actual evidence: Read the full error and stack trace top to bottom — the real cause is often a few frames down, not the last line.

    line 24
  2. Distinctive:

    Don't apply a fix you can't explain.

    line 49
  3. Distinctive:

    Don't change multiple things at once — you'll lose the signal.

    line 50
  4. Distinctive:

    If you can't reproduce it, say that plainly and focus on getting a repro before proposing fixes.

    line 52

“Common” is measured: kept by at least 6 in 10 of the 29 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Debugger

Most time lost to bugs is lost to guessing — changing things at random and hoping. The cure is a disciplined loop that narrows the search space until the cause is cornered. Resist the urge to patch symptoms before you understand them.

The loop

  1. Reproduce it reliably. A bug you can't reproduce, you can't fix with confidence. Find the minimal, deterministic steps that trigger it. If it's intermittent, look for the hidden input that varies (timing, ordering, state, environment, data). A reliable repro is over half the battle.
  2. Read the actual evidence. Read the full error and stack trace top to bottom — the real cause is often a few frames down, not the last line. Note exactly what's observed vs. what's expected.
  3. Isolate. Shrink the surface: bisect the input, comment out halves, git bisect across commits, or add logging at the boundaries. The goal is to get from "somewhere in this system" to "this function, this line."
  4. Form one hypothesis at a time. State a specific, falsifiable guess: "the list is empty because the filter runs before the data loads." Then design the cheapest test that would prove it true or false. Change one thing at a time — changing several hides which one mattered.
  5. Fix the cause, not the symptom. Once confirmed, fix the underlying cause. A try/except that swallows the error is a symptom patch; ask why the error happened at all.
  6. Verify and guard. Confirm the fix resolves the repro, check you didn't break neighbors, and add a regression test so the bug can't return silently.

Useful techniques

  • Rubber-ducking: explain the code line by line; the wrong assumption usually surfaces as you narrate.
  • Bisection (input, code, or history) is the fastest way to localize.
  • Trust nothing, verify everything: print/inspect actual values rather than assuming what they are. The bug lives in the gap between what you assume and what's true.
  • Check the boundaries: nulls, empties, off-by-one, type coercion, timezones, encoding, concurrency.

Guardrails

  • Don't apply a fix you can't explain. "It works now" without knowing why means it'll break again.
  • Don't change multiple things at once — you'll lose the signal.
  • State your confidence. If you're inferring rather than confirming, say so and propose how to confirm.
  • If you can't reproduce it, say that plainly and focus on getting a repro before proposing fixes.

Example

Symptom: "API returns 500 intermittently under load." Approach: reproduce with a concurrent request burst; read the trace to a connection-pool-exhausted error; hypothesize connections aren't released on the error path; confirm by logging pool checkouts; fix by using a context manager so connections release on every path; verify with the same burst and add a test that exercises the error path.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.