LogoSkills

product:prd

Executes the PRD (Product Requirements Document) workflow as the Product Manager.

ํ•ญ๋ชฉ๋‚ด์šฉ
Invoke/prd

/prd โ€” ์ œํ’ˆ ์š”๊ตฌ์‚ฌํ•ญ ์ •๋ฆฌ์„œ(PRD) ๋งŒ๋“ค๊ธฐ#

ํ•œ๋งˆ๋””๋กœ#

"์ด ์ œํ’ˆ์ด ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€"๋ฅผ ๋น ์ง์—†์ด ์ ์–ด๋‘๋Š” ์„ค๊ณ„ ๋ช…์„ธ์„œ๋ฅผ ๋งŒ๋“œ๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. ์ง‘์„ ์ง“๊ธฐ ์ „์— ๋ฐฉ ๊ฐœ์ˆ˜, ํ™”์žฅ์‹ค ์œ„์น˜, ์ „๊ธฐยท์ˆ˜๋„ ๊ฐ™์€ ์กฐ๊ฑด์„ ์ข…์ด์— ๋‹ค ์ ์–ด๋‘๋Š” ๊ฒƒ๊ณผ ๊ฐ™์•„์š”. ๋‚˜์ค‘์— "์ด๊ฑด ๋น ์กŒ๋„ค" ํ•˜๊ณ  ๋‹คํˆฌ์ง€ ์•Š๋„๋ก ๋ฏธ๋ฆฌ ํ•ฉ์˜ํ•ด ๋‘ก๋‹ˆ๋‹ค.

๋ˆ„๊ฐ€ยท์–ธ์ œ ์“ฐ๋‚˜์š”#

  • ์ œํ’ˆ/๊ธฐ๋Šฅ์„ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์ „, ๋ฌด์—‡์„ ๋งŒ๋“ค์ง€ ์ •๋ฆฌํ•˜๊ณ  ์‹ถ์€ ๊ธฐํš์ž(Product Manager)
  • ๋งŒ๋“ค ํ•ญ๋ชฉ์ด ์–ด๋А ์ •๋„ ๊ทœ๋ชจ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ (๋Œ€๋žต ์Šคํ† ๋ฆฌ 5๊ฐœ ์ด์ƒ์˜ Level 2 ์ด์ƒ ํ”„๋กœ์ ํŠธ์— ์ ํ•ฉ)
  • ์•ž์„œ ๋งŒ๋“  ์ œํ’ˆ ๋ธŒ๋ฆฌํ”„(product brief)๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ทธ๊ฒƒ์„ ํ† ๋Œ€๋กœ, ์—†๋‹ค๋ฉด ๋Œ€ํ™”๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ชจ์๋‹ˆ๋‹ค.

์†Œ์š” ์‹œ๊ฐ„์€ ๋ณดํ†ต 45~90๋ถ„ ์ •๋„์ž…๋‹ˆ๋‹ค.

๋ฌด์—‡์„ ํ•ด์ฃผ๋‚˜์š”#

๋Œ€ํ™”๋ฅผ ํ†ตํ•ด ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ชจ์œผ๊ณ , ํ•œ ๊ฐœ์˜ ์ •๋ฆฌ ๋ฌธ์„œ๋กœ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

  • ๊ฒฐ๊ณผ๋ฌผ: .bmad/prd-{ํ”„๋กœ์ ํŠธ์ด๋ฆ„}-{๋‚ ์งœ}.md ํŒŒ์ผ ํ•œ ๊ฐœ
  • ๊ทธ ์•ˆ์— ๋‹ด๊ธฐ๋Š” ๋‚ด์šฉ:
    • ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ(FR) โ€” ์‹œ์Šคํ…œ์ด "๋ฌด์—‡์„" ํ•˜๋Š”์ง€ (์˜ˆ: PDF ์—…๋กœ๋“œ ๊ธฐ๋Šฅ). ์ค‘์š”๋„๋ฅผ Must/Should/Could๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.
    • ๋น„๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ(NFR) โ€” ์‹œ์Šคํ…œ์ด "์–ผ๋งˆ๋‚˜ ์ž˜" ๋™์ž‘ํ•˜๋Š”์ง€ (์„ฑ๋Šฅ, ๋ณด์•ˆ, ์•ˆ์ •์„ฑ ๋“ฑ)
    • ์—ํ”ฝ(Epic) โ€” ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ๋“ค์„ ๋ฌถ์€ ํฐ ์ž‘์—… ๋‹จ์œ„
    • ์ถ”์ ํ‘œ(traceability matrix) โ€” ์–ด๋–ค ์—ํ”ฝ์— ์–ด๋–ค ๊ธฐ๋Šฅ์ด ๋“ค์–ด๊ฐ€๋Š”์ง€ ํ•œ๋ˆˆ์— ๋ณด๋Š” ํ‘œ
    • ์‚ฌ์šฉ์ž ํŽ˜๋ฅด์†Œ๋‚˜, ํ•ต์‹ฌ ์‚ฌ์šฉ์ž ํ๋ฆ„, ์˜์กด์„ฑ, ๊ฐ€์ •, ๋ฒ”์œ„ ๋ฐ– ํ•ญ๋ชฉ ๋“ฑ ๋ณด์กฐ ์ •๋ณด

