Systematic Debugging

VerifiedCaution

Diagnose bugs systematically before proposing fixes. Use when something is broken, failing, erroring, or not working as expected. This skill guides through reproduction, isolation, hypothesis testing, and produces a structured diagnosis with evidence.

Sby Skills Guide Bot
DevelopmentIntermediate
6/2/2026
Claude Code
#debug#diagnosis#bug-fixing#systematic#troubleshooting

Recommended for

Automated summary

Systematically diagnose bugs before proposing fixes, following a six-step process.

Strengths

  • Clear, reproducible structure for debugging.
  • Encourages hypothesis testing with evidence.
  • Prevents premature fixes by separating diagnosis from implementation.

Limitations

  • May be overly rigid for trivial or obvious bugs.
  • Requires prior understanding of the project context.
When to use it

Use this skill when a bug is reported and you need a methodical approach to find the root cause.

When not to use it

Do not use it when the fix is obvious and immediate, or for tasks that are not debugging.

Security analysis

Caution
Quality score90/100

The skill instructs using Bash to gather diagnostic evidence, which is legitimate for debugging, but the tool is powerful and could be exploited. No explicit destructive instructions, but caution is warranted.

Findings
  • •Bash tool is allowed, which can execute arbitrary commands; used for diagnostic purposes but could be risky if misused.
How this analysis is made

Examples

Reproduce and diagnose a crash
The app crashes when I click 'Save'. Please debug this systematically.
Investigate a failed API call
Login endpoint returns 500 error. Diagnose the root cause.
Trace a data processing bug
The report generator produces incorrect totals. Debug the data flow.

name: debug version: 1.0.0 changelog: Initial debug skill with systematic diagnosis description: Diagnose bugs systematically before proposing fixes. Use when something is broken, failing, erroring, or not working as expected. allowed-tools: Read, Grep, Glob, Bash, Task temperature: 0.2 # Mostly systematic, slight exploration

Debug Phase

Diagnose systematically before proposing fixes.

Task

$ARGUMENTS

Instructions

Output: ## Debug Phase

State: At phase start, update STATE.md:

  • Set task: from $ARGUMENTS (if STATE.md is idle/complete or task is "None")
  • Set phase: debug
  • Set status: in_progress

1. Reproduce

  • Confirm the failure exists
  • Identify exact error message/behavior
  • Note environment conditions (versions, config, state)

2. Isolate

  • Narrow to smallest reproducible case
  • Identify which component fails
  • Trace information flow to failure point
  • Use targeted reads/greps, not broad exploration

3. Hypothesize

  • List possible causes (most likely first)
  • For each: what evidence would confirm/reject?
  • Consider: recent changes, dependencies, environment

4. Test Hypotheses

  • Gather evidence systematically
  • Update hypothesis ranking as evidence arrives
  • Stop when root cause is confirmed

5. Produce Diagnosis

Use the diagnosis template:

## Symptom
[What's failing — exact error or behavior]

## Root Cause
[Why it's failing — the actual problem]

## Evidence
- `file:line` — observation
- Command output — what it showed

## Fix Options
1. Option A: [approach] — tradeoffs
2. Option B: [approach] — tradeoffs

## Recommended
[Which option and why]

Context Budget

  • Target: complete diagnosis under 30% context
  • Use subagents for exploration if needed
  • Keep evidence concise — excerpts, not full files

6. Checkpoint

Update STATE.md incrementally:

  • Set phase: debug
  • Add root cause and fix decision to ## Decisions
  • Add investigated files to ## Key Files
  • Update ## Next Steps with recommended fix

Run /checkpoint if context is heavy or taking a break.

Constraints

  • Do not fix yet — diagnosis first
  • If fix is obvious (<5 lines, isolated), may proceed with approval
  • Otherwise, get approval before implementing
  • Don't guess — verify with evidence

Exit Criteria

Root cause identified with evidence. Fix approach clear and approved.

Gate: "Here's the diagnosis. Approve fix approach?"

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/systematic-debugging-mmio71bz/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/systematic-debugging-mmio71bz' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/systematic-debugging-mmio71bz/download' --output '.skill-downloads/systematic-debugging-mmio71bz/SKILL.md.part' && mv '.skill-downloads/systematic-debugging-mmio71bz/SKILL.md.part' '.skill-downloads/systematic-debugging-mmio71bz/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Tools declared by the author (check availability in your agent): Read, Grep, Glob, Bash, Task

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/systematic-debugging-mmio71bz/SKILL.md' && test -s '.skill-downloads/systematic-debugging-mmio71bz/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/debug' && cp -R '.skill-downloads/systematic-debugging-mmio71bz' '.claude/skills/debug'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/systematic-debugging-mmio71bz'

openskills read 'systematic-debugging-mmio71bz'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/systematic-debugging-mmio71bz/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills