prototype: Answer Questions With Throwaway Code
Install this skill:
npx skills add mattpocock/skills skill=prototype -y -g
Source: mattpocock/skills/prototype
What it does
/prototype builds throwaway code to answer a question before you commit to a direction.
The important bit is that the question chooses the shape of the prototype.
If you need to understand logic or state, it builds a small runnable terminal app. If you need to understand UI, it creates a few visible variations you can switch between.
When to use it
Use /prototype when talking about the plan is not enough.
Good signs:
- you cannot tell if an interaction will feel right
- a state model is hard to reason about on paper
- a prompt, flow, or UI needs to be seen before you can decide
- the team is debating an abstract choice that a tiny demo could settle
The prototype is not the product. It is a flashlight.
The two branches
/prototype has two main branches:
- Logic prototype: a tiny interactive terminal app for state machines, reducers, business rules, or data flow questions.
- UI prototype: several visual variations on one route, usually switchable with a URL parameter or small control.
Picking the wrong branch wastes the exercise. The skill starts by identifying the question it is trying to answer.
Rules for good prototypes
A good prototype is:
- clearly marked as throwaway
- easy to run with one command
- local and temporary by default
- light on polish
- explicit about state
- deleted or absorbed once it has answered the question
Do not leave prototypes rotting in the repo. Keep the answer, not the scaffolding.
How it fits the workflow
/grill-with-docs -> /handoff to /prototype -> iterate -> /handoff back -> /to-prd -> /to-issues
Use /prototype after /grill-with-docs exposes a question that words cannot answer.
Once the prototype answers the question, capture the answer somewhere durable, then return to the planning thread.
Pairs well with
- /grill-with-docs, to surface the question that needs a prototype
- /handoff, to move context into and out of the prototype session
- /to-prd, to capture the resolved direction after the prototype answers the question