prototypelisted
Install: claude install-skill konstantinos-malavazos/claude-code-playbook
# Prototype — throwaway code that answers a question
A prototype is **code written to be deleted**. Its only output is a reaction. It exists
because some decisions cannot be argued to a conclusion. They have to be looked at.
> Prior art: Matt Pocock's `prototype` skill (MIT). This is a re-derivation, not a copy.
> It collapses the upstream's three files into one, reads the run command off the repo
> instead of a placeholder, and lands the verdict on the ticket rather than in memory.
**Before you build anything, check that the question needs a prototype at all.** It is only
for the question that gets answered by seeing it run.
## The question picks the shape
| The question | What you build |
|---|---|
| *Does this logic / state model hold up?* | one interactive harness that drives the state machine **by hand** through the cases that are hard to hold in your head |
| *What should this look like?* | three or four **radically different** takes on one screen, switchable without a restart — a URL param, a keypress, an env var, whatever the stack makes cheap |
**Getting the branch wrong wastes the whole prototype**, so pick it first and out loud.
The two produce different artifacts and answer different objections. One variant of a state
machine teaches nothing, and a single interactive harness for a screen is just the screen.
If the question is genuinely ambiguous, ask. If the human is not reachable, take the branch
that matches what surrounds the question — a module or a ser