aid-prototype
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 b
Файлы1
Открыть в GitHubSKILL.md.claude/skills/aid-prototype/SKILL.md
GitHubPrototype (validate a direction, throwaway)
/aid-prototype builds a throwaway model now to de-risk a direction, captures the
validation signal, presents it, and hands the real build off. It resolves nothing and
its output is not production. For a design you intend to keep and build, use
/aid-design. Deeper per-slot guidance: .aid/runtime/templates/shortcut-scaffolding/prototype.md.
- Not a numbered pipeline phase; does not route to
/aid-execute.
State machine: INTAKE -> BUILD -> VERIFY (light) -> PRESENT [user decides] -> HANDOFF? ->
DONE. Print the [State: NAME] -- {purpose} entry line on each state.
State: INTAKE
- 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.
- Capture (thin): direction/hypothesis; fidelity (
paper|low-fi|runnable spike, defaultlow-fi); the success signal that would validate it; the scope boundary (what it does NOT attempt -- keeps it throwaway). - Pick the path: Fast -- a clear direction + success signal -> build now. Guided -- vague ("prototype something for onboarding") -> scope direction / success signal / fidelity first.
- Classify complexity (model + effort): simple ->
aid-architectat sonnet / medium; complex (a runnable spike, a rich flow) -> opus / high. - Consult the Work Initiation Gate, then allocate the work folder + STATE. First run
the gate (
.aid/runtime/templates/work-initiation-gate.md):bash .aid/runtime/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§ 3astep 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;phasenot driven). For a runnable spike, associate an opt-in git worktree so the throwaway code is isolated.
Advance: BUILD.
State: BUILD
Dispatch aid-architect (clean context, tiered) to build the low-fidelity model of
the direction and capture the validation signal. A "runnable spike" is throwaway code
written by this same aid-architect dispatch -- deliberately NOT aid-developer (whose
job is production code), keeping the throwaway/non-production boundary crisp. All artifacts
stay in the work folder / opt-in worktree and never touch production modules. It writes
a validation assessment (see Deliverable) into the work folder.
Advance: VERIFY.
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 to
confirm (a) the "success signal observed" claim is honest and grounded in what was
actually 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.
Advance: PRESENT.
State: PRESENT (hard stop -- the user decides)
Set lifecycle: Paused-Awaiting-Input. Present the throwaway model + the validation
assessment: Direction · What was built (fidelity) · Success signal — observed or not ·
What we learned · viable? (a conclusion, not a resolution). Assert no resolution.
Advance: HANDOFF (optional) then DONE.
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.
Advance: DONE.
State: DONE
Set lifecycle: Completed, updated now, append a ## Lifecycle History row. Keep the
throwaway artifacts + assessment in the work folder as the audit record; nothing is promoted
to production.
Deliverable
A validation assessment in the work folder: Direction · What was built (fidelity) · Success signal (observed / not) · What we learned · Viable? (conclusion, not resolution), alongside the throwaway model/spike artifacts.
Constraints
- Throwaway + isolated -- artifacts never touch production; a runnable spike is written
by
aid-architect(notaid-developer), in the work folder / opt-in worktree. - Resolves nothing -- presents a viability conclusion; the user decides.
- LIGHT verify -- honesty + throwaway-scope check on the assessment, not a polish-grade.
- Verification is always a sub-agent dispatch (
aid-reviewer), never inline. - Kept design is
/aid-design, not this. - Tracking: write STATE
lifecycleat every transition.