debugging

debugging

Comprehensive debugging methodology for finding and fixing bugs. This skill should be used when debugging code, investigating errors, troubleshooting issues, performing root cause analysis, or responding to incidents. Covers systematic reproduction, hypothesis-driven investigation, and root cause analysis techniques. Use when encountering exceptions, stack traces, crashes, segfaults, undefined behavior, or when bug reports need investigation.

0Sterne
0Forks
Aktualisiert 1/21/2026
SKILL.md
readonlyread-only
name
debugging
description

Comprehensive debugging methodology for finding and fixing bugs. This skill should be used when debugging code, investigating errors, troubleshooting issues, performing root cause analysis, or responding to incidents. Covers systematic reproduction, hypothesis-driven investigation, and root cause analysis techniques. Use when encountering exceptions, stack traces, crashes, segfaults, undefined behavior, or when bug reports need investigation.

dot-skills Debugging Best Practices

Comprehensive debugging methodology guide for software engineers, containing 54 rules across 10 categories prioritized by impact. Based on research from Andreas Zeller's "Why Programs Fail" and academic debugging curricula.

When to Apply

Reference these guidelines when:

  • Investigating a bug or unexpected behavior
  • Debugging code during development
  • Code produces wrong results or crashes
  • Performance issues need root cause analysis
  • Triaging incoming bug reports and prioritizing fixes
  • Conducting root cause analysis for incidents
  • Reviewing debugging approaches or code for common bug patterns

Rule Categories by Priority

Priority Category Impact Prefix
1 Problem Definition CRITICAL prob-
2 Hypothesis-Driven Search CRITICAL hypo-
3 Observation Techniques HIGH obs-
4 Root Cause Analysis HIGH rca-
5 Tool Mastery MEDIUM-HIGH tool-
6 Bug Triage and Classification MEDIUM triage-
7 Common Bug Patterns MEDIUM pattern-
8 Fix Verification MEDIUM verify-
9 Anti-Patterns MEDIUM anti-
10 Prevention & Learning LOW-MEDIUM prev-

Quick Reference

1. Problem Definition (CRITICAL)

  • prob-reproduce-before-debug - Reproduce the bug before investigating
  • prob-minimal-reproduction - Create minimal reproduction cases
  • prob-document-symptoms - Document symptoms precisely
  • prob-separate-symptoms-causes - Separate symptoms from causes
  • prob-state-expected-actual - State expected vs actual behavior
  • prob-recent-changes - Check recent changes first

2. Hypothesis-Driven Search (CRITICAL)

  • hypo-scientific-method - Apply the scientific method
  • hypo-binary-search - Use binary search to localize bugs
  • hypo-one-change-at-time - Test one hypothesis at a time
  • hypo-where-not-what - Find WHERE before asking WHAT
  • hypo-rule-out-obvious - Rule out obvious causes first
  • hypo-rubber-duck - Explain the problem aloud

3. Observation Techniques (HIGH)

  • obs-strategic-logging - Use strategic logging
  • obs-log-inputs-outputs - Log function inputs and outputs
  • obs-breakpoint-strategy - Use breakpoints strategically
  • obs-stack-trace-reading - Read stack traces bottom to top
  • obs-watch-expressions - Use watch expressions for state
  • obs-trace-data-flow - Trace data flow through system

4. Root Cause Analysis (HIGH)

  • rca-five-whys - Use the 5 Whys technique
  • rca-fault-propagation - Trace fault propagation chains
  • rca-last-known-good - Find the last known good state
  • rca-question-assumptions - Question your assumptions
  • rca-examine-boundaries - Examine system boundaries

5. Tool Mastery (MEDIUM-HIGH)

  • tool-conditional-breakpoints - Use conditional breakpoints
  • tool-logpoints - Use logpoints instead of modifying code
  • tool-step-commands - Master step over/into/out
  • tool-call-stack-navigation - Navigate the call stack
  • tool-memory-inspection - Inspect memory and object state
  • tool-exception-breakpoints - Use exception breakpoints

6. Bug Triage and Classification (MEDIUM)

  • triage-severity-vs-priority - Separate severity from priority
  • triage-user-impact-assessment - Assess user impact before prioritizing
  • triage-reproducibility-matters - Factor reproducibility into triage
  • triage-quick-wins-first - Identify and ship quick wins first
  • triage-duplicate-detection - Detect and link duplicate bug reports

7. Common Bug Patterns (MEDIUM)

  • pattern-null-pointer - Recognize null pointer patterns
  • pattern-off-by-one - Spot off-by-one errors
  • pattern-race-condition - Identify race condition symptoms
  • pattern-memory-leak - Detect memory leak patterns
  • pattern-type-coercion - Watch for type coercion bugs
  • pattern-async-await-errors - Catch async/await error handling mistakes
  • pattern-timezone-issues - Recognize timezone and date bugs

8. Fix Verification (MEDIUM)

  • verify-reproduce-fix - Verify with original reproduction
  • verify-regression-check - Check for regressions
  • verify-understand-why-fix-works - Understand why fix works
  • verify-add-test - Add test to prevent recurrence

9. Anti-Patterns (MEDIUM)

  • anti-shotgun-debugging - Avoid shotgun debugging
  • anti-quick-patch - Avoid quick patches without understanding
  • anti-tunnel-vision - Avoid tunnel vision on initial hypothesis
  • anti-debug-fatigue - Recognize debugging fatigue
  • anti-blame-tool - Don't blame the tool too quickly

10. Prevention & Learning (LOW-MEDIUM)

  • prev-document-solution - Document bug solutions
  • prev-postmortem - Conduct blameless postmortems
  • prev-defensive-coding - Add defensive code at boundaries
  • prev-improve-error-messages - Improve error messages

How to Use

Read individual reference files for detailed explanations and code examples:

Full Compiled Document

For the complete guide with all rules expanded: AGENTS.md

You Might Also Like

Related Skills

fix

fix

243Kdev-testing

Use when you have lint errors, formatting issues, or before committing code to ensure it passes CI.

facebook avatarfacebook
Holen
peekaboo

peekaboo

179Kdev-testing

Capture and automate macOS UI with the Peekaboo CLI.

openclaw avataropenclaw
Holen
frontend-testing

frontend-testing

128Kdev-testing

Generate Vitest + React Testing Library tests for Dify frontend components, hooks, and utilities. Triggers on testing, spec files, coverage, Vitest, RTL, unit tests, integration tests, or write/review test requests.

langgenius avatarlanggenius
Holen
frontend-code-review

frontend-code-review

127Kdev-testing

Trigger when the user requests a review of frontend files (e.g., `.tsx`, `.ts`, `.js`). Support both pending-change reviews and focused file reviews while applying the checklist rules.

langgenius avatarlanggenius
Holen
code-reviewer

code-reviewer

92Kdev-testing

Use this skill to review code. It supports both local changes (staged or working tree) and remote Pull Requests (by ID or URL). It focuses on correctness, maintainability, and adherence to project standards.

google-gemini avatargoogle-gemini
Holen
session-logs

session-logs

90Kdev-testing

Search and analyze your own session logs (older/parent conversations) using jq.

moltbot avatarmoltbot
Holen