aid-prototype
Frontmatter
Section titled “Frontmatter”name— aid-prototypedescription— Build a throwaway, low-fidelity model to test whether a direction actually works, before anyone commits to building it properly. Use this skill when a decision hinges on something you can only learn by trying it. The model is isolated and disposable — it lives in the work folder or an opt-in worktree and never touches production — and it is deliberately rough, so it gets a light verification rather than a polish grade. It resolves nothing: it reports whether the direction holds and what was learned, and you decide. For a kept design meant to inform the build rather than a throwaway, use/aid-designinstead; the real build is a separate/aid-createstep.allowed-tools— Read, Glob, Grep, Bash, Write, Edit, Agentargument-hint— <direction> — the direction/hypothesis to validate (optionally: fidelity paper|low-fi|runnable-spike)
Definition: canonical/skills/aid-prototype/SKILL.md
flowchart TB
classDef aidNode color:#fff
classDef aidEntry fill:#166534,stroke:#14532d,color:#fff
classDef aidExit fill:#991b1b,stroke:#7f1d1d,color:#fff
classDef aidDecision fill:#92400e,stroke:#78350f,color:#fff
classDef aidLoopBack fill:#1e3a8a,stroke:#1e3a8a,color:#fff
classDef aidStep fill:#1a2035,stroke:#d4a853,color:#f1f5f9
n1(["INTAKE"])
n2["BUILD"]
n3["VERIFY<br/>LIGHT -- do not polish-grade a rough model"]
n4{"PRESENT"}
n5["HANDOFF<br/>optional; printed suggestions only"]
n6(["DONE"])
n1 --> n2
n2 --> n3
n3 -.-> n2
n3 --> n4
n4 -->|"optional"| n5
n4 --> n6
n5 --> n6
class n1 aidEntry
class n2 aidStep
class n3 aidLoopBack
class n4 aidDecision
class n5 aidStep
class n6 aidExit
class n1 aidNode
class n2 aidNode
class n3 aidNode
class n4 aidNode
class n5 aidNode
class n6 aidNode
Source fragments
Section titled “Source fragments”Every node in the chart above, in chart order, with the exact canonical/ text it was derived from.
## State: INTAKE
1. **Require a direction.** Empty argument -> ask one bootstrapping question ("What direction do you want to validate, and what would tell you it works?") and wait.2. **Capture (thin):** direction/hypothesis; fidelity (`paper` | `low-fi` | `runnable spike`, default `low-fi`); the success signal that would validate it; the scope boundary (what it does NOT attempt -- keeps it throwaway).3. **Pick the path:** **Fast** -- a clear direction + success signal -> build now. **Guided** -- vague ("prototype something for onboarding") -> scope direction / success signal / fidelity first.4. **Classify complexity (model + effort):** simple -> `aid-architect` at **sonnet / medium**; complex (a runnable spike, a rich flow) -> **opus / high**.5. **Consult the Work Initiation Gate, then allocate the work folder + STATE.** First run the gate (`canonical/aid/templates/work-initiation-gate.md`): `bash canonical/aid/scripts/works/enumerate-works.sh` (main tree + every git worktree). Empty -> allocate, no prompt. Works exist -> ask new-vs-continuation; on **continuation** route to the chosen work's resume door and STOP (allocate nothing); on **new work**: create and enter the worktree per the gate's `§ 3a` step 2 (`worktree-lifecycle.sh create <work-id> <name>`, STOP on a non-zero exit or empty path, else enter the resolved path), **then** allocate (`pipeline.path: lite`, `initiator: aid-prototype`, `lifecycle: Running`, `active_skill: aid-prototype`; `phase` not driven). For a **runnable spike**, associate an opt-in git worktree so the throwaway code is isolated.Source: canonical/skills/aid-prototype/SKILL.md#L30-L52 · full step: canonical/skills/aid-prototype/SKILL.md#L30-L54
## State: BUILD
Dispatch **`aid-architect`** (clean context, tiered) to build the low-fidelity model ofthe direction and capture the validation signal. A "runnable spike" is **throwaway codewritten by this same `aid-architect` dispatch** -- deliberately NOT `aid-developer` (whosejob is production code), keeping the throwaway/non-production boundary crisp. All artifactsstay in the work folder / opt-in worktree and **never touch production modules**. It writesa validation assessment (see [Deliverable](#deliverable)) into the work folder.Source: canonical/skills/aid-prototype/SKILL.md#L58-L65 · full step: canonical/skills/aid-prototype/SKILL.md#L58-L67
3 · VERIFY — LIGHT — do not polish-grade a rough model · loop-back
## State: VERIFY (LIGHT -- do not polish-grade a rough model)
A prototype is *deliberately* low-fidelity, so this is a single light clean-context check(not the full adversarial loop the other collapses run): dispatch **`aid-reviewer`** once toconfirm (a) the **"success signal observed" claim is honest and grounded** in what wasactually built, and (b) the **throwaway scope was respected** -- no production code snuck in,nothing was committed to real modules. If the check fails, return to BUILD once to correct;do not loop on polish.Source: canonical/skills/aid-prototype/SKILL.md#L71-L78 · full step: canonical/skills/aid-prototype/SKILL.md#L71-L80
4 · PRESENT — hard stop — the user decides · decision
## State: PRESENT (hard stop -- the user decides)
Set `lifecycle: Paused-Awaiting-Input`. Present the throwaway model + the validationassessment: **Direction · What was built (fidelity) · Success signal — observed or not ·What we learned · viable? (a conclusion, not a resolution).** Assert no resolution.Source: canonical/skills/aid-prototype/SKILL.md#L84-L88 · full step: canonical/skills/aid-prototype/SKILL.md#L84-L90
5 · HANDOFF — optional; printed suggestions only · step
## State: HANDOFF (optional; printed suggestions only)
Printed suggestions the user may act on: build the validated thing for real(`/aid-create*`, or `/aid-design` first if a kept design is wanted), or test it with users(`/aid-experiment` / `/aid-test`). Never auto-invoked; never a resolution.Source: canonical/skills/aid-prototype/SKILL.md#L94-L98 · full step: canonical/skills/aid-prototype/SKILL.md#L94-L100
## State: DONE
Set `lifecycle: Completed`, `updated` now, append a `## Lifecycle History` row. Keep thethrowaway artifacts + assessment in the work folder as the audit record; nothing is promotedto production.Source: canonical/skills/aid-prototype/SKILL.md#L104-L108 · full step: canonical/skills/aid-prototype/SKILL.md#L104-L108