prototype

Build throwaway logic or UI prototypes to answer design questions.

Updated Aug 2, 2026
One-click install
npx skills add https://github.com/mikalv/pi-extensions --skill prototype-mikalv
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: prototype
Source: https://github.com/mikalv/pi-extensions/tree/main/packages/pi-atelier/.agents/skills/prototype
Command: npx skills add https://github.com/mikalv/pi-extensions --skill prototype-mikalv

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Design questions about state models, business logic, or UI layouts are hard to settle on paper. This Skill produces throwaway, runnable prototypes that let you press buttons, flip between variants, and discover flaws in an idea before committing to real implementation. ## Core Features & Use Cases - Logic prototypes: Build a tiny interactive terminal app around a pure reducer, state machine, or function set so you can drive state transitions by hand and watch edge cases unfold. - UI prototypes: Generate 3-5 structurally different variants of a page on a single route, switchable via a ?variant= URL param and a floating bottom bar with arrow-key navigation. - Capture workflow: Fold validated decisions into real code, then preserve the prototype on a throwaway branch as a primary source linked from the implementation issue. - Use Case: You are unsure whether a state machine handles an edge case where event X precedes event Y. The Skill builds a one-command terminal app with keyboard shortcuts that mutate in-memory state and re-render the full frame after every action, so you can feel the bug immediately. ## Quick Start Ask the agent to prototype whether your state model handles a specific edge case, or to generate three different layout variants for an existing page.

Frequently Asked Questions about prototype

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prototype a state machine before writing production code?▼

Isolate the logic as a pure reducer, state machine, or function set with no I/O, then wrap it in a lightweight terminal UI that clears and re-renders the full state after each keystroke. Add one command to the project's existing task runner so anyone can run it.

How to compare multiple UI layout options on one page?▼

Render 3-5 structurally different variants on the same route, gated by a ?variant= URL search param, with a floating bottom bar for switching via clicks or arrow keys. Keep existing data fetching intact and only swap the rendered subtree per variant.

Should a prototype include tests and error handling?▼

No. A prototype that needs tests is no longer a prototype. Skip tests, persistence, and polish; keep only the minimal error handling needed to make it runnable, since the goal is to answer one question fast.

When should I use a logic prototype versus a UI prototype?▼

Use a logic prototype when the question is whether a state model or data shape behaves correctly under real cases. Use a UI prototype when the question is what a page or component should look like. Ambiguous cases default to whichever matches the surrounding code.

What happens to prototype code after the question is answered?▼

Fold the validated decision into the real code, then commit the full prototype to a throwaway branch outside main as a primary source. Leave a pointer to that branch on the implementation issue so the main branch keeps only the validated decision.