Write a feature spec or PRD from a problem statement or feature idea. Use when turning a vague idea or user request into a structured document, scoping a feature with goals and non-goals, defining success metrics and acceptance criteria, or breaking a big ask into a phased spec.
If you see unfamiliar placeholders or need to check which tools are connected, see CONNECTORS.md.
Write a feature specification or product requirements document (PRD).
/write-spec $ARGUMENTS
Ask the user what they want to spec. Accept any of:
Ask the user for the following. Be conversational — do not dump all questions at once. Ask the most important ones first and fill in gaps as you go:
If ~~project tracker is connected:
If ~~knowledge base is connected:
If ~~design is connected:
If these tools are not connected, work entirely from what the user provides. Do not ask the user to connect tools — just proceed with available information.
Produce a structured PRD with these sections. See PRD Structure below for detailed guidance on what each section should contain.
After generating the PRD:
Write user stories in standard format: "As a [user type], I want [capability] so that [benefit]"
Guidelines:
Example:
Must-Have (P0): The feature cannot ship without these. These represent the minimum viable version of the feature. Ask: "If we cut this, does the feature still solve the core problem?" If no, it is P0.
Nice-to-Have (P1): Significantly improves the experience but the core use case works without them. These often become fast follow-ups after launch.
Future Considerations (P2): Explicitly out of scope for v1 but we want to design in a way that supports them later. Documenting these prevents accidental architectural decisions that make them hard later.
For each requirement:
Good user stories are:
Metrics that change quickly after launch (days to weeks):
Metrics that take time to develop (weeks to months):
Write acceptance criteria in Given/When/Then format or as a checklist:
Given/When/Then:
Example:
Checklist format:
Scope creep happens when:
Use markdown with clear headers. Keep the document scannable — busy stakeholders should be able to read just the headers and bold text to get the gist.