| name | gdd-spike |
| description | Timeboxed feasibility experiment that creates .design/spikes/<slug>/ with HYPOTHESIS.md, success/failure criteria, scratch/ subdirectory, and a default 60-minute timebox. Use when answering 'can this work?' before betting design or implementation effort on a risky approach. |
| argument-hint | [hypothesis] [--timebox <minutes>] |
| tools | Read, Write, Bash, AskUserQuestion |
Get Design Done - Spike
Role: Timeboxed feasibility experiment. Answers "can this work?" - e.g., "can we use view transitions for this flow?", "does this animation perform on mobile?". Unlike {{command_prefix}}sketch (visual variants), {{command_prefix}}spike tests a hypothesis.
Flag parsing
Parse $ARGUMENTS:
[hypothesis] → summary phrase, derives the slug
--timebox <minutes> → default 60
Step 1 - Intake
AskUserQuestion:
- "What's the hypothesis? (e.g., 'view transitions can replace our current route animations')"
- "What's the timebox? (default 60 minutes)"
- "What would prove it works? (success criteria)"
- "What would prove it doesn't? (failure criteria)"
Step 2 - Create spike directory
- Derive
<slug> from the hypothesis (kebab-case, short).
mkdir -p .design/spikes/<slug>/scratch/ via Bash.
Step 3 - Write HYPOTHESIS.md
Write .design/spikes/<slug>/HYPOTHESIS.md:
# Spike: <slug>
**Hypothesis**: <statement>
**Timebox**: <N> minutes
**Started**: YYYY-MM-DD HH:MM
## Success criteria
- <criterion>
## Failure criteria
- <criterion>
## Scratch area
Experimental code in `./scratch/` — not committed to src/.
Step 4 - Announce
━━━ Spike started ━━━
Slug: <slug>
Timebox: <N> minutes
Work in: .design/spikes/<slug>/scratch/
When done: {{command_prefix}}spike-wrap-up <slug>
━━━━━━━━━━━━━━━━━━━━━
Do Not
- Do not write experimental code to
src/ - use .design/spikes/<slug>/scratch/.
- Do not exceed the timebox without explicit user approval; wrap up and reassess first.
SPIKE COMPLETE