Back to catalog

doc-prd

Create Product Requirements Documents (PRD) following SDD methodology - Layer 2 artifact defining product features and user needs

  • Category: discovered
  • Tags: github, community
  • Version: 1.0.0
  • Author: walid
  • Downloads: 0
  • Updated: 2025-11-22

Download the latest version (v1.0.0) from this page.

SKILL.md

---
name: doc-prd
description: Create Product Requirements Documents (PRD) following SDD methodology - Layer 2 artifact defining product features and user needs
---

# doc-prd

## Purpose

Create **Product Requirements Documents (PRD)** - Layer 2 artifact in the SDD workflow that defines product features, user needs, measurable success criteria, and KPIs.

**Layer**: 2

**Upstream**: BRD (Layer 1)

**Downstream Artifacts**: EARS (Layer 3), BDD (Layer 4), ADR (Layer 5)

## Prerequisites

Before creating a PRD, read:

1. **Shared Standards**: `.claude/skills/doc-flow/SHARED_CONTENT.md`
2. **Upstream BRD**: Read the BRD that drives this PRD
3. **Template**: `ai_dev_flow/PRD/PRD-TEMPLATE.md`
4. **Creation Rules**: `ai_dev_flow/PRD/PRD_CREATION_RULES.md`
5. **Validation Rules**: `ai_dev_flow/PRD/PRD_VALIDATION_RULES.md`

## When to Use This Skill

Use `doc-prd` when:
- Have completed BRD (Layer 1)
- Need to define product features and user requirements
- Translating business needs to product specifications
- Establishing KPIs and success metrics
- You are at Layer 2 of the SDD workflow

## PRD-Specific Guidance

### 1. Required Sections

**Document Control** (MANDATORY - First section before all numbered sections):
- Project Name
- Document Version
- Date (YYYY-MM-DD)
- Document Owner
- Prepared By
- Status (Draft, In Review, Approved, Superseded)
- Document Revision History table

**Core Sections**:
1. **Problem Statement**: What problem are we solving?
2. **Goals**: What do we want to achieve?
3. **Non-Goals**: What are we explicitly NOT doing?
4. **User Needs**: Who are the users and what do they need?
5. **Product Features**: Specific features and capabilities
6. **KPIs**: Measurable success criteria (quantitative metrics)
7. **Architecture Decision Requirements**: Topics needing ADRs (NOT specific ADR numbers)
8. **Technology Stack Reference**: Reference Platform BRD sections 3.6/3.7
9. **Traceability**: Section 7 format from SHARED_CONTENT.md

### 2. Technology Stack Reference

**Feature PRD**:
- Mark as "N/A - See Platform BRD-XXX Section 3.6/3.7"
- Reference specific technology items if relevant to feature

**Platform PRD** (rare):
- May elaborate on technology choices from Platform BRD
- Still references Platform BRD as source of truth

### 3. Architecture Decision Requirements Section

**Purpose**: Document what architectural decisions are needed and why; do NOT reference specific ADR numbers (ADRs created in Layer 5)

**Format**:
```markdown
## Architecture Decision Requirements

Based on the product features defined above, the following architectural topics require decision-making:

1. **API Design Pattern**: Feature requires external API; need to decide REST vs GraphQL
2. **State Management**: Complex UI state; need to decide on state management approach
3. **Caching Strategy**: Performance requirements; need to decide on caching implementation

**Note**: Specific ADRs will be created to document these decisions in Layer 5 (ADR phase).
**Inherited from BRD-XXX**: [List any architectural topics from parent BRD]
```

### 4. Problem-Goals-Non-Goals Framework

