Debug a bug or unexpected behavior systematically. Use when the user says "there's a bug", "this isn't working", "I'm getting an error", "help me debug", "why is this failing", "unexpected behavior", "test is failing", "something is broken", or describes behavior that doesn't match expectations - even if they don't say "debug".
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
## Overview
Based on **"The Pragmatic Programmer"** by Andrew Hunt & David Thomas. Hunt & Thomas's debugging philosophy: debugging is a puzzle to be solved with evidence, not a crisis to be panicked through. The key discipline is don't guess. Form a hypothesis, predict what you'll see if the hypothesis is correct, test it, and observe. Repeat.
Their rubber duck principle: before asking for help, explain the problem out loud (to a rubber duck or anyone). The act of articulating often reveals the answer.
## Workflow
### Step 1: Reproduce the bug reliably
You cannot debug what you cannot reproduce.
- What exact steps produce the bug? Document them.
- Is it 100% reproducible or intermittent?
- On which environments? (dev only, staging, prod?)
- Since when? (what changed recently?)
If you can't reproduce it reliably, make that the first problem to solve.
### Step 2: Understand the expected vs actual behavior
State explicitly:
- Expected: what should happen?
- Actual: what is happening?
- Evidence: logs, error messages, screenshots
Do not skip this. Vague bug descriptions lead to fixing the wrong thing.
### Step 3: Form a hypothesis
…
The line at the top of this page pins the label git:20260303.09b1726, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_aj4cxqaqgdjbm6q4
GET https://markdownregistry.com/api/v1/resolve?ref=qa-aman/claude-skills/debug
GET https://markdownregistry.com/api/v1/blob/d881e3e0e80eb506936c0b11a4f28a4b044e3a2873e965f80c418b93cd8a9512
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
qa-aman/claude-skills · .claude/skills/create-skill/SKILL.md · Create or update Claude Code skills following Anthropic's official skill standard. Use when user says "create a skill"…
qa-aman/claude-skills · .claude/skills/sync-skills/SKILL.md · Fetch skills from projects on the current system, genericize them, and add to the claude-skills repository. Use when…
qa-aman/claude-skills · skills/by-role/accountant/audit-workpaper/SKILL.md · Write a clear, reviewable audit workpaper documenting procedures, evidence, and conclusions. Use when an auditor says…
qa-aman/claude-skills · skills/by-role/accountant/budget-variance-analysis/SKILL.md · Analyze budget vs. actual variances, identify root causes, and recommend corrective actions. Use when an accountant or…
qa-aman/claude-skills · skills/by-role/accountant/financial-statement-review/SKILL.md · Analyze and interpret financial statements to surface performance signals, quality concerns, and red flags. Use when an…
qa-aman/claude-skills · skills/by-role/accountant/month-end-close/SKILL.md · Run, document, or review a structured month-end close process. Use when an accountant says "help me with month-end…
qa-aman/claude-skills · skills/by-role/accountant/tax-position-memo/SKILL.md · Write a technical tax position memo that documents a tax filing position with authorities, facts, analysis, and…
qa-aman/claude-skills · skills/by-role/business-analyst/acceptance-criteria-writer/SKILL.md · Write measurable acceptance criteria for requirements or user stories. Use when the user says "write acceptance…
qa-aman/claude-skills · skills/by-role/business-analyst/brd-writer/SKILL.md · Write a Business Requirements Document. Use when the user says "write a BRD", "business requirements", "document the…
qa-aman/claude-skills · skills/by-role/business-analyst/cost-benefit-analysis/SKILL.md · Build a business case with costs, benefits, and ROI. Use when the user says "cost-benefit analysis", "business case"…
qa-aman/claude-skills · skills/by-role/business-analyst/data-dictionary/SKILL.md · Generate a data dictionary documenting entities, fields, and business rules. Use when the user says "data dictionary"…
yeachan-heo/oh-my-claudecode · skills/debug/SKILL.md · Diagnose the current OMC session or repo state using logs, traces, state, and focused reproduction
nanocoai/nanoclaw · .claude/skills/debug/SKILL.md · Debug container agent issues. Use when things aren't working, container fails, authentication problems, or to…
agentic-community/mcp-gateway-registry · .claude/skills/debug/SKILL.md · Debug issues in the MCP Gateway Registry using first-principles thinking. Invoke when something is broken, timing out…
suboss87/fdeops · skills/debug/SKILL.md · Investigate a failure, regression or incorrect result in an integration or application, even before it can be…
ericrisco/rsc-harness · skills/debug/SKILL.md · Use when something is broken — a failing or flaky test, crash, wrong result or regression — and the root cause must be…
arbiterforge/codearbiter · plugins/ca-codex/routines/debug/SKILL.md · Investigate an unexplained defect or unexpected behavior without changing application code. Use for root-cause…
arbiterforge/codearbiter · plugins/ca/skills/debug/SKILL.md · Investigate an unexplained defect or unexpected behavior without changing application code. Use for root-cause…