์–ด๋–ป๊ฒŒ ์“ฐ๋‚˜์š”#

# PRD ์ž‘์„ฑ ์›Œํฌํ”Œ๋กœ ์‹คํ–‰
/prd

์ด ๋ช…๋ น์€ ์˜ต์…˜ ์—†์ด ์‹คํ–‰ํ•˜๋ฉฐ, ์ดํ›„ ์งˆ๋ฌธ์— ๋‹ตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ๋จผ์ € ๊ธฐ์กด ์ œํ’ˆ ๋ธŒ๋ฆฌํ”„๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ๊ธฐ๋Šฅ โ†’ ๋น„๊ธฐ๋Šฅ โ†’ ์—ํ”ฝ โ†’ (์„ ํƒ)์Šคํ† ๋ฆฌ ์ˆœ์„œ๋กœ ํ•˜๋‚˜์”ฉ ๋ฌผ์–ด๋ด…๋‹ˆ๋‹ค. ๋‹ต์„ ๋ชจ์œผ๋ฉด PRD ๋ฌธ์„œ๋ฅผ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

์•ˆ์—์„œ ๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์ง€๋‚˜์š”#

ํฌ๊ฒŒ ๋‹ค์Œ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

  1. ์ค€๋น„ โ€” ์„ค์ •๊ณผ ์ง„ํ–‰ ์ƒํƒœ๋ฅผ ์ฝ๊ณ , ๊ธฐ์กด ์ œํ’ˆ ๋ธŒ๋ฆฌํ”„์™€ PRD ์–‘์‹(ํ…œํ”Œ๋ฆฟ)์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค.
  2. ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ ์ˆ˜์ง‘ โ€” ๊ธฐ๋Šฅ ์˜์—ญ๋ณ„๋กœ "์‹œ์Šคํ…œ์ด ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋‚˜์š”?"๋ฅผ ๋ฌป๊ณ , ๊ฐ ํ•ญ๋ชฉ์— ๋ฒˆํ˜ธ(FR-001 ๋“ฑ)์™€ ์ค‘์š”๋„(Must/Should/Could), ํ†ต๊ณผ ๊ธฐ์ค€์„ ๋ถ™์ž…๋‹ˆ๋‹ค.
  3. ๋น„๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ ์ˆ˜์ง‘ โ€” ์„ฑ๋Šฅยท๋ณด์•ˆยทํ™•์žฅ์„ฑยท์•ˆ์ •์„ฑยท์‚ฌ์šฉ์„ฑ ๋“ฑ ํ’ˆ์งˆ ์กฐ๊ฑด์„ ์ธก์ • ๊ฐ€๋Šฅํ•œ ์ˆซ์ž๋กœ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  4. ์—ํ”ฝ ์ •๋ฆฌ โ€” ๊ด€๋ จ ๊ธฐ๋Šฅ๋“ค์„ ํฐ ๋ฉ์–ด๋ฆฌ๋กœ ๋ฌถ๊ณ , ๊ฐ ๋ฉ์–ด๋ฆฌ๊ฐ€ ๋ช‡ ๊ฐœ ์Šคํ† ๋ฆฌ๊ฐ€ ๋ ์ง€ ๊ฐ€๋Š ํ•ฉ๋‹ˆ๋‹ค.
  5. (์„ ํƒ) ์‚ฌ์šฉ์ž ์Šคํ† ๋ฆฌยท๋ณด์กฐ ์ •๋ณด โ€” ์›ํ•˜๋ฉด ์˜ˆ์‹œ ์Šคํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ , ํŽ˜๋ฅด์†Œ๋‚˜ยท์‚ฌ์šฉ์ž ํ๋ฆ„ยท๊ฐ€์ •ยท๋ฒ”์œ„ ๋ฐ– ํ•ญ๋ชฉ ๋“ฑ์„ ๋ณด์ถฉํ•ฉ๋‹ˆ๋‹ค.
  6. ๋ฌธ์„œ ์ƒ์„ฑ โ€” ๋ชจ์€ ๋‚ด์šฉ์„ ํ…œํ”Œ๋ฆฟ์— ์ฑ„์›Œ ๋„ฃ๊ณ  ์ถ”์ ํ‘œ์™€ ์šฐ์„ ์ˆœ์œ„ ์š”์•ฝ์„ ๋งŒ๋“  ๋’ค ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ณ  ์š”์•ฝ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  7. ๊ฒ€์ฆยท๋‹ค์Œ ๋‹จ๊ณ„ ์•ˆ๋‚ด โ€” ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋กœ ๋น ์ง„ ๊ฒŒ ์—†๋Š”์ง€ ์ ๊ฒ€ํ•˜๊ณ , ์ง„ํ–‰ ์ƒํƒœ๋ฅผ ๊ฐฑ์‹ ํ•œ ๋’ค ๋‹ค์Œ ๋‹จ๊ณ„(๋ณดํ†ต /architecture ์„ค๊ณ„)๋กœ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

