investigatelisted
Install: claude install-skill Ian-Louw/potion
# Potion Investigate
Inherit `${CLAUDE_PLUGIN_ROOT}/core/CORE.md`. The gap flywheel handles KNOWN
gaps; this skill exists for unknown causes — including the moment a circuit
breaker trips and hands you a mystery.
## The Iron Law
```
NO FIX WITHOUT A REPRODUCED ROOT CAUSE
```
A fix applied to an unreproduced bug is a guess wearing a fix's clothing. If
you cannot make it happen on demand, you cannot know you made it stop.
## The session file — investigations survive compaction
Investigations burn context and die at `/clear`. First act: create
`.potion/debug/{slug}.md`:
```markdown
## Symptom {exact error/behavior, verbatim — plus how to reproduce}
## Evidence {facts observed, with commands and output — append-only}
## Hypotheses {each: statement → test that would falsify it → result}
## Eliminated {hypotheses killed, and by what evidence}
## Root cause {empty until PROVEN — reproduced on demand, mechanism explained}
```
Update it as you go — a fresh session must be able to continue from the file
alone. Delete it (or move the conclusion to learnings) when closed.
## Method
1. **Reproduce first.** Make the failure happen on demand. Can't reproduce →
that's the investigation, not a blocker to skip. Done when: Symptom holds a
command (or steps) that triggers the failure on demand.
2. **Read the actual error.** The full text, the stack, the line — pasted
verbatim into Evidence. Not the vibe.
3. **One hypothesis at a time**, cheapest test f