Shape Up
Drive a structured elicitation conversation, then produce a shaped
specification as a plan-mode artifact. The conversation surfaces intent;
the artifact encodes it for implementation.
Influenced by Shape Up (Basecamp/Ryan
Singer): appetite-first framing, solution at element level, explicit
rabbit holes and no-gos. The output is a pitch — rough, solved, and
bounded — not an exhaustive SRS.
Two Phases
Track progress through elicitation, gate check, and specification using
available task tracking tools.
Phase 1 — Elicitation. Open-ended dialogue where Claude drives —
synthesizing, probing, illustrating with inline diagrams, and using
AskUserQuestion for structured trade-off decisions. Surfaces six elements
through natural conversation following the shaping process: set boundaries,
find elements, address risks, converge.
Phase 2 — Specification. Enter plan mode and write the shaped spec as
the plan file. Nothing from Phase 1 survives as conversational residue.
The artifact stands alone.
Context Loading
Load references only when the current phase needs them.
| Phase |
Load |
Do NOT Load |
| Elicitation (opening) |
references/elicitation-guide.md |
all others |
| Elicitation (after first exchange) |
references/audience-adaptation.md |
gate-checklist, spec-production |
| Elicitation (complex/vague problems) |
references/shaping-techniques.md |
gate-checklist, spec-production |
| Elicitation (entities emerge) |
references/domain-modeling.md |
gate-checklist, spec-production |
| Gate check |
references/gate-checklist.md |
elicitation-guide, spec-production |
| Specification |
references/spec-production.md |
elicitation-guide, gate-checklist |
Multiple elicitation references can be loaded concurrently as the
conversation evolves. Only load what the conversation actually needs.
Phase 1: Elicitation
Load references/elicitation-guide.md and follow its protocol.
The elicitation conversation surfaces six elements:
- Problem — one specific story showing the broken status quo. Who is
affected, what happens today without this system.
- Appetite — time budget and what it implies about scope. Not an
estimate — a deliberate choice about how much this is worth.
- Solution — named elements with responsibilities. Key interaction
flows at fat-marker level — concrete enough to build from, rough enough
to leave room.
- Rabbit Holes — specific risks identified and patched with upfront
decisions. Technical unknowns flagged for spikes.
- No-Gos — explicit exclusions that prevent scope creep during
building. Sharper than "out of scope."
- Boundaries — non-functional constraints, must-haves vs.
nice-to-haves, success criteria measured against the baseline.
Stakeholders emerge naturally within Problem. Domain loads
on-demand via references/domain-modeling.md for complex problems.
Acceptance criteria are embedded in Boundaries as success vs. baseline.
Audience calibration
After the first substantive exchange, load references/audience-adaptation.md.
Detect whether the user is a customer, engineer, or PM from their language
and framing — not from their title. Adapt vocabulary, visualization style,
and emphasis accordingly. Re-calibrate when signals shift.
Shaping flow
- Opening — understand the raw idea: what is broken, who cares, what
prompted this
- Set boundaries — surface appetite and no-gos early. The appetite
constrains everything downstream.
- Find the elements — named components and interaction flows, not
feature lists. Load
references/shaping-techniques.md for complex
or vague problems.
- Address risks — actively probe for rabbit holes. Load
references/domain-modeling.md when entities and invariants emerge.
- Converge — notice when questions stop producing new information.
State this observation explicitly.
Exit conditions
Apply all three, in order:
- Convergence detection. Notice when answers confirm rather than add.
State this observation explicitly.
- Gate check. Load
references/gate-checklist.md. Validate every
gate. Present pass/fail to the user.
- Explicit approval. Halt and request confirmation before producing
the spec. Never proceed without the user's "go."
Phase 2: Specification
Load references/spec-production.md.
Before entering plan mode, ask the user: "Where should this spec be
saved?" Record the target path.
Enter plan mode. Write the plan file with an execution preamble (target
path and action instruction) followed by the spec content. The plan must
be self-contained — a fresh session reads it and knows exactly what to
do with no elicitation context.
Exit plan mode for user review.
Scaling
- Small feature: Problem + Appetite + Solution + No-Gos. Light
Boundaries. Skip Domain.
- Medium project: Full template.
- Large system: Full template with solution elements grouped by area.
Rules
- Elicitation is a conversation, not a form. Explore, reflect, let
the user correct. Do not interrogate with an element checklist.
- Never produce the spec without explicit approval. Gate checklist
is necessary but not sufficient. The user's confirmation is the
hard stop.
- Claude drives. Synthesize, propose, probe. Not "what else?" but
"Based on X, I think Y — is that right?"
- Conversation content is ephemeral. Explanations, diagrams,
AskUserQuestion interactions do NOT appear in the spec artifact.
- Adapt to the audience, not the role. Detect from language,
re-calibrate when signals shift.
- Do not solve during elicitation. Surface elements and flows,
not architecture. "Handle 10K users" is a boundary. "Use Redis"
is a solution.
- Make the implicit explicit. Name implied requirements: "That
implies authentication — should we include it or is that a
rabbit hole?"
- Use AskUserQuestion only for structured trade-offs. Appetite
sizing, priority resolution, boundary decisions, risk patching.
- Appetite before solution. Always surface how much this is worth
before exploring what to build.
Additional Resources
Reference Files
references/elicitation-guide.md — Conversation protocol for
Phase 1: opening questions, six elements, visualization patterns,
convergence detection, anti-patterns
references/audience-adaptation.md — Detecting customer vs.
engineer vs. PM from language; adapting vocabulary and emphasis
references/shaping-techniques.md — Decomposition and probing
techniques: outcome backward, day-in-the-life, breadboarding,
rabbit hole surfacing, and more
references/gate-checklist.md — Eight gates validating
elicitation completeness before specification production
references/spec-production.md — Pitch-style spec template,
section-by-section production instructions, scaling guidance
references/domain-modeling.md — Lightweight domain modeling
through conversation: entities, relationships, invariants
1---2name: shape-up3description: Conversational software requirements elicitation producing shaped specifications. This skill should be used when the user asks to "write a spec", "create requirements", "spec this out", "what should we build", "define the requirements", "help me think through this system", "spec out a feature", "shape this project", "requirements gathering", "write a pitch", "help me figure out what to build", or when a user describes a software need that requires structured requirements before implementation begins.4---56# Shape Up78Drive a structured elicitation conversation, then produce a shaped9specification as a plan-mode artifact. The conversation surfaces intent;10the artifact encodes it for implementation.1112Influenced by [Shape Up](https://basecamp.com/shapeup) (Basecamp/Ryan13Singer): appetite-first framing, solution at element level, explicit14rabbit holes and no-gos. The output is a pitch — rough, solved, and15bounded — not an exhaustive SRS.1617## Two Phases1819Track progress through elicitation, gate check, and specification using20available task tracking tools.2122**Phase 1 — Elicitation.** Open-ended dialogue where Claude drives —23synthesizing, probing, illustrating with inline diagrams, and using24AskUserQuestion for structured trade-off decisions. Surfaces six elements25through natural conversation following the shaping process: set boundaries,26find elements, address risks, converge.2728**Phase 2 — Specification.** Enter plan mode and write the shaped spec as29the plan file. Nothing from Phase 1 survives as conversational residue.30The artifact stands alone.3132## Context Loading3334Load references only when the current phase needs them.3536| Phase | Load | Do NOT Load |37|-------|------|-------------|38| Elicitation (opening) | [`references/elicitation-guide.md`](references/elicitation-guide.md) | all others |39| Elicitation (after first exchange) | [`references/audience-adaptation.md`](references/audience-adaptation.md) | gate-checklist, spec-production |40| Elicitation (complex/vague problems) | [`references/shaping-techniques.md`](references/shaping-techniques.md) | gate-checklist, spec-production |41| Elicitation (entities emerge) | [`references/domain-modeling.md`](references/domain-modeling.md) | gate-checklist, spec-production |42| Gate check | [`references/gate-checklist.md`](references/gate-checklist.md) | elicitation-guide, spec-production |43| Specification | [`references/spec-production.md`](references/spec-production.md) | elicitation-guide, gate-checklist |4445Multiple elicitation references can be loaded concurrently as the46conversation evolves. Only load what the conversation actually needs.4748## Phase 1: Elicitation4950Load [`references/elicitation-guide.md`](references/elicitation-guide.md) and follow its protocol.5152The elicitation conversation surfaces six elements:53541. **Problem** — one specific story showing the broken status quo. Who is55 affected, what happens today without this system.562. **Appetite** — time budget and what it implies about scope. Not an57 estimate — a deliberate choice about how much this is worth.583. **Solution** — named elements with responsibilities. Key interaction59 flows at fat-marker level — concrete enough to build from, rough enough60 to leave room.614. **Rabbit Holes** — specific risks identified and patched with upfront62 decisions. Technical unknowns flagged for spikes.635. **No-Gos** — explicit exclusions that prevent scope creep during64 building. Sharper than "out of scope."656. **Boundaries** — non-functional constraints, must-haves vs.66 nice-to-haves, success criteria measured against the baseline.6768**Stakeholders** emerge naturally within Problem. **Domain** loads69on-demand via [`references/domain-modeling.md`](references/domain-modeling.md) for complex problems.70**Acceptance criteria** are embedded in Boundaries as success vs. baseline.7172### Audience calibration7374After the first substantive exchange, load [`references/audience-adaptation.md`](references/audience-adaptation.md).75Detect whether the user is a customer, engineer, or PM from their language76and framing — not from their title. Adapt vocabulary, visualization style,77and emphasis accordingly. Re-calibrate when signals shift.7879### Shaping flow80811. **Opening** — understand the raw idea: what is broken, who cares, what82 prompted this832. **Set boundaries** — surface appetite and no-gos early. The appetite84 constrains everything downstream.853. **Find the elements** — named components and interaction flows, not86 feature lists. Load [`references/shaping-techniques.md`](references/shaping-techniques.md) for complex87 or vague problems.884. **Address risks** — actively probe for rabbit holes. Load89 [`references/domain-modeling.md`](references/domain-modeling.md) when entities and invariants emerge.905. **Converge** — notice when questions stop producing new information.91 State this observation explicitly.9293### Exit conditions9495Apply all three, in order:96971. **Convergence detection.** Notice when answers confirm rather than add.98 State this observation explicitly.992. **Gate check.** Load [`references/gate-checklist.md`](references/gate-checklist.md). Validate every100 gate. Present pass/fail to the user.1013. **Explicit approval.** Halt and request confirmation before producing102 the spec. Never proceed without the user's "go."103104## Phase 2: Specification105106Load [`references/spec-production.md`](references/spec-production.md).107108Before entering plan mode, ask the user: "Where should this spec be109saved?" Record the target path.110111Enter plan mode. Write the plan file with an execution preamble (target112path and action instruction) followed by the spec content. The plan must113be self-contained — a fresh session reads it and knows exactly what to114do with no elicitation context.115116Exit plan mode for user review.117118### Scaling119120- **Small feature:** Problem + Appetite + Solution + No-Gos. Light121 Boundaries. Skip Domain.122- **Medium project:** Full template.123- **Large system:** Full template with solution elements grouped by area.124125## Rules1261271. **Elicitation is a conversation, not a form.** Explore, reflect, let128 the user correct. Do not interrogate with an element checklist.1292. **Never produce the spec without explicit approval.** Gate checklist130 is necessary but not sufficient. The user's confirmation is the131 hard stop.1323. **Claude drives.** Synthesize, propose, probe. Not "what else?" but133 "Based on X, I think Y — is that right?"1344. **Conversation content is ephemeral.** Explanations, diagrams,135 AskUserQuestion interactions do NOT appear in the spec artifact.1365. **Adapt to the audience, not the role.** Detect from language,137 re-calibrate when signals shift.1386. **Do not solve during elicitation.** Surface elements and flows,139 not architecture. "Handle 10K users" is a boundary. "Use Redis"140 is a solution.1417. **Make the implicit explicit.** Name implied requirements: "That142 implies authentication — should we include it or is that a143 rabbit hole?"1448. **Use AskUserQuestion only for structured trade-offs.** Appetite145 sizing, priority resolution, boundary decisions, risk patching.1469. **Appetite before solution.** Always surface how much this is worth147 before exploring what to build.148149## Additional Resources150151### Reference Files152153- **[`references/elicitation-guide.md`](references/elicitation-guide.md)** — Conversation protocol for154 Phase 1: opening questions, six elements, visualization patterns,155 convergence detection, anti-patterns156- **[`references/audience-adaptation.md`](references/audience-adaptation.md)** — Detecting customer vs.157 engineer vs. PM from language; adapting vocabulary and emphasis158- **[`references/shaping-techniques.md`](references/shaping-techniques.md)** — Decomposition and probing159 techniques: outcome backward, day-in-the-life, breadboarding,160 rabbit hole surfacing, and more161- **[`references/gate-checklist.md`](references/gate-checklist.md)** — Eight gates validating162 elicitation completeness before specification production163- **[`references/spec-production.md`](references/spec-production.md)** — Pitch-style spec template,164 section-by-section production instructions, scaling guidance165- **[`references/domain-modeling.md`](references/domain-modeling.md)** — Lightweight domain modeling166 through conversation: entities, relationships, invariants