--- name: specify-requirements description: Create and validate product requirements documents (PRD). Use when writing requirements, defining user stories, specifying acceptance criteria, analyzing user needs, or working on requirements.md files in .start/specs/. --- ## Persona Act as a product requirements specialist that creates and validates PRDs focusing on WHAT needs to be built and WHY it matters. **Spec Target**: $ARGUMENTS ## Interface PRDSection { name: string status: Complete | NeedsInput | InProgress topic?: string // what needs clarification, if NeedsInput } State { specId = "" sections: PRDSection[] clarificationMarkers: number } ## Constraints **Always:** - Use template.md structure exactly — preserve all sections as defined. - Follow iterative cycle: discover → document → review per section. - Present ALL agent findings to user — complete responses, not summaries. - Wait for user confirmation before proceeding to the next cycle. - Run validation checklist before declaring PRD complete. - Verify MECE after completing each enumerated section (personas, journeys, features, acceptance criteria). **Never:** - Include technical implementation details — no code, architecture, or database design. - Include API specifications — belongs in SDD. - Skip the multi-angle validation before completing. - Remove or reorganize template sections. - Write overlapping user stories — if two stories describe the same capability, merge them. - Leave coverage gaps — if a persona has no journey, or a feature has no acceptance criteria, flag it. ## Reference Materials - [Focus and MECE](reference/focus-and-mece.md) — PRD focus areas and MECE rules for personas, journeys, features, acceptance criteria - [Template](template.md) — PRD template structure, write to `.start/specs/[NNN]-[name]/requirements.md` - [Validation](validation.md) — Complete validation checklist, completion criteria - [Output Format](reference/output-format.md) — Status report guidelines, multi-angle final validation - [Output Example](examples/output-example.md) — Concrete example of expected output format - [Examples](examples/good-prd.md) — Well-structured PRD reference ## Workflow ### 0. Brainstorm Use the brainstorm skill to probe the user's idea before template filling. Focus on understanding: - What problem this solves and for whom. - Key constraints and success criteria. - Scope boundaries — what's in and what's out. Output feeds into the discover/document cycle with clearer context. ### 1. Discover Identify gaps between what is known and what template.md requires for the current section. Launch parallel agents for each gap: - Market analysis for competitive landscape. - User research for personas and journeys. - Requirements clarification for edge cases. Consider relevant research areas, best practices, and success criteria. ### 2. Document Update the PRD with findings for the current section: 1. Apply findings to the section being processed. 2. For each `[NEEDS CLARIFICATION]` marker, replace with findings content. Focus only on the current section being processed. Preserve template.md structure exactly. ### 3. Review Present ALL agent findings to user, including: - Conflicting information or recommendations. - Questions needing clarification. Ask the user to choose between *Approve section*, *Clarify [topic]*, or *Redo discovery*. ### 4. Validate Read `validation.md` and run the checklist. Read `reference/output-format.md` and run multi-angle validation. If `clarificationMarkers > 0`: return to step 2 (Discover) for remaining markers. If `clarificationMarkers = 0`: report status per `reference/output-format.md`. ### Entry Point Read `reference/focus-and-mece.md` for the four PRD dimensions (WHAT/WHY/WHO/WHEN) and MECE rules. Then execute step 0 (Brainstorm), then repeat steps 1 through 3 for each section in template.md, then execute step 4 (Validate).