Skip to content

Commit fa78eda

Browse files
author
Aodhgan Gleeson
committed
ralphify
1 parent 7565206 commit fa78eda

7 files changed

Lines changed: 1271 additions & 0 deletions

File tree

.agents/skills/prd/SKILL.md

Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
---
2+
name: prd
3+
description: "Generate a Product Requirements Document (PRD) for a new feature. Use when planning a feature, starting a new project, or when asked to create a PRD. Triggers on: create a prd, write prd for, plan this feature, requirements for, spec out."
4+
---
5+
6+
# PRD Generator
7+
8+
Create detailed Product Requirements Documents that are clear, actionable, and suitable for implementation.
9+
10+
---
11+
12+
## The Job
13+
14+
1. Receive a feature description from the user
15+
2. Ask 3-5 essential clarifying questions (with lettered options)
16+
3. Generate a structured PRD based on answers
17+
4. Save to `tasks/prd-[feature-name].md`
18+
19+
**Important:** Do NOT start implementing. Just create the PRD.
20+
21+
---
22+
23+
## Step 1: Clarifying Questions
24+
25+
Ask only critical questions where the initial prompt is ambiguous. Focus on:
26+
27+
- **Problem/Goal:** What problem does this solve?
28+
- **Core Functionality:** What are the key actions?
29+
- **Scope/Boundaries:** What should it NOT do?
30+
- **Success Criteria:** How do we know it's done?
31+
32+
### Format Questions Like This:
33+
34+
```
35+
1. What is the primary goal of this feature?
36+
A. Improve user onboarding experience
37+
B. Increase user retention
38+
C. Reduce support burden
39+
D. Other: [please specify]
40+
41+
2. Who is the target user?
42+
A. New users only
43+
B. Existing users only
44+
C. All users
45+
D. Admin users only
46+
47+
3. What is the scope?
48+
A. Minimal viable version
49+
B. Full-featured implementation
50+
C. Just the backend/API
51+
D. Just the UI
52+
```
53+
54+
This lets users respond with "1A, 2C, 3B" for quick iteration.
55+
56+
---
57+
58+
## Step 2: PRD Structure
59+
60+
Generate the PRD with these sections:
61+
62+
### 1. Introduction/Overview
63+
Brief description of the feature and the problem it solves.
64+
65+
### 2. Goals
66+
Specific, measurable objectives (bullet list).
67+
68+
### 3. User Stories
69+
Each story needs:
70+
- **Title:** Short descriptive name
71+
- **Description:** "As a [user], I want [feature] so that [benefit]"
72+
- **Acceptance Criteria:** Verifiable checklist of what "done" means
73+
74+
Each story should be small enough to implement in one focused session.
75+
76+
**Format:**
77+
```markdown
78+
### US-001: [Title]
79+
**Description:** As a [user], I want [feature] so that [benefit].
80+
81+
**Acceptance Criteria:**
82+
- [ ] Specific verifiable criterion
83+
- [ ] Another criterion
84+
- [ ] Typecheck/lint passes
85+
- [ ] **[UI stories only]** Verify in browser using dev-browser skill
86+
```
87+
88+
**Important:**
89+
- Acceptance criteria must be verifiable, not vague. "Works correctly" is bad. "Button shows confirmation dialog before deleting" is good.
90+
- **For any story with UI changes:** Always include "Verify in browser using dev-browser skill" as acceptance criteria. This ensures visual verification of frontend work.
91+
92+
### 4. Functional Requirements
93+
Numbered list of specific functionalities:
94+
- "FR-1: The system must allow users to..."
95+
- "FR-2: When a user clicks X, the system must..."
96+
97+
Be explicit and unambiguous.
98+
99+
### 5. Non-Goals (Out of Scope)
100+
What this feature will NOT include. Critical for managing scope.
101+
102+
### 6. Design Considerations (Optional)
103+
- UI/UX requirements
104+
- Link to mockups if available
105+
- Relevant existing components to reuse
106+
107+
### 7. Technical Considerations (Optional)
108+
- Known constraints or dependencies
109+
- Integration points with existing systems
110+
- Performance requirements
111+
112+
### 8. Success Metrics
113+
How will success be measured?
114+
- "Reduce time to complete X by 50%"
115+
- "Increase conversion rate by 10%"
116+
117+
### 9. Open Questions
118+
Remaining questions or areas needing clarification.
119+
120+
---
121+
122+
## Writing for Junior Developers
123+
124+
The PRD reader may be a junior developer or AI agent. Therefore:
125+
126+
- Be explicit and unambiguous
127+
- Avoid jargon or explain it
128+
- Provide enough detail to understand purpose and core logic
129+
- Number requirements for easy reference
130+
- Use concrete examples where helpful
131+
132+
---
133+
134+
## Output
135+
136+
- **Format:** Markdown (`.md`)
137+
- **Location:** `tasks/`
138+
- **Filename:** `prd-[feature-name].md` (kebab-case)
139+
140+
---
141+
142+
## Example PRD
143+
144+
```markdown
145+
# PRD: Task Priority System
146+
147+
## Introduction
148+
149+
Add priority levels to tasks so users can focus on what matters most. Tasks can be marked as high, medium, or low priority, with visual indicators and filtering to help users manage their workload effectively.
150+
151+
## Goals
152+
153+
- Allow assigning priority (high/medium/low) to any task
154+
- Provide clear visual differentiation between priority levels
155+
- Enable filtering and sorting by priority
156+
- Default new tasks to medium priority
157+
158+
## User Stories
159+
160+
### US-001: Add priority field to database
161+
**Description:** As a developer, I need to store task priority so it persists across sessions.
162+
163+
**Acceptance Criteria:**
164+
- [ ] Add priority column to tasks table: 'high' | 'medium' | 'low' (default 'medium')
165+
- [ ] Generate and run migration successfully
166+
- [ ] Typecheck passes
167+
168+
### US-002: Display priority indicator on task cards
169+
**Description:** As a user, I want to see task priority at a glance so I know what needs attention first.
170+
171+
**Acceptance Criteria:**
172+
- [ ] Each task card shows colored priority badge (red=high, yellow=medium, gray=low)
173+
- [ ] Priority visible without hovering or clicking
174+
- [ ] Typecheck passes
175+
- [ ] Verify in browser using dev-browser skill
176+
177+
### US-003: Add priority selector to task edit
178+
**Description:** As a user, I want to change a task's priority when editing it.
179+
180+
**Acceptance Criteria:**
181+
- [ ] Priority dropdown in task edit modal
182+
- [ ] Shows current priority as selected
183+
- [ ] Saves immediately on selection change
184+
- [ ] Typecheck passes
185+
- [ ] Verify in browser using dev-browser skill
186+
187+
### US-004: Filter tasks by priority
188+
**Description:** As a user, I want to filter the task list to see only high-priority items when I'm focused.
189+
190+
**Acceptance Criteria:**
191+
- [ ] Filter dropdown with options: All | High | Medium | Low
192+
- [ ] Filter persists in URL params
193+
- [ ] Empty state message when no tasks match filter
194+
- [ ] Typecheck passes
195+
- [ ] Verify in browser using dev-browser skill
196+
197+
## Functional Requirements
198+
199+
- FR-1: Add `priority` field to tasks table ('high' | 'medium' | 'low', default 'medium')
200+
- FR-2: Display colored priority badge on each task card
201+
- FR-3: Include priority selector in task edit modal
202+
- FR-4: Add priority filter dropdown to task list header
203+
- FR-5: Sort by priority within each status column (high to medium to low)
204+
205+
## Non-Goals
206+
207+
- No priority-based notifications or reminders
208+
- No automatic priority assignment based on due date
209+
- No priority inheritance for subtasks
210+
211+
## Technical Considerations
212+
213+
- Reuse existing badge component with color variants
214+
- Filter state managed via URL search params
215+
- Priority stored in database, not computed
216+
217+
## Success Metrics
218+
219+
- Users can change priority in under 2 clicks
220+
- High-priority tasks immediately visible at top of lists
221+
- No regression in task list performance
222+
223+
## Open Questions
224+
225+
- Should priority affect task ordering within a column?
226+
- Should we add keyboard shortcuts for priority changes?
227+
```
228+
229+
---
230+
231+
## Checklist
232+
233+
Before saving the PRD:
234+
235+
- [ ] Asked clarifying questions with lettered options
236+
- [ ] Incorporated user's answers
237+
- [ ] User stories are small and specific
238+
- [ ] Functional requirements are numbered and unambiguous
239+
- [ ] Non-goals section defines clear boundaries
240+
- [ ] Saved to `tasks/prd-[feature-name].md`

0 commit comments

Comments
 (0)