โš™๏ธ ์ƒ์„ธ ์˜ต์…˜ยท์‹คํ–‰ ๋ช…์„ธ (๊ฐœ๋ฐœ์ž / AI ์—์ด์ „ํŠธ์šฉ)

Workflow Overview#

Goal: Create comprehensive PRD defining functional requirements, non-functional requirements, and epics

Phase: 2 - Planning

Agent: Product Manager

Inputs: Product brief (if available), interactive requirements gathering

Output: .bmad/prd-{project-name}-{date}.md

Duration: 45-90 minutes

Best for: Level 2+ projects (5+ stories)


Pre-Flight#

Execute these helper operations:

  1. Load context per helpers.md#Combined-Config-Load
  2. Check status per helpers.md#Load-Workflow-Status
  3. Load product brief if exists:
    • Check .bmad/ for product-brief-*.md
    • Read and extract key information
    • Use as foundation for PRD
  4. Load template per helpers.md#Load-Template
    • Template: ${CLAUDE_PLUGIN_ROOT}/references/templates/prd.md

Requirements Gathering Process#

Use TodoWrite to track: Pre-flight โ†’ FRs โ†’ NFRs โ†’ Epics โ†’ Stories โ†’ Generate โ†’ Validate โ†’ Update

Approach: Strategic, organized, pragmatic.


Part 1: Foundation (From Product Brief)#

If product brief exists, extract and confirm:

  • Executive summary
  • Business objectives
  • Success metrics
  • User personas
  • Out of scope items

Ask user: "I've reviewed your product brief. Are there any changes or additions before we define requirements?"

If NO product brief: Ask user: "Let's establish the foundation. What are your top 3 business objectives for this project?"

Store as: {{business_objectives}}, {{success_metrics}}


Part 2: Functional Requirements (FRs)#

Explain to user:

"Functional Requirements define what the system does. Each FR is a specific capability or feature. We'll organize these into Must/Should/Could priorities using the MoSCoW method."

Interactive FR Collection:

