Generate a full Product Requirements Document (PRD.md) from accepted PDRs using multi-agent DAG orchestration. Reads individual PDR files, generates PRD sections from templates, validates output, and promotes accepted PDRs to memory. Use after /product-clarify.
npx skills add https://github.com/tikalk/adlc-team-skills --skill product-implement
Transforms accepted PDRs into a comprehensive, self-contained PRD.md using a three-phase DAG:
PRD.mdOutput:
PRD.md (repo root) — self-contained product requirements{REPO_ROOT}/.adlc/product/sections/{feature-area}/{section}.md — intermediate section files{REPO_ROOT}/.adlc/memory/pdr//product-clarify has approved PDRs/product-init to document existing product/product-clarify first)PRD.md directly)Before starting, verify prerequisites:
{REPO_ROOT}/.adlc/drafts/pdr/PDR-*.md Cannot proceed: No Accepted PDRs found.
Run /product-clarify to review and approve PDRs first.
┌─────────────────────────────────────────────────────────┐
│ PHASE 1: PLAN (Plan Agent) │
│ Load PDRs → Detect Feature-Areas → Generate DAG → Approve│
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ PHASE 2: EXECUTE (Execute Agent) │
│ Overview → Problem → Goals → Metrics → Personas │
│ → [REQUIREMENTS CHECKPOINT] ← MANDATORY USER APPROVAL │
│ → NFRs → Out-of-Scope → Risks → Roadmap → PDR-Summary │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ PHASE 3: SUMMARIZE (Summarize Agent) │
│ Read sections → Detect conflicts → Resolve → PRD.md │
└─────────────────────────────────────────────────────────┘
Step 1.1: Load and Analyze PDRs
PDR-*.md files from .adlc/drafts/pdr/Step 1.2: Detect Feature-Area Characteristics
| Characteristic | Detection Pattern | DAG Customization |
|---------------|-------------------|-------------------|
| B2B SaaS | Enterprise, admin, SSO | Include compliance sections |
| Consumer App | Mobile, freemium, social | Simplify requirements |
| Platform | API, integrations, developer | Expand NFRs |
| Marketplace | Multi-sided, transaction | Add business model sections |
Step 1.3: Generate Customized DAG
Default DAG (all 15 sections):
Document Information → Executive Summary → Overview → Problem
→ Market Opportunity → Goals → Metrics → Personas
→ [CHECKPOINT: Requirements]
→ NFRs → Out-of-Scope → Risks → Investment
→ Roadmap → Go-to-Market → PDR-Summary
Section numbering (fixed):
Step 1.4: Present Plan for Approval
## DAG Execution Plan
**Feature-Areas detected**: 3
**Total sections**: 15
**Feature-Area: Core**
**PDRs**: PDR-001, PDR-005, PDR-008
**DAG**: Document Info → Executive Summary → Overview → Problem
→ Market Opportunity → Goals → Metrics → Personas
→ [Requirements Checkpoint] → NFRs → Out-of-Scope → Risks
→ Investment → Roadmap → GTM → PDR-Summary
**Approve this plan?** [Yes/Modify/Cancel]
Step 1.5: Write state.json
{
"version": "1.0",
"phase": "plan_approved",
"feature_areas": [
{
"id": "core",
"name": "Core",
"pdrs": ["PDR-001", "PDR-005"],
"dag": ["document-info", "executive-summary", "overview", "problem", ...],
"progress": {}
}
],
"checkpoint": {
"enabled": true,
"after_section": "requirements",
"status": "pending"
}
}
For each section in the DAG:
templates/sections/{section}.md.adlc/product/sections/{feature-area}/{section}.mdscripts/bash/validate-prd.sh {section}.mdSection template usage (MANDATORY):
In-section diagrams (MANDATORY):
mermaid ` code blocksflowchart keyword (NOT deprecated graph)| Section | Diagram Type | Subsection |
|---------|-------------|------------|
| 2. Overview | Feature Hierarchy (flowchart TD) | 2.4 |
| 2. Overview | Architecture (flowchart TB) | 2.5 |
| 6. Personas | User Journey (journey) | 6.4 |
| 7. Requirements | Req Dependencies (flowchart LR) | 7.4 |
| 7. Requirements | Feature Dependencies (flowchart LR) | 7.5 |
| 11. Roadmap | Gantt Chart (gantt) | 11.1 |
Requirements Checkpoint (MANDATORY):
After generating Requirements section:
## CHECKPOINT: Requirements Section Complete
The Requirements section has been generated.
**Why checkpoint here?** Requirements shapes:
- NFRs (how requirements are met)
- Out-of-Scope (what's NOT required)
- Risks (technical feasibility)
- Roadmap (priority and sequencing)
**Options**:
A) Approve — Continue to remaining sections
B) Modify — Edit requirements, then continue
C) Restart — Regenerate from Problem phase
D) Cancel — Stop execution
Step 3.1: Read All Sections FROM DISK
> CRITICAL: Read each section file from filesystem. Do NOT use content from memory.
.adlc/product/sections/ for all .md filesStep 3.2: Detect Cross-Feature-Area Conflicts
| Conflict Type | Detection | Resolution |
|--------------|-----------|------------|
| Duplicate requirements | Same requirement, different wording | Standardize to PDR terminology |
| Priority mismatch | Same feature, different priority | Defer to PDR |
| Metric inconsistency | Same metric, different definition | Use PDR definition |
Step 3.3: Aggregate into PRD.md
> CRITICAL: PRD.md MUST be SELF-CONTAINED.
> - ALL diagrams embedded IN-SECTION
> - ZERO reader-facing links to .adlc/ paths
> - Use in-document anchors only: Section 2.4
> - PDR references as plain text: PDR-078 (NOT linked)
PRD structure (must match template):
# Product Requirements Document: [Product Name]
## 1. Document Information
[Quick Stats, revision history, approval]
## 1.5 Executive Summary
[Business case, ROI, recommendation]
## 2. Overview
[Product description, scope]
### 2.4 Feature Hierarchy [MERMAID flowchart TD]
### 2.5 Architecture Overview [MERMAID flowchart TB]
## 3. The Problem
[Problem statement, validation evidence]
## 3.5 Market Opportunity
[TAM/SAM/SOM, competitive landscape]
## 4. Goals & Objectives
[Primary, technical, business goals traced to PDRs]
## 5. Success Metrics
[Adoption, engagement, quality]
### 5.5 Business Outcome Metrics
### 5.6 Financial Metrics
## 6. Personas
[Primary, secondary, anti-personas]
### 6.4 User Journey [MERMAID journey]
## 7. Functional Requirements [CHECKPOINT]
[User stories, REQ-XXX IDs, priority matrix]
### 7.4 Requirement Dependencies [MERMAID flowchart LR]
### 7.5 Feature Dependencies [MERMAID flowchart LR]
## 8. Non-Functional Requirements
[Performance, security, reliability, scalability]
## 9. Out of Scope
[Feature, technical, market exclusions]
## 10. Risks & Mitigation
[Risk summary, technical, market, operational]
### 10.4 Business Risks
## 10.5 Investment & Resources
[Team, budget, ROI, go/no-go criteria]
## 11. Roadmap & Milestones
### 11.1 Roadmap Overview [MERMAID gantt]
[Milestone details with demo sentences]
### 11.2 Milestone Gates & Progress
[Per milestone: done-means definition, feature rollup, gate table, issue/evidence status — sourced from milestone PDRs]
## 11.5 Go-to-Market Strategy
[Launch phases, pricing, messaging]
## 12. PDR Summary
[Key decisions, constitution alignment — NO external links]
Step 4.1: Move Accepted PDRs to Memory
For each PDR with status "Accepted":
.adlc/drafts/pdr/PDR-{NNN}.md.adlc/memory/pdr/PDR-{NNN}.mdStep 4.2: Clean Up Drafts
.adlc/drafts/pdr/pdr.md indexStep 4.3: Update state.json
{
"phase": "completed",
"pdr_lifecycle": {
"pdrs_promoted": [N],
"memory_pdr_written": true,
"drafts_retained": true,
"drafts_reason": "Proposed/Discovered PDRs remain"
}
}
Before marking complete, verify ALL checks:
| # | Check | Expected |
|---|-------|----------|
| 1 | Section files on disk | N files in .adlc/product/sections/ |
| 2 | PRD.md exists | Yes |
| 3 | PRD.md content size | >200 lines |
| 4 | PRD.md has all sections | Sections 1-12 + sub-sections |
| 5 | PRD.md is self-contained | 0 .adlc/ links |
| 6 | Diagrams embedded | ≥4 mermaid blocks |
| 7 | Memory PDRs written | .adlc/memory/pdr/PDR-*.md exist |
| 8 | state.json consistent | All sections "completed" |
Gate Rule: If ANY check fails → do NOT mark as completed. Report failures.
PDR_DRAFTS_DIR — {REPO_ROOT}/.adlc/drafts/pdrPDR_MEMORY_DIR — {REPO_ROOT}/.adlc/memory/pdrPRD_FILE — {REPO_ROOT}/PRD.mdSECTIONS_DIR — {REPO_ROOT}/.adlc/product/sectionsSTATE_FILE — {REPO_ROOT}/.adlc/product/state.json| Rationalization | Reality |
|-----------------|---------|
| "I'll skip the checkpoint and just generate everything." | Requirements shapes NFRs, Out-of-Scope, Risks, and Roadmap. Skipping the checkpoint risks cascading errors. |
| "The PRD can reference section files." | PRD.md MUST be self-contained. External references break when section files are moved or deleted. |
| "I don't need to move PDRs to memory." | Without promotion, drafts and memory diverge. The next clarify session sees stale data. |
.adlc/ links in PRD.md — breaks self-containment; readers cannot follow internal paths..adlc/ links in PRD.md.adlc/memory/pdr/Take tikalk/product-implement from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.