From ai-pm-copilot
Provides user story templates using As-a/I-want/So-that format, Given-When-Then acceptance criteria, story splitting, and INVEST criteria for agile backlog refinement and requirements definition.
npx claudepluginhub slgoodrich/agents --plugin ai-pm-copilotThis skill uses the workspace's default tool permissions.
Comprehensive templates and frameworks for writing effective user stories with clear acceptance criteria, enabling agile development teams to deliver value incrementally.
Writes user stories from user perspective with acceptance criteria. Use for Agile backlog creation, sprint planning, requirement breakdown, and defining done.
Generates user stories with clear acceptance criteria from product requirements or feature descriptions. Use for sprint planning, writing tickets, or communicating requirements to engineering.
Generates prioritized user stories with Given/When/Then acceptance criteria, story point estimates, epic story mapping, and MoSCoW prioritization for sprint planning and backlogs.
Share bugs, ideas, or general feedback.
Comprehensive templates and frameworks for writing effective user stories with clear acceptance criteria, enabling agile development teams to deliver value incrementally.
A user story is a concise description of a feature from the end-user's perspective. It follows the format: "As a [user], I want [goal], so that [benefit]."
Purpose:
Auto-loaded by agents:
requirements-engineer - For user story formats, epic breakdown, and spike storiesUse when you need:
As a [user type/persona]
I want to [action/goal]
So that [benefit/value]
Example:
As a small business owner
I want to export my invoices as PDF
So that I can send professional-looking invoices to clients
1. User Type/Persona (Who)
2. Action/Goal (What)
3. Benefit/Value (Why)
For detailed guidance on each component, see assets/basic-user-story-template.md.
We provide copy-paste-ready templates for common story types:
Use for: New features, enhancements, user-facing work
Template: assets/feature-story-template.md
Includes:
Use for: Defects, regressions, user-reported issues
Template: assets/bug-fix-story-template.md
Includes:
Use for: Refactoring, code improvements, infrastructure work
Template: assets/technical-debt-story-template.md
Includes:
Use for: Time-boxed investigation, POCs, research tasks
Template: assets/spike-research-story-template.md
Includes:
Use for: Breaking large initiatives into manageable stories
Template: assets/epic-breakdown-template.md
Includes:
Acceptance criteria define when a story is "done." Use one of three formats:
Best for: Complex workflows, state-dependent behavior, testing focus
GIVEN [precondition/context]
WHEN [action/event]
THEN [expected outcome]
Example:
GIVEN I'm on the login page
WHEN I enter valid email and password
THEN I'm redirected to my dashboard
Best for: Simple features, quick validation, straightforward requirements
Acceptance Criteria:
- [ ] [Observable outcome 1]
- [ ] [Observable outcome 2]
- [ ] [Observable outcome 3]
Example:
- [ ] Export button appears on data table
- [ ] Clicking export generates CSV file
- [ ] CSV includes all visible columns
- [ ] CSV filename includes current date
- [ ] Export completes within 5 seconds for up to 10K rows
Best for: Variable scope, prioritization needed, time-constrained sprints
Must: [Critical requirements]
Should: [Important but not critical]
May: [Nice to have]
Comprehensive guide: See references/acceptance-criteria-guide.md for deep dive on writing testable, specific criteria including error states, edge cases, and performance requirements.
Large stories (>5 days or >8 points) should be split into smaller, deliverable pieces.
1. Workflow Steps: Sequential process steps (e.g., checkout: cart → shipping → payment → confirmation)
2. CRUD Operations: Create → Read → Update → Delete
3. User Roles: Admin → Manager → Employee → Guest
4. Business Rules: Different variations of logic (e.g., discount types: percentage, fixed amount, BOGO)
5. Simple to Complex: MVP → Advanced features (progressive enhancement)
6. Happy Path vs Edge Cases: Success scenarios → Error handling
7. Data Variations: Different formats, sizes, types
8. Platform/Device: Desktop → Tablet → Mobile
9. Performance Tiers: 1-5 users → 6-20 users → 21-100 users
10. Interface vs API: Backend → Frontend → Integration
Best practice: Use vertical slicing (complete feature through all layers) vs horizontal slicing (one layer across many features).
Comprehensive guide: See references/story-splitting-guide.md for detailed examples, anti-patterns, and decision trees.
Good user stories follow the INVEST principles:
I - Independent: Can be developed without dependency on other stories N - Negotiable: Details flexible, focuses on outcome not implementation V - Valuable: Delivers clear value to user or business E - Estimable: Team can estimate effort with reasonable confidence S - Small: Fits in one sprint (1-5 days) T - Testable: Clear acceptance criteria that can be verified
If a story fails any INVEST criterion, it should be rewritten or split.
Comprehensive guide: See references/invest-criteria-guide.md for deep dive on each principle with examples, anti-patterns, and fixing strategies.
DO:
DON'T:
As a free trial user
I want to see how many days remain in my trial
So that I can decide when to upgrade
Acceptance Criteria:
- [ ] Days remaining appears in header
- [ ] Warning shows when <7 days remain
- [ ] "Upgrade" CTA appears with countdown
- [ ] Counter updates daily at midnight
As the system
I want to implement a counter using React hooks
So that the trial days feature works
[No acceptance criteria]
DO:
Good Example:
- [ ] Search completes within 2 seconds for datasets <10K records
- [ ] Loading spinner shows while search is processing
- [ ] Error message appears if search fails
- [ ] No results message shows when query returns 0 items
- [ ] Search results highlight matching keywords
Bad Example:
- Search feature works
- UI looks good
- Performance is acceptable
Too technical:
Too large:
Implementation-focused:
Missing acceptance criteria:
Vague:
prd-templates - Product requirements documentation that feeds into user storiesspecification-techniques - General specification writing best practicesprioritization-methods - Prioritizing stories for sprint planningCopy-paste these for immediate use:
assets/basic-user-story-template.md - Simple story format with guidanceassets/feature-story-template.md - Full-featured story with DoDassets/bug-fix-story-template.md - Bug tracking and resolutionassets/technical-debt-story-template.md - Technical improvementsassets/spike-research-story-template.md - Time-boxed researchassets/epic-breakdown-template.md - Epic to stories breakdownWhen you need comprehensive guidance:
references/story-splitting-guide.md - 10 splitting patterns with examples, anti-patterns, decision treesreferences/acceptance-criteria-guide.md - Writing testable criteria, all three formats, common mistakesreferences/invest-criteria-guide.md - Deep dive on each INVEST principle with examples and fixesFor new features:
assets/feature-story-template.mdreferences/acceptance-criteria-guide.md if needed)references/story-splitting-guide.mdFor bugs:
assets/bug-fix-story-template.mdFor research:
assets/spike-research-story-template.mdKey Principle: Great user stories are conversations, not contracts. They enable collaboration while providing enough structure to guide development, testing, and acceptance.