Use when translating a product idea, feature request, or stakeholder requirement into a structured PRD with user stories, acceptance criteria, and GitHub issues.
82%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Transform product ideas into structured, implementable PRDs with user stories, acceptance criteria, and issue decomposition - bridging the gap between stakeholder intent and developer action.
Target: $ARGUMENTS
@product or @analyst needs a structured output format/plan for features that need formal requirements/debug)/plan directly)/brainstorm first)# Find related modules, components, services
grep -rl "$KEYWORD" src/ --include="*.ts" --include="*.tsx" --include="*.vue" --include="*.svelte" 2>/dev/null | head -20Output:
## 1. Problem & Scope
**Problem:** [Clear problem statement with evidence]
**Users:** [Primary: ..., Secondary: ...]
**Success Criteria:**
- [ ] [Measurable outcome 1]
- [ ] [Measurable outcome 2]
**In Scope:** [what's included]
**Out of Scope:** [what's explicitly excluded]
**Existing Code:** [related modules found in codebase]BLOCKED until problem statement is clear and measurable.
For each story:
### US-[N]: [Story Title]
**As a** [persona],
**I want** [action],
**So that** [benefit].
**Priority:** Must Have | Should Have | Could Have | Won't Have
**Acceptance Criteria:**
```gherkin
GIVEN [precondition]
WHEN [action]
THEN [expected result]
GIVEN [precondition]
WHEN [error condition]
THEN [error handling]**BLOCKED** until at least 3 user stories with Gherkin criteria exist.
### Step 3: Requirements Matrix
1. **Functional requirements** - What the system must do
2. **Non-functional requirements** - Performance, security, accessibility, i18n
3. **Technical constraints** - Stack, infrastructure, API compatibility
4. **Dependencies** - External services, other teams, data sources
**Output:**
```markdown
## 3. Requirements Matrix
### Functional
| ID | Requirement | Priority | Story |
|----|------------|----------|-------|
| FR-1 | [requirement] | Must | US-1 |
### Non-Functional
| ID | Requirement | Target | Measurement |
|----|------------|--------|-------------|
| NFR-1 | Response time | < 200ms p95 | Load test |
| NFR-2 | Accessibility | WCAG AA | Axe audit |
### Constraints
- [Technical constraint 1]
- [Infrastructure constraint]
### Dependencies
- [External service/team]# Identify existing patterns, services, utilities
find src/ -type f -name "*.ts" -o -name "*.tsx" | head -50
# Check for existing API routes
find src/ -path "*/api/*" -name "*.ts" 2>/dev/null | head -20
# Check for existing types/interfaces
grep -rn "interface\|type " src/types/ 2>/dev/null | head -20Output:
## 4. Technical Feasibility
**Reusable:** [existing modules/patterns to leverage]
**New infrastructure:** [tables, APIs, services needed]
**Integration points:** [existing code that needs changes]
**Risks:** [breaking changes, migrations, data concerns]Output:
## 5. Issue Breakdown
| # | Issue Title | Size | Depends On | Agent |
|---|------------|------|------------|-------|
| 1 | Create [model/schema] | S | - | @data |
| 2 | Implement [API endpoint] | M | #1 | @api |
| 3 | Build [UI component] | M | #2 | @builder |
| 4 | Add [tests] | M | #3 | @tester |
| 5 | Add [observability] | S | #2 | @builder |
**Critical Path:** #1 → #2 → #3 → #4
**Parallelizable:** #5 can run alongside #3-#4docs/PRD-[feature-name].mdIf the user requests it, create issues:
# Create issues from the breakdown
gh issue create --title "[Issue Title]" --body "[Description with acceptance criteria]" --label "feature,[size]"Before claiming the PRD is complete:
docs/PRD-[name].md| Excuse | Reality |
|---|---|
| "Requirements are in my head" | Unwritten requirements become misunderstood requirements. Write them down. Memory is not documentation. |
| "We can figure out scope during development" | Scope creep costs 3-10x more than upfront definition. Define it now. |
| "User stories are too formal" | Stories are negotiable contracts, not bureaucracy. They prevent the rework that comes from verbal specs. |
| "The PRD will be outdated immediately" | A living document beats no document. Update as you learn. Outdated > nonexistent. |
| "Just tell the developer what to build" | Developers need acceptance criteria, not verbal instructions that get lost between Slack messages. |
| "NFRs are obvious, we don't need to write them" | "Fast" means 50ms to one person and 2s to another. Write the number. |
| "We'll add acceptance criteria later" | Criteria written after implementation are just documentation, not specifications. Write them first. |
──── /prd ────
Feature: $ARGUMENTS
Problem: [1-line problem statement]
Users: [primary persona]
Stories: [N] (Must: X, Should: Y, Could: Z)
Requirements:
Functional: N
Non-Functional: N
Constraints: N
Issues: N (S: X, M: Y, L: Z)
Critical Path: [issue chain]
PRD saved: docs/PRD-[name].md
Issues created: [N] (if requested)
──── Ready for /plan ────fernandezbaptiste/specialist-agent
cd716d9
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.