user-stories
Break PRDs into user stories with acceptance criteria. Use when preparing work for development.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
User Stories
Break requirements into implementable user stories with clear acceptance criteria.
When to Use
- After PRD is approved
- When preparing work for sprint/cycle
- When requirements need further breakdown
- Before creating backlog tasks
Dependencies
-
prd.md - PRD must exist
- Check:
projects/{project}/docs/prd/{feature}.md
- Check:
Book Triggers
Reference: [[books/software-craft.md]]
- Apply "User Story Mapping" techniques
- Use INVEST criteria for story quality
Reference: [[books/product-innovation.md]]
- Apply "Inspired" user story principles
User Story Format
Standard Format
As a [user type]
I want to [action]
So that [benefit]
With Acceptance Criteria
### [Story Title]
**As a** [user type]
**I want to** [action]
**So that** [benefit]
**Acceptance Criteria:**
- [ ] Given [context], when [action], then [result]
- [ ] Given [context], when [action], then [result]
- [ ] [Additional criterion]
**Notes:**
[Any additional context or constraints]
INVEST Criteria
Every story should be:
| Criterion | Question | Bad Example | Good Example |
|---|---|---|---|
| Independent | Can it be built alone? | "After login is done..." | Self-contained story |
| Negotiable | Is scope flexible? | Fixed implementation | Outcome-focused |
| Valuable | Does it deliver value? | "Refactor database" | User-facing benefit |
| Estimable | Can we size it? | "Improve performance" | Specific, bounded |
| Small | Fits in one sprint? | Multi-month epic | 1-5 day story |
| Testable | Can we verify done? | "Make it better" | Clear acceptance criteria |
Breaking Down Stories
From PRD to Stories
-
Identify user types
- Who interacts with this feature?
- What are their distinct needs?
-
Map user journeys
- What steps does each user take?
- Each step may be a story
-
Apply INVEST
- Is each story independent?
- Is each story small enough?
-
Add acceptance criteria
- How do we know it's done?
- What are the edge cases?
Story Splitting Techniques
When a story is too large:
| Technique | Example |
|---|---|
| By user type | "Admin can..." vs "User can..." |
| By workflow step | "User starts..." then "User completes..." |
| By data variation | "With single item..." vs "With multiple items..." |
| By interface | "Via web..." vs "Via API..." |
| By operation | "Create..." then "Edit..." then "Delete..." |
Acceptance Criteria Patterns
Given-When-Then (BDD)
Given [precondition/context]
When [action is taken]
Then [expected result]
Example:
Given I am logged in as an admin
When I click "Delete User"
Then I see a confirmation dialog
And the user is not deleted until I confirm
Checklist Style
**Acceptance Criteria:**
- [ ] Form validates email format
- [ ] Error message appears below invalid field
- [ ] Submit button is disabled until all required fields are valid
- [ ] Success message appears after submission
Rule-Based
**Rules:**
- Password must be at least 8 characters
- Password must contain one uppercase letter
- Password must contain one number
- User sees specific error for each failed rule
Story Output Template
# User Stories: [Feature Name]
## Context
**PRD:** [Link to PRD]
**Epic:** [Parent epic if applicable]
## Stories
### US-001: [Story Title]
**As a** [user type]
**I want to** [action]
**So that** [benefit]
**Acceptance Criteria:**
- [ ] [Criterion 1]
- [ ] [Criterion 2]
- [ ] [Criterion 3]
**Size:** S / M / L
**Priority:** Must / Should / Could
---
### US-002: [Story Title]
**As a** [user type]
**I want to** [action]
**So that** [benefit]
**Acceptance Criteria:**
- [ ] [Criterion 1]
- [ ] [Criterion 2]
**Size:** S / M / L
**Priority:** Must / Should / Could
---
## Dependencies
[Story dependency map if applicable]
## Open Questions
- [ ] [Question about requirements]
Quality Checklist
For each story:
- Follows "As a... I want... So that..." format
- Passes INVEST criteria
- Has 2-5 acceptance criteria
- Acceptance criteria are testable
- Sized appropriately (fits in sprint)
- Priority assigned
For the story set:
- Covers all PRD requirements
- No orphan stories (all map to PRD)
- Dependencies identified
- Stories are independent where possible
Integration
With prd.md
- Stories implement PRD requirements
- Each PRD requirement → one or more stories
With backlog.md
- Stories become backlog items
- Prioritization happens at backlog level
With engineering
- Stories are the unit of work
- Acceptance criteria define "done"
Anti-Patterns
- Technical stories - "Refactor X" isn't a user story (make it a task)
- Giant stories - If it takes weeks, break it down
- Missing criteria - No acceptance criteria = undefined "done"
- Vague criteria - "Works correctly" isn't testable
- Dependent stories - Stories should be independent when possible
- Solution in story - "Using React" - story describes what, not how
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-26
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!