src/bmm-skills/3-solutioning/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md
To validate that all required input documents exist and extract all requirements (FRs, NFRs, and additional requirements from UX/Architecture) needed for epic and story creation.
{communication_language}Welcome {user_name} to comprehensive epic and story creation!
CRITICAL PREREQUISITE VALIDATION:
Verify required documents exist and are complete:
Search for required documents using these patterns (sharded means a large document was split into multiple small files with an index.md into a folder) - if the whole document is found, use that instead of the sharded version:
PRD Document Search Priority:
{planning_artifacts}/*prd*.md (whole document){planning_artifacts}/*prd*/index.md (sharded version)Architecture Document Search Priority:
{planning_artifacts}/*architecture*.md (whole document){planning_artifacts}/*architecture*/index.md (sharded version)UX Design Document Search (Optional):
{planning_artifacts}/*ux*.md (whole document){planning_artifacts}/*ux*/index.md (sharded version)Before proceeding, Ask the user if there are any other documents to include for analysis, and if anything found should be excluded. Wait for user confirmation. Once confirmed, create the {planning_artifacts}/epics.md from the ../templates/epics-template.md and in the front matter list the files in the array of inputDocuments: [].
From the PRD document (full or sharded), read then entire document and extract ALL functional requirements:
Extraction Method:
Format the FR list as:
FR1: [Clear, testable requirement description]
FR2: [Clear, testable requirement description]
...
From the PRD document, extract ALL non-functional requirements:
Extraction Method:
Format the NFR list as:
NFR1: [Performance/Security/Usability requirement]
NFR2: [Performance/Security/Usability requirement]
...
Review the Architecture document for technical requirements that impact epic and story creation:
Look for:
IMPORTANT: If a starter template is mentioned in Architecture, note it prominently. This will impact Epic 1 Story 1.
Format Additional Requirements as:
- [Technical requirement from Architecture that affects implementation]
- [Infrastructure setup requirement]
- [Integration requirement]
...
IMPORTANT: The UX Design Specification is a first-class input document, not supplementary material. Requirements from the UX spec must be extracted with the same rigor as PRD functional requirements.
Read the FULL UX Design document and extract ALL actionable work items:
Look for:
Format UX Design Requirements as a SEPARATE section (not merged into Additional Requirements):
UX-DR1: [Actionable UX design requirement with clear implementation scope]
UX-DR2: [Actionable UX design requirement with clear implementation scope]
...
🚨 CRITICAL: Do NOT reduce UX requirements to vague summaries. Each UX-DR must be specific enough to generate a story with testable acceptance criteria. If the UX spec identifies 6 reusable components, list all 6 — not "create reusable components."
Load ../templates/epics-template.md and initialize {planning_artifacts}/epics.md:
Display to user:
Functional Requirements Extracted:
Non-Functional Requirements Extracted:
Additional Requirements (Architecture):
UX Design Requirements (if applicable):
Ask: "Do these extracted requirements accurately represent what needs to be built? Any additions or corrections?"
Update the requirements based on user feedback until confirmation is received.
After extraction and confirmation, update {planning_artifacts}/epics.md with:
Display: **Confirm the Requirements are complete and correct to [C] continue:**
ONLY WHEN C is selected and all requirements are saved to document and frontmatter is updated, will you then read fully and follow: ./step-02-design-epics.md to begin epic design step.
Master Rule: Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.