---
{
  "name": "diagnosing-bugs",
  "description": "Systematically diagnose bugs using the scientific method: hypothesis, experiment, conclusion. Use when a bug needs investigation and the root cause isn't obvious.",
  "credit": "Matt Peacock (mattpocock/skills)"
}
---

# Diagnosing Bugs

Systematically diagnose bugs using the scientific method: hypothesis, experiment, conclusion.

## Process

1. **Reproduce** — Can you make the bug happen reliably?
2. **Observe** — What exactly happens vs. what's expected?
3. **Hypothesize** — What could cause this behavior?
4. **Experiment** — Test one hypothesis at a time.
5. **Conclude** — What did the experiment prove or disprove?
6. **Fix** — Now that you know the cause, fix it.
7. **Verify** — Confirm the fix works and doesn't break other things.

## Rules

- One hypothesis at a time.
- Don't skip reproduction.
- Don't guess — test.
- Document what you learned.

## Credit

This skill is based on the work of **Matt Peacock** ([@mattpocock](https://github.com/mattpocock)). Original source: [mattpocock/skills](https://github.com/mattpocock/skills). Licensed under MIT.
