PRD Increment Writer
Build a complete PRD through guided discovery, then generate delivery metadata for increment and child epics.
Operating model
- Keep user input minimal: ask for problem/context first.
- Ask follow-up questions only when ambiguity blocks meaningful requirement or epic assignment.
- Use concise question batches (5-8 questions max per round).
- After each round, ask:
Move to the next step?
Mandatory workflow
- Discovery intake
- Capture initial product idea/problem statement from user.
- Capture business context, target user, and core pain point.
- Capture organizational context needed for planning risk:
- Required partner teams (for example Design, Engineering, Data, Security, Legal, GTM, Support)
- Known external dependencies (vendors, platforms, APIs, compliance gates)
- Dependency constraints (lead times, approvals, sequencing constraints)
- Prompt for
fix_version (target release date/version). Do not infer release horizon.
- Structured PRD build
- Generate all standard sections:
- PRD snapshot
- Objective/problem statement
- User needs/motivations
- Success criteria and KPIs
- Use cases and edge cases
- User/job stories
- Scope (in/out)
- Functional requirements (FR IDs)
- Acceptance criteria (AC IDs)
- Non-functional requirements
- Dependencies, risks, mitigations
- Assumptions and open questions
- Consolidated summary and quality rubric
- Increment metadata assignment (Codex-owned)
- Auto-assign increment metadata from PRD scope and dependency depth.
- Do not ask user to assign increment or epics.
- Infer increment as the experience represented by the PRD.
- Generate:
increment_id (slug-style, derived from PRD name)
increment_name (experience-oriented, derived from PRD name)
fix_version (user-provided)
scope_size (S/M/L/XL)
dependency_depth (Low/Medium/High)
xfn_dependencies (array of internal cross-functional dependencies)
external_dependencies (array of external dependencies)
confidence_score (0.00-1.00)
review_required (true when confidence < 0.70)
- Child epic decomposition (Codex-owned)
- Auto-split child epics from user flows and abilities within the experience.
- Cluster FRs/ACs into coherent workstreams (for example UX flow, platform, integrations, reporting).
- Output 3-7 child epics by default.
- For each epic generate:
epic_id (slug-style)
epic_name
rationale
workstream_type (UX Flow / Platform / Integration / Data / Reporting / Governance)
mapped_fr_ids (array)
mapped_ac_ids (array)
dependency_order (integer sequence)
xfn_dependencies (array)
external_dependencies (array)
priority (P0/P1/P2)
confidence_score (0.00-1.00)
review_required (true when confidence < 0.70)
- Traceability and readiness checks
- Ensure every FR and AC maps to at least one child epic.
- Flag unmapped FR/AC as
coverage_gap.
- Provide a readiness summary with blockers and decisions needed.
Output format
Return output using this exact order.
1) PRD Narrative
- Full PRD in standardized section structure with FR/AC IDs.
2) Increment Metadata
- Human-readable summary of assigned increment metadata.
3) Child Epic Plan
- Human-readable list of 3-7 child epics with mapping and dependency order.
4) Dependency Register
- Explicit table of external and XFN dependencies across increment and epics.
- Include: dependency name, type (
XFN or External), owner team, blocking status, lead time risk, and impacted epic IDs.
5) Jira Mapping JSON
Provide a single JSON block with this schema:
{
"increment": {
"increment_id": "string",
"increment_name": "string",
"fix_version": "string",
"scope_size": "S|M|L|XL",
"dependency_depth": "Low|Medium|High",
"xfn_dependencies": [
{
"name": "string",
"owner_team": "string",
"status": "Planned|At Risk|Blocked",
"lead_time_risk": "Low|Medium|High",
"notes": "string"
}
],
"external_dependencies": [
{
"name": "string",
"owner": "string",
"status": "Planned|At Risk|Blocked",
"lead_time_risk": "Low|Medium|High",
"notes": "string"
}
],
"confidence_score": 0.0,
"review_required": false
},
"epics": [
{
"epic_id": "string",
"epic_name": "string",
"rationale": "string",
"workstream_type": "UX Flow|Platform|Integration|Data|Reporting|Governance",
"mapped_fr_ids": ["FR-1"],
"mapped_ac_ids": ["AC-1"],
"dependency_order": 1,
"xfn_dependencies": [],
"external_dependencies": [],
"priority": "P0|P1|P2",
"confidence_score": 0.0,
"review_required": false
}
],
"coverage": {
"unmapped_fr_ids": [],
"unmapped_ac_ids": [],
"coverage_gap": false
}
}
Rules
- Never ask the user to propose increment or epic names.
- Never infer
fix_version; always request it explicitly.
- Always call out external and XFN dependencies, even when inferred with low confidence.
- Use explicit assumptions when details are missing.
- If information is too sparse, produce a best-effort draft and clearly mark low-confidence fields.
- Preserve domain terminology from user context.
- Keep decomposition actionable for Jira import/mapping.
Quality bar
Before finalizing:
- Confirm all required PRD sections are present.
- Confirm 3-7 epics are produced unless explicitly justified.
- Confirm FR/AC traceability is complete or flagged.
- Confirm increment/epic confidence and review flags are included.
1---2name: prd-increment-writer3description: Guide users from a rough product idea to a complete, standardized PRD with minimal user input. Use when a user needs Codex to construct a detailed PRD, auto-assign increment metadata, and auto-split child epics mapped to functional requirements and acceptance criteria for downstream Jira planning.4---567# PRD Increment Writer89Build a complete PRD through guided discovery, then generate delivery metadata for increment and child epics.1011## Operating model1213- Keep user input minimal: ask for problem/context first.14- Ask follow-up questions only when ambiguity blocks meaningful requirement or epic assignment.15- Use concise question batches (5-8 questions max per round).16- After each round, ask: `Move to the next step?`1718## Mandatory workflow19201. Discovery intake21- Capture initial product idea/problem statement from user.22- Capture business context, target user, and core pain point.23- Capture organizational context needed for planning risk:24- Required partner teams (for example Design, Engineering, Data, Security, Legal, GTM, Support)25- Known external dependencies (vendors, platforms, APIs, compliance gates)26- Dependency constraints (lead times, approvals, sequencing constraints)27- Prompt for `fix_version` (target release date/version). Do not infer release horizon.28292. Structured PRD build30- Generate all standard sections:31- PRD snapshot32- Objective/problem statement33- User needs/motivations34- Success criteria and KPIs35- Use cases and edge cases36- User/job stories37- Scope (in/out)38- Functional requirements (FR IDs)39- Acceptance criteria (AC IDs)40- Non-functional requirements41- Dependencies, risks, mitigations42- Assumptions and open questions43- Consolidated summary and quality rubric44453. Increment metadata assignment (Codex-owned)46- Auto-assign increment metadata from PRD scope and dependency depth.47- Do not ask user to assign increment or epics.48- Infer increment as the experience represented by the PRD.49- Generate:50- `increment_id` (slug-style, derived from PRD name)51- `increment_name` (experience-oriented, derived from PRD name)52- `fix_version` (user-provided)53- `scope_size` (S/M/L/XL)54- `dependency_depth` (Low/Medium/High)55- `xfn_dependencies` (array of internal cross-functional dependencies)56- `external_dependencies` (array of external dependencies)57- `confidence_score` (0.00-1.00)58- `review_required` (true when confidence < 0.70)59604. Child epic decomposition (Codex-owned)61- Auto-split child epics from user flows and abilities within the experience.62- Cluster FRs/ACs into coherent workstreams (for example UX flow, platform, integrations, reporting).63- Output 3-7 child epics by default.64- For each epic generate:65- `epic_id` (slug-style)66- `epic_name`67- `rationale`68- `workstream_type` (UX Flow / Platform / Integration / Data / Reporting / Governance)69- `mapped_fr_ids` (array)70- `mapped_ac_ids` (array)71- `dependency_order` (integer sequence)72- `xfn_dependencies` (array)73- `external_dependencies` (array)74- `priority` (P0/P1/P2)75- `confidence_score` (0.00-1.00)76- `review_required` (true when confidence < 0.70)77785. Traceability and readiness checks79- Ensure every FR and AC maps to at least one child epic.80- Flag unmapped FR/AC as `coverage_gap`.81- Provide a readiness summary with blockers and decisions needed.8283## Output format8485Return output using this exact order.8687### 1) PRD Narrative88- Full PRD in standardized section structure with FR/AC IDs.8990### 2) Increment Metadata91- Human-readable summary of assigned increment metadata.9293### 3) Child Epic Plan94- Human-readable list of 3-7 child epics with mapping and dependency order.9596### 4) Dependency Register97- Explicit table of external and XFN dependencies across increment and epics.98- Include: dependency name, type (`XFN` or `External`), owner team, blocking status, lead time risk, and impacted epic IDs.99100### 5) Jira Mapping JSON101Provide a single JSON block with this schema:102103```json104{105 "increment": {106 "increment_id": "string",107 "increment_name": "string",108 "fix_version": "string",109 "scope_size": "S|M|L|XL",110 "dependency_depth": "Low|Medium|High",111 "xfn_dependencies": [112 {113 "name": "string",114 "owner_team": "string",115 "status": "Planned|At Risk|Blocked",116 "lead_time_risk": "Low|Medium|High",117 "notes": "string"118 }119 ],120 "external_dependencies": [121 {122 "name": "string",123 "owner": "string",124 "status": "Planned|At Risk|Blocked",125 "lead_time_risk": "Low|Medium|High",126 "notes": "string"127 }128 ],129 "confidence_score": 0.0,130 "review_required": false131 },132 "epics": [133 {134 "epic_id": "string",135 "epic_name": "string",136 "rationale": "string",137 "workstream_type": "UX Flow|Platform|Integration|Data|Reporting|Governance",138 "mapped_fr_ids": ["FR-1"],139 "mapped_ac_ids": ["AC-1"],140 "dependency_order": 1,141 "xfn_dependencies": [],142 "external_dependencies": [],143 "priority": "P0|P1|P2",144 "confidence_score": 0.0,145 "review_required": false146 }147 ],148 "coverage": {149 "unmapped_fr_ids": [],150 "unmapped_ac_ids": [],151 "coverage_gap": false152 }153}154```155156## Rules157158- Never ask the user to propose increment or epic names.159- Never infer `fix_version`; always request it explicitly.160- Always call out external and XFN dependencies, even when inferred with low confidence.161- Use explicit assumptions when details are missing.162- If information is too sparse, produce a best-effort draft and clearly mark low-confidence fields.163- Preserve domain terminology from user context.164- Keep decomposition actionable for Jira import/mapping.165166## Quality bar167168Before finalizing:169- Confirm all required PRD sections are present.170- Confirm 3-7 epics are produced unless explicitly justified.171- Confirm FR/AC traceability is complete or flagged.172- Confirm increment/epic confidence and review flags are included.173