**Problem Statement** (What we're solving):
- Clear, concise problem definition
- Quantify problem impact where possible
- Reference BRD business needs

**Goals** (What we want to achieve):
- Specific, measurable objectives
- Aligned with BRD success criteria
- Prioritized (P0, P1, P2)

**Non-Goals** (What we're NOT doing):
- Explicit scope limitations
- Features intentionally excluded
- Future considerations (not now)

### 5. KPIs and Success Metrics

**Quantitative Metrics** (MANDATORY):
- Performance targets (latency, throughput)
- User adoption metrics
- Business impact metrics
- Error rates and reliability targets

**Example**:
```markdown
## KPIs

**Performance**:
- P95 latency <500ms for all API calls
- Throughput: 1000 requests/second

**Adoption**:
- 80% of eligible users adopt within 3 months
- Net Promoter Score (NPS) >40

**Business Impact**:
- Reduce manual processing time by 60%
- Decrease error rate from 5% to <1%
```

## Cumulative Tagging Requirements

**Layer 2 (PRD)**: Must include tags from Layer 1 (BRD)

**Tag Count**: 1 tag (@brd)

**Format**:
```markdown
## Traceability

**Required Tags** (Cumulative Tagging Hierarchy - Layer 2):
```markdown
@brd: BRD-001:section-3, BRD-001:success-criteria
```

- BRD-001:section-3 - Business requirements driving this product
- BRD-001:success-criteria - Success criteria from business case

**Upstream Sources**:
- [BRD-001](../BRD/BRD-001_platform.md#BRD-001) - Parent business requirements

**Downstream Artifacts**:
- EARS-NNN (to be created) - Formal requirements
- BDD-NNN (to be created) - Test scenarios
```

## Upstream/Downstream Artifacts

**Upstream Sources** (what drives PRD creation):
- **BRD** (Layer 1) - Business requirements and objectives

**Downstream Artifacts** (what PRD drives):
- **EARS** (Layer 3) - Formal WHEN-THE-SHALL-WITHIN requirements from PRD features
- **BDD** (Layer 4) - Test scenarios validating PRD functionality
- **ADR** (Layer 5) - Architecture decisions for topics identified in PRD

## Creation Process

### Step 1: Read Parent BRD

Read and understand the BRD that drives this PRD.

### Step 2: Reserve ID Number

Check `docs/PRD/` for next available ID number (e.g., PRD-001, PRD-002).

**ID Matching**: PRD ID does NOT need to match BRD ID (PRD-009 may implement BRD-016).

### Step 3: Create PRD File

**File naming**: `docs/PRD/PRD-NNN_{slug}.md`

**Example**: `docs/PRD/PRD-001_ib_api_integration.md`

### Step 4: Fill Document Control Section

Complete all required metadata fields and initialize Document Revision History table.

### Step 5: Complete Core Sections

**Problem Statement**: What problem are we solving?
**Goals**: What do we want to achieve? (Prioritized: P0, P1, P2)
**Non-Goals**: What are we NOT doing?
**User Needs**: Who needs this and why?
**Product Features**: Specific capabilities and workflows
**KPIs**: Measurable success metrics

### Step 6: Document Architecture Decision Requirements

List topics needing architectural decisions (do NOT reference specific ADR numbers yet).

### Step 7: Add Technology Stack Reference

- **Feature PRD**: Mark as "N/A - See Platform BRD-XXX Section 3.6/3.7"
- **Platform PRD**: Reference and elaborate on Platform BRD technology choices

### Step 8: Add Cumulative Tags

Include @brd tags (Layer 1) in Traceability section.

### Step 9: Create/Update Traceability Matrix

**MANDATORY**: Create or update `docs/PRD/PRD-000_TRACEABILITY_MATRIX.md`
- Use template: `ai_dev_flow/PRD/PRD-000_TRACEABILITY_MATRIX-TEMPLATE.md`
- Add PRD entry with upstream BRD and downstream artifacts
- Update within same commit as PRD creation

### Step 10: Validate PRD

Run validation scripts:
```bash
# PRD validation (under development - use template for manual validation)
# ./ai_dev_flow/scripts/validate_prd_template.sh docs/PRD/PRD-001_*.md

# Link integrity
./ai_dev_flow/scripts/validate_links.py --path docs/PRD/

# Cumulative tagging validation
python ai_dev_flow/scripts/validate_tags_against_docs.py --artifact PRD-001 --expected-layers brd --strict
```

### Step 11: Commit Changes

Commit PRD file and traceability matrix together.

## Validation

### Automated Validation

**Quality Gates Validation**:
```bash
./scripts/validate_quality_gates.sh docs/PRD/PRD-001_integration.md
```

**Tag Validation**:
```bash
# Validate cumulative tags (must have @brd)
python ai_dev_flow/scripts/validate_tags_against_docs.py \
  --artifact PRD-001 \
  --expected-layers brd \
  --strict
```

### Manual Checklist

- [ ] Document Control section at top (before all numbered sections)
- [ ] All required metadata fields completed
- [ ] Document Revision History table initialized
- [ ] Parent BRD identified and referenced
- [ ] Problem-Goals-Non-Goals framework completed
- [ ] User needs clearly defined
- [ ] Product features specified
- [ ] KPIs quantified (measurable metrics)
- [ ] Architecture Decision Requirements listed (no ADR numbers)
- [ ] Technology Stack reference (Platform BRD sections 3.6/3.7)
- [ ] Cumulative tags: @brd included
- [ ] Traceability matrix created/updated
- [ ] No broken links
- [ ] File size <50,000 tokens (standard) or <100,000 tokens (maximum)

## Common Pitfalls

1. **Missing KPIs**: PRD must have quantitative success metrics
2. **Vague goals**: Goals must be specific and measurable
3. **Referencing ADR numbers**: Don't write "See ADR-033" (ADRs don't exist yet)
4. **Missing @brd tags**: Layer 2 must include Layer 1 tags
5. **ID number confusion**: PRD-NNN does NOT need to match BRD-NNN

## Next Skill

After creating PRD, use:

**`doc-ears`** - Create formal EARS requirements (Layer 3)

The EARS will:
- Reference this PRD as upstream source
- Include `@brd` and `@prd` tags (cumulative)
- Use WHEN-THE-SHALL-WITHIN format
- Formalize PRD features into requirements

## Related Resources

- **Main Guide**: `ai_dev_flow/SPEC_DRIVEN_DEVELOPMENT_GUIDE.md`
- **PRD Creation Rules**: `ai_dev_flow/PRD/PRD_CREATION_RULES.md`
- **PRD Validation Rules**: `ai_dev_flow/PRD/PRD_VALIDATION_RULES.md`
- **PRD README**: `ai_dev_flow/PRD/README.md`
- **Shared Standards**: `.claude/skills/doc-flow/SHARED_CONTENT.md`

## Quick Reference

**PRD Purpose**: Define product features and user needs

**Layer**: 2

**Tags Required**: @brd (1 tag)

**Key Sections**:
- Problem-Goals-Non-Goals framework
- KPIs (quantitative metrics)
- Architecture Decision Requirements (topics, NOT ADR numbers)

**Next**: doc-ears