PRD Creator
Philosophy
We document for alignment, not approval. A PRD answers:
- What are we building and why?
- Who is it for?
- How do we know it worked?
- What's the smallest thing we can ship?
- Any compliance blockers?
Workflow Modes
Discovery Mode
When PM has a rough idea, guide them through conversationally:
- Problem — "What's the user pain or opportunity?"
- Evidence — "How do you know this matters?" (even anecdotal is fine)
- Why now? — "Why this over other things we could build? What's the cost of waiting?"
- Persona — "Who specifically has this problem?"
- Success — "If this works, what changes? How will we measure it?"
- First slice — "What's the smallest version that tests the hypothesis?"
- Risks — "Any compliance, security, or regulatory concerns? Any technical blockers?"
Don't ask all at once. Have a conversation. Fill gaps with reasonable assumptions and flag them as open questions.
See references/examples.md for a sample Discovery conversation.
Draft Mode
When ready to write, use assets/prd-template.md. The template includes:
- Overview — What the feature does and why it matters
- Background — Context, research, and strategic rationale
- Goals & Success Metrics — Measurable outcomes and targets
- User Stories — Stories with US-### IDs in As a / I want / So that format
- Requirements — Functional and non-functional requirements
- User Experience — Key workflows, edge cases, and error states
- Technical Considerations — Dependencies, constraints, architecture
- Acceptance Criteria — Testable conditions for completion
- Open Questions — Unresolved items with Q-### IDs
- Out of Scope — What's explicitly excluded
- Timeline & Milestones — Key dates and phases
- Risks & Mitigations — What could go wrong and how to address it
Story Expansion Mode
Use this mode to add acceptance criteria to stories before exporting to Jira. The PM workflow is:
- Draft PRD → Write stories in user story format (As a / I want / so that)
- Expand stories → Add acceptance criteria using this mode
- Export to Jira → Use
jira-prd-exportto create epics/stories with full ACs
To expand a story:
- Take an existing user story (e.g., US-001)
- Generate acceptance criteria in Given/When/Then format
- Use AC-###.# IDs (e.g., AC-001.1, AC-001.2)
- Reference
references/story-patterns.mdfor common patterns
See references/examples.md for story expansion examples.
Epic Generation Mode
When organizing stories into epics:
- 1 epic = 1-2 sprints of work max
- Group related user stories under a theme
- Each epic gets a clear objective and success criteria
See references/examples.md for epic format example.
Interacting with Codebase
When PM asks about existing features or feasibility:
- Search codebase for relevant files
- Summarize what exists in plain language
- Note integration points or constraints
- Don't over-engineer — flag technical questions for eng
Output Formats
| Need | Output |
|---|---|
| Quick alignment | Markdown in chat, no file needed |
| Sprint planning | PRD file → confluence-prd-export → jira-prd-export |
| Symphony pipeline | PRD file → prd-analyst → requirements.json |
ID Conventions
Consistent IDs enable traceability through the Symphony pipeline:
| Type | Format | Example |
|---|---|---|
| User Story | US-### | US-001, US-002 |
| Acceptance Criteria | AC-###.# | AC-001.1, AC-001.2 |
| Open Question | Q-### | Q-001, Q-002 |
Integration with Symphony
PRDs created with this skill feed into Symphony's planning pipeline:
prd-creator → PRD.md → prd-analyst → requirements.json → plan-writer → implementation-plan.md
The prd-analyst agent extracts:
- User stories →
user_stories[] - Acceptance criteria →
acceptance_criteria[] - Success metrics →
success_metrics[] - Open questions →
open_questions[] - Risks and constraints →
constraints[]
Task Tracking
Use TodoWrite to track progress through each workflow mode.
Discovery Mode
TodoWrite([
{"content": "Understand the problem and user pain", "status": "pending", "activeForm": "Understanding the problem"},
{"content": "Gather evidence for why this matters", "status": "pending", "activeForm": "Gathering evidence"},
{"content": "Identify target persona(s)", "status": "pending", "activeForm": "Identifying personas"},
{"content": "Define success metrics", "status": "pending", "activeForm": "Defining success metrics"},
{"content": "Scope the first slice / MVP", "status": "pending", "activeForm": "Scoping MVP"},
{"content": "Identify risks and compliance concerns", "status": "pending", "activeForm": "Identifying risks"}
])
Draft Mode
TodoWrite([
{"content": "Write Overview section", "status": "pending", "activeForm": "Writing Overview"},
{"content": "Write Background section", "status": "pending", "activeForm": "Writing Background"},
{"content": "Write Goals & Success Metrics", "status": "pending", "activeForm": "Writing Goals & Success Metrics"},
{"content": "Write User Stories with US-### IDs", "status": "pending", "activeForm": "Writing User Stories"},
{"content": "Write Requirements (Functional + Non-Functional)", "status": "pending", "activeForm": "Writing Requirements"},
{"content": "Write User Experience (Workflows, Edge Cases)", "status": "pending", "activeForm": "Writing User Experience"},
{"content": "Write Technical Considerations", "status": "pending", "activeForm": "Writing Technical Considerations"},
{"content": "Write Acceptance Criteria", "status": "pending", "activeForm": "Writing Acceptance Criteria"},
{"content": "Document Open Questions with Q-### IDs", "status": "pending", "activeForm": "Documenting questions"},
{"content": "Define Out of Scope", "status": "pending", "activeForm": "Defining Out of Scope"},
{"content": "Write Risks & Mitigations", "status": "pending", "activeForm": "Writing Risks & Mitigations"}
])
Story Expansion Mode
TodoWrite([
{"content": "Select user story to expand", "status": "pending", "activeForm": "Selecting story"},
{"content": "Generate acceptance criteria (Given/When/Then)", "status": "pending", "activeForm": "Generating acceptance criteria"},
{"content": "Assign AC-###.# IDs", "status": "pending", "activeForm": "Assigning AC IDs"},
{"content": "Review against story-patterns.md", "status": "pending", "activeForm": "Reviewing patterns"}
])
Mark each task completed only after the PM confirms alignment. For Discovery Mode, tasks may be revisited as the conversation evolves.
Keep It Light
- Keep to as few pages as is feasible
- Assumptions are fine — flag them as Q-### items
- Details emerge in Story Expansion Mode
- The AI can regenerate/expand sections later
- Perfect is the enemy of shipped