discoverlisted
Install: claude install-skill taipt1504/claudehut
# Discover (phase 1 of 7)
Ground the task in **this codebase** and settle the reuse question before any ideation. This phase was split
out of Brainstorm (decision reversal, v0.4): exploration + reuse-scan are *discovery*, not *ideation* —
folding them into Brainstorm over-fit it and killed creative breadth. Discover does the grounding; Brainstorm
(phase 2) then ideates freely on top of it. Runs **inline on the main thread** (it owns the state write; a
forked subagent cannot spawn subagents).
## Iron Law
```
NO NEW CLASS, SERVICE, UTILITY, CONFIG, OR ENDPOINT BEFORE A REUSE SCAN
```
The `PreToolUse` write gate enforces this: until `reuse_scan=true` (recorded here), every production write is
denied — in **every** complexity tier. Discover is the one phase the fast lane never skips.
## The decision ladder (what the scan decides)
The reuse-scan is not only "does the project already have it?" — it answers the full lazy-senior-dev ladder
for each thing the task would build, **stopping at the first rung that fits** (create-time depth:
`skills/implement/references/minimalism.md`):
```
0. need-to-exist? → no: DROP it (YAGNI) drop
1. JDK / Java stdlib does it? ┐
2. Spring / installed starter? ├ → use it, write nothing framework
3. already-declared dependency?┘ (check build.gradle/pom.xml's classpath)
4. existing PROJECT code? → adopt as-is | extend it (cite file:line) adopt | extend
5. nothing fits