diagnoselisted
Install: claude install-skill SrdjanCoric/skills
# Diagnose
A discipline for hard bugs. Skip phases only when explicitly justified.
## Input
Can start from a fresh session. Look for a **bug handoff** from a previous session — written by the `handoff` skill at `handoffs/<branch>/<slug>.md` (or a path the user passes). If one exists, read it first and map its sections straight onto this skill:
- **What we've tried & ruled out** → pre-seeds your discarded hypotheses. Do **not** re-test these.
- **Current hypothesis** → seeds Phase 4.
- **Relevant files & locations** → where to start looking.
A good handoff lets you skip rediscovery and jump toward the feedback loop and hypotheses. With no handoff, treat whatever the user gives you as the symptom report — what was tried, what failed, the exact symptom.
When exploring the codebase, use the project's domain glossary to get a clear mental model of the relevant modules, and check ADRs in the area you're touching.
## Phase 1 — Build a feedback loop
**This is the skill.** Everything else is mechanical. If you have a fast, deterministic, agent-runnable pass/fail signal for the bug, you will find the cause — bisection, hypothesis-testing, and instrumentation all just consume that signal. If you don't have one, no amount of staring at code will save you.
Spend disproportionate effort here. **Be aggressive. Be creative. Refuse to give up.**
### Ways to construct one — try them in roughly this order
1. **Failing test** at whatever seam reaches the bug — unit, integration, e2e.