prototypelisted
Install: claude install-skill Truncuso/cogwright
# Prototype
A **spike**: throwaway code whose only deliverable is the *answer* to one design
question. The question decides the shape; the code is scaffolding for the
answer and never merges as-is.
## Contract (hard gates)
1. **One question.** A single, high-fidelity design question. Two questions =
two spikes. Refuse a brief that bundles questions.
2. **Success criteria required.** What the spike must demonstrate for each
possible answer. Refuse to start without it (the handoff `prototype` mode
enforces the same gate upstream).
3. **Declared spike register.** This is a *declared prototype* per CLAUDE.md
Principle 2: verification, robustness, and error handling are relaxed for
speed. No tests, no persistence by default, no abstractions beyond the
question.
4. **Prototype code commits only under `prototype/`.** Committed spike code is
allowed ONLY under `prototype/<feature>/<slug>/`, and only when the close-out
tier is `share` (the retention substrate un-ignores it); `discard` and `keep`
stay gitignored. Outside `prototype/`, no spike code is committed, PR'd,
or pushed. The one always-committed survivor is the findings doc, which
lives under `plans/<feature>/<wp>/` and is kept regardless of tier.
5. **Keep the answer, delete the code.** The findings doc (LOGIC.md / UI.md)
is the primary survivor. Exception — logic branch only: the *pure logic
module* (not its harness) may be **absorbed**: lifted into the real
codebase *through revie