Nimble PRD Creation
Documentation Source
Reference Nimble's Compass documentation. Fetch the latest from:
Core Principles
- Outcome Over Process: State what success looks like, not how to do the work
- Context First, Details Second: Lead with the problem and why it matters
- Structured for Parsing: Use consistent sections and explicit logic that both AI and humans can understand
- Minimal but Complete: Include everything needed to build, exclude everything else
- Decisions, Not Debates: Document what we're doing and why
PRD Structure
Follow this structure for every PRD:
1. Overview
PRD ID (Required)
- Format:
UPPERCASE-WITH-HYPHENS
- Keep it concise (2-4 words max)
- Make it descriptive of the feature/domain
- Examples:
AUTH-PWD-RESET, CHECKOUT-FLOW, ADMIN-DASH, USER-PROFILE
- Used as prefix for all requirements to ensure global uniqueness
What are we building?
- One clear sentence
- No jargon, no hedging
Why does it matter?
- The business or user problem this solves
- Keep it to 2-3 sentences
Success looks like:
- Concrete, measurable outcomes
- Examples: "Users complete onboarding in under 2 minutes" or "API latency drops below 200ms"
2. Context
Current State
- What exists today
- What's broken, missing, or limiting
User/Business Problem
- Who is affected and how
- Use real scenarios, not hypotheticals
Constraints
- Technical, timeline, resource, or business limitations
Assumptions
- What we're assuming to be true
- Call these out explicitly - if they're wrong, the plan changes
3. Proposed Solution
High-Level Approach
- What we're building and how it works
- Description of the system's behavior, not a detailed spec
Key Components
- Break solution into logical parts
- Examples: "User authentication flow," "Notification engine," "Admin dashboard"
User Flow (if applicable)
- Step-by-step description of user interaction
- Plain language for simple flows
- MUST use Mermaid diagrams for complex flows with branching logic (ensures AI readability)
Technical Approach (if relevant)
- High-level tech decisions: architecture, integrations, data models, APIs
- Just enough to orient the team, not exhaustive
UI/UX Details (if applicable)
- Wireframes/Mockups: Link to Figma, Sketch, or design files
- Key Screens: List of screens/views needed with brief descriptions
4. Scope
In Scope
- What we're delivering in this release
- Be explicit
Out of Scope
- What we're NOT doing and why
- This prevents scope drift
5. Requirements
Functional Requirements
Table format with columns:
- ID:
[PRD-ID]-FR-[NUMBER] (e.g., AUTH-PWD-RESET-FR-001)
- Requirement: What must be built
- Acceptance Criteria: Bullet list starting with action verbs (Accept, Validate, Display, etc.)
- Priority: Must-have / Should-have / Nice-to-have
- User Impact: How this benefits users
Priority Levels:
- Must-have: Core functionality, blocks release without it
- Should-have: Important but can be deferred if needed
- Nice-to-have: Desirable but not critical
Non-Functional Requirements
Table format with columns:
- ID:
[PRD-ID]-NFR-[NUMBER] (e.g., AUTH-PWD-RESET-NFR-001)
- Requirement: Performance, security, compliance requirements
- Acceptance Criteria: How to verify/test (use action verbs)
- Priority: Must-have / Should-have / Nice-to-have
CRUD Operations (if applicable)
Table showing which roles can Create/Read/Update/Delete each entity:
- Entity name
- Create / Read / Update / Delete permissions
- Notes about special handling
Edge Cases
Table format:
- Scenario: What unusual situation might occur
- Expected Behavior: How system should handle it (use action verbs)
- Priority: Must-have / Should-have
6. Roles & Permissions (if applicable)
Table showing which roles can perform which actions:
- Action
- Guest / User / Admin / Other roles
- Notes about special conditions
7. Dependencies
Table format:
- Dependency: What's needed
- Type: Technical / External / Infrastructure
- Owner: Who's responsible
- Status: Complete / In Progress / Pending
AI-Friendly Formatting Rules
To maximize AI effectiveness when augmenting story creation:
- Define unique PRD ID at the top of every document in the Overview section
- Use tables for requirements and dependencies
- MUST use Mermaid diagrams for all visual diagrams and flows (images/screenshots are not AI-readable)
- Label requirements with IDs using consistent format to ensure global uniqueness
- Write acceptance criteria as bullet lists within table cells, starting with verbs
- Use "must/should/may" language in priority column for clear signal
- Keep one requirement per row - don't combine multiple requirements
- Use consistent column headers across all PRDs (AI learns the pattern)
- Separate user impact from technical detail - AI can route these to appropriate story fields
- Include explicit scope boundaries in the Scope section to prevent hallucinated features
Working with This Skill
Step 1: Gather Context
Before creating the PRD, understand:
- What problem are we solving?
- Who is affected?
- What are the constraints?
- What does success look like?
Step 2: Define PRD ID
Create a unique, descriptive PRD ID:
- Use 2-4 words
- UPPERCASE with hyphens
- Describes the feature/domain
- Will be used as prefix for all requirements
Step 3: Start with Overview & Context
Write these sections first:
- What we're building (one sentence)
- Why it matters (2-3 sentences)
- Success metrics (concrete outcomes)
- Current state and problem
- Constraints and assumptions
This ensures the PRD is grounded in real user/business needs.
Step 4: Design the Solution
Document:
- High-level approach
- Key components
- User flow (with Mermaid for complex flows)
- Technical approach (high-level only)
- UI/UX details (wireframes + key screens)
Step 5: Define Scope Boundaries
Be explicit about:
- What IS in scope for this release
- What is NOT in scope and why
Step 6: Write Requirements
For each requirement:
- Assign unique ID with PRD prefix
- Write clear requirement description
- List acceptance criteria starting with action verbs
- Set priority level
- Explain user impact (for FRs)
Don't forget:
- Non-functional requirements (performance, security, compliance)
- CRUD operations table (if applicable)
- Edge cases with expected behaviors
Step 7: Document Roles, Permissions, Dependencies
Complete the PRD with:
- Roles & Permissions table (if applicable)
- Dependencies table with owners and status
Step 8: Quality Check
Before finalizing, verify:
Example Requirement Formats
Good Functional Requirement
| ID |
Requirement |
Acceptance Criteria |
Priority |
User Impact |
| AUTH-PWD-RESET-FR-001 |
Users can request password reset via email |
• Accept email input in form• Validate email format• Display success message regardless of email existence• Send email within 30s if account exists |
Must-have |
Enables self-service account recovery |
Why this is good:
- Unique ID with PRD prefix
- Clear requirement description
- Action verbs in acceptance criteria (Accept, Validate, Display, Send)
- Priority defined
- User impact clearly stated
Good Non-Functional Requirement
| ID |
Requirement |
Acceptance Criteria |
Priority |
| AUTH-PWD-RESET-NFR-001 |
API response time <200ms at p95 |
Verify performance with load test of 1000 concurrent users |
Must-have |
Why this is good:
- Unique ID with PRD prefix
- Measurable requirement
- Action verb in criteria (Verify)
- Testable
Good Edge Case
| Scenario |
Expected Behavior |
Priority |
| Non-existent email provided |
Display success message (don't reveal account status) |
Must-have |
Why this is good:
- Specific scenario
- Clear expected behavior with action verb
- Security consideration documented
- Priority assigned
Common Pitfalls to Avoid
- Forgetting PRD ID: Every PRD must have a unique ID in Overview section
- Inconsistent requirement IDs: All requirements must use
[PRD-ID]-FR-### or [PRD-ID]-NFR-### format
- Acceptance criteria without verbs: "Form accepts" → "Accept email in form"
- Using images instead of Mermaid: AI cannot parse images; always use Mermaid for flows
- Vague success metrics: "Better performance" → "95% of users complete flow in <2 minutes"
- Missing scope boundaries: Always document what's out of scope to prevent drift
- Combining multiple requirements: Keep one requirement per table row
- No user impact: For FRs, always explain how it benefits users
- Missing edge cases: Document how system handles unusual scenarios
- No UI/UX details: Include wireframe links and key screens for frontend work
Tips for Success
- Always fetch latest documentation: The PRD standard may have been updated since this skill was created
- Start with Why: If you can't articulate user problem and business value, the PRD isn't ready
- Use action verbs consistently: Accept, Validate, Display, Send, Verify, etc.
- Link to designs and specs: Don't make developers hunt for information
- Keep requirements atomic: One requirement = one testable outcome
- Document edge cases early: They're often discovered during implementation; capture them upfront
- Get feedback before finalizing: Review with engineering and design teams
- Think about AI consumption: Structure and consistency help AI generate accurate stories
Remember: A good PRD removes ambiguity. It gives engineers what they need to build, designers what they need to create, and AI what it needs to augment PM work with clean, actionable output.
1---2name: nimble-create-prd3description: Guide for creating Product Requirements Documents (PRDs) following Nimble's standard. Use when creating new PRDs, defining requirements, documenting features, or planning product releases. Covers structure, AI-friendly formatting, requirement IDs, and all PRD sections.4---5
6# Nimble PRD Creation
7
8## Documentation Source
9
10Reference Nimble's Compass documentation. Fetch the latest from:
11- **PRD Standard**: https://nimblehq.co/compass/product/technical-documentation/product-requirements-document/
12- **PRD Example**: https://nimblehq.co/compass/product/technical-documentation/product-requirements-document-example/
13
14## Core Principles
15
161. **Outcome Over Process**: State what success looks like, not how to do the work
172. **Context First, Details Second**: Lead with the problem and why it matters
183. **Structured for Parsing**: Use consistent sections and explicit logic that both AI and humans can understand
194. **Minimal but Complete**: Include everything needed to build, exclude everything else
205. **Decisions, Not Debates**: Document what we're doing and why
21
22## PRD Structure
23
24Follow this structure for every PRD:
25
26### 1. Overview
27
28**PRD ID** (Required)
29- Format: `UPPERCASE-WITH-HYPHENS`
30- Keep it concise (2-4 words max)
31- Make it descriptive of the feature/domain
32- Examples: `AUTH-PWD-RESET`, `CHECKOUT-FLOW`, `ADMIN-DASH`, `USER-PROFILE`
33- Used as prefix for all requirements to ensure global uniqueness
34
35**What are we building?**
36- One clear sentence
37- No jargon, no hedging
38
39**Why does it matter?**
40- The business or user problem this solves
41- Keep it to 2-3 sentences
42
43**Success looks like:**
44- Concrete, measurable outcomes
45- Examples: "Users complete onboarding in under 2 minutes" or "API latency drops below 200ms"
46
47### 2. Context
48
49**Current State**
50- What exists today
51- What's broken, missing, or limiting
52
53**User/Business Problem**
54- Who is affected and how
55- Use real scenarios, not hypotheticals
56
57**Constraints**
58- Technical, timeline, resource, or business limitations
59
60**Assumptions**
61- What we're assuming to be true
62- Call these out explicitly - if they're wrong, the plan changes
63
64### 3. Proposed Solution
65
66**High-Level Approach**
67- What we're building and how it works
68- Description of the system's behavior, not a detailed spec
69
70**Key Components**
71- Break solution into logical parts
72- Examples: "User authentication flow," "Notification engine," "Admin dashboard"
73
74**User Flow** (if applicable)
75- Step-by-step description of user interaction
76- Plain language for simple flows
77- **MUST use Mermaid diagrams for complex flows with branching logic** (ensures AI readability)
78
79**Technical Approach** (if relevant)
80- High-level tech decisions: architecture, integrations, data models, APIs
81- Just enough to orient the team, not exhaustive
82
83**UI/UX Details** (if applicable)
84- **Wireframes/Mockups**: Link to Figma, Sketch, or design files
85- **Key Screens**: List of screens/views needed with brief descriptions
86
87### 4. Scope
88
89**In Scope**
90- What we're delivering in this release
91- Be explicit
92
93**Out of Scope**
94- What we're NOT doing and why
95- This prevents scope drift
96
97### 5. Requirements
98
99**Functional Requirements**
100
101Table format with columns:
102- **ID**: `[PRD-ID]-FR-[NUMBER]` (e.g., `AUTH-PWD-RESET-FR-001`)
103- **Requirement**: What must be built
104- **Acceptance Criteria**: Bullet list starting with action verbs (Accept, Validate, Display, etc.)
105- **Priority**: Must-have / Should-have / Nice-to-have
106- **User Impact**: How this benefits users
107
108**Priority Levels:**
109- **Must-have**: Core functionality, blocks release without it
110- **Should-have**: Important but can be deferred if needed
111- **Nice-to-have**: Desirable but not critical
112
113**Non-Functional Requirements**
114
115Table format with columns:
116- **ID**: `[PRD-ID]-NFR-[NUMBER]` (e.g., `AUTH-PWD-RESET-NFR-001`)
117- **Requirement**: Performance, security, compliance requirements
118- **Acceptance Criteria**: How to verify/test (use action verbs)
119- **Priority**: Must-have / Should-have / Nice-to-have
120
121**CRUD Operations** (if applicable)
122
123Table showing which roles can Create/Read/Update/Delete each entity:
124- Entity name
125- Create / Read / Update / Delete permissions
126- Notes about special handling
127
128**Edge Cases**
129
130Table format:
131- **Scenario**: What unusual situation might occur
132- **Expected Behavior**: How system should handle it (use action verbs)
133- **Priority**: Must-have / Should-have
134
135### 6. Roles & Permissions (if applicable)
136
137Table showing which roles can perform which actions:
138- Action
139- Guest / User / Admin / Other roles
140- Notes about special conditions
141
142### 7. Dependencies
143
144Table format:
145- **Dependency**: What's needed
146- **Type**: Technical / External / Infrastructure
147- **Owner**: Who's responsible
148- **Status**: Complete / In Progress / Pending
149
150## AI-Friendly Formatting Rules
151
152To maximize AI effectiveness when augmenting story creation:
153
1541. **Define unique PRD ID** at the top of every document in the Overview section
1552. **Use tables** for requirements and dependencies
1563. **MUST use Mermaid diagrams** for all visual diagrams and flows (images/screenshots are not AI-readable)
1574. **Label requirements with IDs** using consistent format to ensure global uniqueness
1585. **Write acceptance criteria as bullet lists** within table cells, **starting with verbs**
1596. **Use "must/should/may"** language in priority column for clear signal
1607. **Keep one requirement per row** - don't combine multiple requirements
1618. **Use consistent column headers** across all PRDs (AI learns the pattern)
1629. **Separate user impact from technical detail** - AI can route these to appropriate story fields
16310. **Include explicit scope boundaries** in the Scope section to prevent hallucinated features
164
165## Working with This Skill
166
167### Step 1: Gather Context
168
169Before creating the PRD, understand:
170- What problem are we solving?
171- Who is affected?
172- What are the constraints?
173- What does success look like?
174
175### Step 2: Define PRD ID
176
177Create a unique, descriptive PRD ID:
178- Use 2-4 words
179- UPPERCASE with hyphens
180- Describes the feature/domain
181- Will be used as prefix for all requirements
182
183### Step 3: Start with Overview & Context
184
185Write these sections first:
186- What we're building (one sentence)
187- Why it matters (2-3 sentences)
188- Success metrics (concrete outcomes)
189- Current state and problem
190- Constraints and assumptions
191
192This ensures the PRD is grounded in real user/business needs.
193
194### Step 4: Design the Solution
195
196Document:
197- High-level approach
198- Key components
199- User flow (with Mermaid for complex flows)
200- Technical approach (high-level only)
201- UI/UX details (wireframes + key screens)
202
203### Step 5: Define Scope Boundaries
204
205Be explicit about:
206- What IS in scope for this release
207- What is NOT in scope and why
208
209### Step 6: Write Requirements
210
211For each requirement:
2121. Assign unique ID with PRD prefix
2132. Write clear requirement description
2143. List acceptance criteria starting with action verbs
2154. Set priority level
2165. Explain user impact (for FRs)
217
218Don't forget:
219- Non-functional requirements (performance, security, compliance)
220- CRUD operations table (if applicable)
221- Edge cases with expected behaviors
222
223### Step 7: Document Roles, Permissions, Dependencies
224
225Complete the PRD with:
226- Roles & Permissions table (if applicable)
227- Dependencies table with owners and status
228
229### Step 8: Quality Check
230
231Before finalizing, verify:
232- [ ] PRD ID is defined and used consistently in all requirement IDs
233- [ ] "What/Why/Success" clearly stated in Overview
234- [ ] All requirements have unique IDs with PRD prefix
235- [ ] Acceptance criteria start with action verbs
236- [ ] Complex flows use Mermaid diagrams (not images)
237- [ ] UI/UX details include wireframe links and key screens
238- [ ] Scope boundaries are explicit
239- [ ] Priority levels are assigned to all requirements
240- [ ] Edge cases are documented
241- [ ] Dependencies are listed with owners
242
243## Example Requirement Formats
244
245### Good Functional Requirement
246
247| ID | Requirement | Acceptance Criteria | Priority | User Impact |
248|----|-------------|---------------------|----------|-------------|
249| AUTH-PWD-RESET-FR-001 | Users can request password reset via email | • Accept email input in form<br>• Validate email format<br>• Display success message regardless of email existence<br>• Send email within 30s if account exists | Must-have | Enables self-service account recovery |
250
251**Why this is good:**
252- Unique ID with PRD prefix
253- Clear requirement description
254- Action verbs in acceptance criteria (Accept, Validate, Display, Send)
255- Priority defined
256- User impact clearly stated
257
258### Good Non-Functional Requirement
259
260| ID | Requirement | Acceptance Criteria | Priority |
261|----|-------------|---------------------|----------|
262| AUTH-PWD-RESET-NFR-001 | API response time <200ms at p95 | Verify performance with load test of 1000 concurrent users | Must-have |
263
264**Why this is good:**
265- Unique ID with PRD prefix
266- Measurable requirement
267- Action verb in criteria (Verify)
268- Testable
269
270### Good Edge Case
271
272| Scenario | Expected Behavior | Priority |
273|----------|-------------------|----------|
274| Non-existent email provided | Display success message (don't reveal account status) | Must-have |
275
276**Why this is good:**
277- Specific scenario
278- Clear expected behavior with action verb
279- Security consideration documented
280- Priority assigned
281
282## Common Pitfalls to Avoid
283
2841. **Forgetting PRD ID**: Every PRD must have a unique ID in Overview section
2852. **Inconsistent requirement IDs**: All requirements must use `[PRD-ID]-FR-###` or `[PRD-ID]-NFR-###` format
2863. **Acceptance criteria without verbs**: "Form accepts" → "Accept email in form"
2874. **Using images instead of Mermaid**: AI cannot parse images; always use Mermaid for flows
2885. **Vague success metrics**: "Better performance" → "95% of users complete flow in <2 minutes"
2896. **Missing scope boundaries**: Always document what's out of scope to prevent drift
2907. **Combining multiple requirements**: Keep one requirement per table row
2918. **No user impact**: For FRs, always explain how it benefits users
2929. **Missing edge cases**: Document how system handles unusual scenarios
29310. **No UI/UX details**: Include wireframe links and key screens for frontend work
294
295## Tips for Success
296
2971. **Always fetch latest documentation**: The PRD standard may have been updated since this skill was created
2982. **Start with Why**: If you can't articulate user problem and business value, the PRD isn't ready
2993. **Use action verbs consistently**: Accept, Validate, Display, Send, Verify, etc.
3004. **Link to designs and specs**: Don't make developers hunt for information
3015. **Keep requirements atomic**: One requirement = one testable outcome
3026. **Document edge cases early**: They're often discovered during implementation; capture them upfront
3037. **Get feedback before finalizing**: Review with engineering and design teams
3048. **Think about AI consumption**: Structure and consistency help AI generate accurate stories
305
306Remember: A good PRD removes ambiguity. It gives engineers what they need to build, designers what they need to create, and AI what it needs to augment PM work with clean, actionable output.