prototypelisted
Install: claude install-skill sumitake/agent-collab
# Prototype — throwaway code that answers a question
A prototype is **throwaway code that answers a question**. The question decides
the shape:
- **"Does this logic or state model feel right?"** → a tiny interactive
terminal app that pushes the state machine through cases that are hard to
reason about on paper.
- **"What should this look like?"** → several radically different UI variants
on a single route, switchable in the browser.
Getting the branch wrong wastes the whole prototype. If the question is
ambiguous and the user is not reachable, default to whichever branch better
matches the surrounding code — a backend module suggests logic, a page or
component suggests UI — and state the assumption at the top of the prototype.
## Workflow rules that apply to both branches
1. **Isolate the prototype from the caller's work.** Build it on an isolated
worktree or a clearly named throwaway branch. Never commit to, rebase, or
otherwise alter the branch the user was on without their explicit approval.
2. **Throwaway from day one, and clearly marked as such.** Name files and
routes so a casual reader sees "prototype," and follow the project's
existing conventions rather than inventing new top-level structure.
3. **One command to run**, registered with the project's existing task runner
(`package.json` scripts, `Makefile`, `justfile`, `pyproject.toml`); if there
is none, put the command at the top of the prototype's README.
4. **No persistence by default.*