Generate a comprehensive PRD that defines WHAT to build and WHY.
Arguments
<raw_arguments>$ARGUMENTS</raw_arguments>
- If
--guided: Enable guided discovery (one question at a time) - Otherwise: Batch 3-5 questions upfront
Task Tracking Setup
TASK_TRACKING = config_read("task_tracking.enabled", "false")
If TASK_TRACKING:
PRD_WORKFLOW_ID = "prd-{timestamp}"
PHASE_TASKS = {}
PHASES = [ {num: 1, name: "Clarifying Questions", active: "Gathering requirements"}, {num: 2, name: "Generate PRD", active: "Generating PRD"}, {num: 3, name: "Review & Options", active: "Reviewing PRD"}, {num: 4, name: "Technical Expansion", active: "Expanding technical depth"}, {num: 5, name: "Create Backlog Items", active: "Creating backlog items"} ]
For each P in PHASES: PHASE_TASKS[P.num] = TaskCreate( subject: "Phase {P.num}: {P.name}", activeForm: P.active, metadata: {workflow: PRD_WORKFLOW_ID, phase: P.num} )
Sequential dependencies; phases 4 and 5 both depend on 3 (independent of each other)TaskUpdate(PHASE_TASKS[2], addBlockedBy: [PHASE_TASKS[1]]) TaskUpdate(PHASE_TASKS[3], addBlockedBy: [PHASE_TASKS[2]]) TaskUpdate(PHASE_TASKS[4], addBlockedBy: [PHASE_TASKS[3]]) TaskUpdate(PHASE_TASKS[5], addBlockedBy: [PHASE_TASKS[3]])
---
## Phase 1: Clarifying Questions
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[1], status: "in_progress")
### Default Mode
Use `AskUserQuestion` to ask 3-5 essential questions **in a single batch**:
- **Problem/Goal**: What problem does this solve?
- **Target Users**: Who will use this?
- **MVP Boundaries**: What's the minimum to ship?
- **Success Criteria**: How will we measure success?
- **Technical Context**: Any existing systems to integrate?
### Guided Mode (`--guided`)
Ask questions **ONE AT A TIME**:
1. **Problem/Opportunity** - What problem, who experiences it, how painful?
2. **Solution Concept** - How does your product solve this?
3. **Target Users** - Who specifically, technical level, current workaround?
4. **Core Capabilities** - 3-5 must-have features, what's NOT in v1?
5. **Success Criteria** - How will you know it's working?
6. **Constraints** - Technical, time, resource, dependencies?
After sufficient info, synthesize and confirm before PRD generation.
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[1], status: "completed")
---
## Phase 2: Generate PRD
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[2], status: "in_progress")
Read the PRD template from `assets/prd-template.txt` (relative to this skill file).
Customize with user's answers:
- Fill in problem statement, user personas
- Write user stories with acceptance criteria
- Prioritize features using MoSCoW
- Set success metrics
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[2], status: "completed")
---
## Phase 3: Review & Options
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[3], status: "in_progress")
1. **Save** to `docs/prd/prd-[feature-name].md`
2. **Auto-Preview Check**
AUTO_PREVIEW = config_read("auto_preview", "false")
If AUTO_PREVIEW is "true": Execute `open docs/prd/prd-[feature-name].md`
3. **Present options** via AskUserQuestion:
- **Done (Recommended)** - Balanced PRD is sufficient
- **Expand with technical depth** - Add API, Data Model, Security, Performance sections
- **Revise sections** - Provide feedback on specific sections
- **Review and refine** - Apply document-refinement skill, loop to Phase 3
- **Preview in editor** (if not auto-previewed)
**If "Revise sections":** Loop back to Phase 3 without completing (keep in_progress).
**If "Review and refine":**
Apply document-refinement skill to docs/prd/prd-[feature-name].md → Auto-fix minor issues in PRD file → Present refinement report to user → Loop to Phase 3
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[3], status: "completed")
---
## Phase 4: Technical Expansion (If Requested)
If user selected "Expand with technical depth":
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[4], status: "in_progress")
Else:
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[4], status: "completed")
Skip to Phase 5
Add sections from `assets/technical-expansion.txt`:
- API Specifications (endpoints, schemas, auth)
- Data Model with Mermaid ERD
- Security Considerations (AuthN/AuthZ, OWASP)
- Performance & Scalability (SLOs, scaling strategy)
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[4], status: "completed")
---
## Phase 5: Create Backlog Items (Optional)
If user accepted backlog creation:
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[5], status: "in_progress")
Else:
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[5], status: "completed")
Skip to Output
Offer backlog creation:
- **Create Must Have items** - From Must Have features only
- **Create all items** - From all prioritized features
- **Skip**
If accepted:
1. Read backlog configuration from project CLAUDE.md
2. For each user story/feature:
- Extract title and acceptance criteria
- Set priority (Must=p1, Should=p2, Could=p3)
- Create item using configured backend
If TASK_TRACKING: TaskUpdate(PHASE_TASKS[5], status: "completed")
## Cleanup
If TASK_TRACKING: AUTO_CLEANUP = config_read("task_tracking.auto_cleanup", "true") If AUTO_CLEANUP: For each TASK in PHASE_TASKS.values(): If TASK.status != "completed": TaskUpdate(TASK, status: "completed")
---
## Output
Save to: `docs/prd/prd-[feature-name].md`
Create directory if needed.