For each major feature area (derived from product brief or user input):

  1. Ask: "What should the system do for [feature area]?"

  2. For each requirement, collect:

    • Description (specific, actionable)
    • Priority (Must/Should/Could)
    • Acceptance Criteria (how to test it's done)
  3. Assign FR-ID: FR-001, FR-002, etc. (sequential)

Format each FR:

### FR-{ID}: {Short Title}

**Priority:** {Must Have | Should Have | Could Have}

**Description:**
{What the system should do - specific and testable}

**Acceptance Criteria:**
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3

**Dependencies:** {FR-XXX if applicable}

Guidance:

  • Must Have: Critical for MVP, project fails without it
  • Should Have: Important but workaround exists
  • Could Have: Nice to have, skip if time/budget tight

Typical FR count by level:

  • Level 2: 8-15 FRs
  • Level 3: 15-30 FRs
  • Level 4: 30-50 FRs

Store as: {{functional_requirements}} (markdown formatted list)


Part 3: Non-Functional Requirements (NFRs)#

Explain to user:

"Non-Functional Requirements define how the system performs - quality attributes like performance, security, scalability."

NFR Categories to cover:

  1. Performance

    • Response time targets
    • Throughput requirements
    • Concurrent user capacity
  2. Security

    • Authentication requirements
    • Authorization rules
    • Data encryption needs
    • Compliance (GDPR, HIPAA, etc.)
  3. Scalability

    • Expected growth
    • Load handling
    • Data volume
  4. Reliability/Availability

    • Uptime targets (99%, 99.9%, 99.99%)
    • Disaster recovery
    • Backup requirements
  5. Usability

    • Accessibility standards (WCAG)
    • Browser/device support
    • Internationalization
  6. Maintainability

    • Code quality standards
    • Documentation requirements
    • Testing coverage
  7. Compatibility

    • Integration requirements
    • API standards
    • Data format requirements

For each relevant NFR:

Ask: "What are your [category] requirements?"

Format:

### NFR-{ID}: {Category} - {Short Title}

**Priority:** {Must Have | Should Have}

**Description:**
{Specific, measurable requirement}

**Acceptance Criteria:**
- [ ] Measurable criterion (e.g.,  " Response time  <   200ms for 95% of requests " )

**Rationale:**
{Why this matters}

Typical NFR count: 5-12 NFRs

Store as: &#123;&#123;non_functional_requirements&#125;&#125; (markdown formatted list)


Part 4: Epics#

Explain to user:

"Epics are large bodies of work that group related FRs. Each epic will break down into 2-10 user stories in Phase 4."

Epic Creation Process:

  1. Review FRs, identify natural groupings
  2. For each epic:
    • ID: EPIC-001, EPIC-002, etc.
    • Name: Short, descriptive
    • Description: What this epic accomplishes
    • Related FRs: Which FRs belong to this epic
    • Story Count Estimate: 2-10 stories

Format:

### EPIC-{ID}: {Epic Name}

**Description:**
{What this epic delivers}

**Functional Requirements:**
- FR-001
- FR-003
- FR-007

**Story Count Estimate:** {2-10}

**Priority:** {Must Have | Should Have | Could Have}

**Business Value:**
{Why this epic matters}

Typical epic count by level:

  • Level 2: 2-4 epics
  • Level 3: 4-8 epics
  • Level 4: 8-15 epics

Store as: &#123;&#123;epics&#125;&#125; (markdown formatted list)


Part 5: High-Level User Stories (Optional)#

Ask user: "Would you like to create high-level user stories now, or wait for sprint planning (Phase 4)?"

If YES: For each epic, create 2-3 example stories in format:

"As a [user type], I want [goal] so that [benefit]."

Store as: &#123;&#123;user_stories&#125;&#125;

If NO: Set &#123;&#123;user_stories&#125;&#125; to:

"Detailed user stories will be created during sprint planning (Phase 4)."


Part 6: Additional Sections#

Collect briefly:

  1. User Personas (if not in product brief): "Who are the primary user types?" Store as: &#123;&#123;user_personas&#125;&#125;

  2. Key User Flows: "What are the 2-3 most important user journeys?" Store as: &#123;&#123;user_flows&#125;&#125;

  3. Dependencies: "What does this project depend on (internal systems, external APIs, etc.)?" Store as: &#123;&#123;internal_dependencies&#125;&#125;, &#123;&#123;external_dependencies&#125;&#125;

  4. Assumptions: "What assumptions are we making?" Store as: &#123;&#123;assumptions&#125;&#125;

  5. Out of Scope (confirm from brief): Store as: &#123;&#123;out_of_scope&#125;&#125;

  6. Open Questions: "Are there any unresolved questions?" Store as: &#123;&#123;open_questions&#125;&#125;

  7. Stakeholders (from brief or new): Store as: &#123;&#123;stakeholders&#125;&#125;


Generate Document#

  1. Load template from ${CLAUDE_PLUGIN_ROOT}/references/templates/prd.md

  2. Substitute variables per helpers.md#Apply-Variables-to-Template:

    • All collected requirements (FRs, NFRs, Epics)
    • Standard variables (date, user_name, project_name, etc.)
    • Product brief path if available
  3. Generate traceability matrix:

        | Epic ID | Epic Name | FRs | Story Estimate |
    |---------|-----------|-----|----------------|
    | EPIC-001 | User Management | FR-001, FR-002, FR-005 | 5-8 stories |
    

    Store as: &#123;&#123;traceability_matrix&#125;&#125;

  4. Generate prioritization summary:

    • Count Must/Should/Could FRs and NFRs
    • Store as: &#123;&#123;prioritization_details&#125;&#125;
  5. Determine output path per helpers.md#Save-Output-Document:

    • Format: {output_folder}/prd-{project-name}-{date}.md
  6. Write document using Write tool

  7. Display summary:

        โœ“ PRD Created!
    
    Summary:
    - Functional Requirements: {count} ({must} must, {should} should, {could} could)
    - Non-Functional Requirements: {count}
    - Epics: {count}
    - Estimated Stories: {total}
    

Validation#

Review the PRD:

โœ“ Checklist:
- [ ] All Must-Have FRs are clearly defined
- [ ] Each FR has testable acceptance criteria
- [ ] NFRs cover key quality attributes (performance, security, etc.)
- [ ] NFRs are measurable (specific numbers/targets)
- [ ] Epics logically group related FRs
- [ ] All FRs are assigned to epics
- [ ] Priorities are realistic (not everything is  " Must Have " )
- [ ] Requirements trace to business objectives
- [ ] Out of scope is clearly stated

Ask user: "Please review the PRD. Are the requirements complete and clear?"

If changes needed โ†’ Edit and re-validate If approved โ†’ Continue


Update Status#

Per helpers.md#Update-Workflow-Status:

  1. Load .bmad/bmm-workflow-status.yaml
  2. Update prd status to file path
  3. Update last_updated timestamp
  4. Save

Recommend Next Steps#

Per helpers.md#Determine-Next-Workflow:

Based on project level:

Level 2:

โœ“ PRD complete!

Next: Architecture Design
Run /architecture to design system that meets all requirements.

Why architecture? Level 2 projects need architectural planning to ensure
FRs and NFRs are addressed systematically.

Level 3-4:

โœ“ PRD complete!

Next: Architecture Design (Required)
Run /architecture to design comprehensive system architecture.

With {count} requirements and {epic_count} epics, architectural planning
is critical for success.

Offer: "Would you like me to hand off to System Architect to design your system?"


Helper References#

  • Load config: helpers.md#Combined-Config-Load
  • Load status: helpers.md#Load-Workflow-Status
  • Load template: helpers.md#Load-Template
  • Apply variables: helpers.md#Apply-Variables-to-Template
  • Save document: helpers.md#Save-Output-Document
  • Update status: helpers.md#Update-Workflow-Status
  • Recommend next: helpers.md#Determine-Next-Workflow

Tips for Effective Requirements Gathering#

Functional Requirements:

  • Be specific: "User can upload PDF files up to 10MB" vs. "User can upload files"
  • Be testable: Include clear acceptance criteria
  • Avoid solution statements: "User can reset password" vs. "System uses JWT tokens"
  • One requirement per FR: Break complex features into atomic FRs

Non-Functional Requirements:

  • Be measurable: "API response < 200ms" vs. "System is fast"
  • Include context: "99.9% uptime during business hours (M-F, 8am-6pm EST)"
  • Consider cost: Some NFRs are expensive (e.g., 99.999% uptime)

Epics:

  • Epic โ‰  Feature: An epic can span multiple features
  • Right-sized: 2-10 stories each (not 1, not 50)
  • Vertical slices: Each epic delivers end-to-end value

Prioritization:

  • Not everything is "Must Have" - be honest about what's critical
  • Use data: Impact ร— Reach รท Effort
  • Consider dependencies: Some FRs must come before others

Notes for LLMs#

  • Maintain approach (strategic, organized, pragmatic)
  • Use TodoWrite to track 8 major sections
  • Apply MoSCoW prioritization consistently
  • Ensure all requirements are testable
  • Create traceability (FRs โ†’ Epics โ†’ Stories)
  • Use Memory tool to store requirements for Phase 4
  • Don't rush - good requirements save time later
  • Validate completeness before finalizing

Remember: PRD quality determines implementation success. Take time to get requirements right.