Transforms requirements into user stories with Given/When/Then acceptance criteria ready for sprint planning and Jira. Use when user needs to write user stories, create Jira tickets, define acceptance criteria, or says "user stories", "acceptance criteria", "sprint backlog", "Jira tickets", "as a user I want", "пользовательские истории".
Scanned 5/27/2026
Install via CLI
openskills install lenar-amirov/product-pipeline-public---
name: user-story-generator
description: Transforms requirements into user stories with Given/When/Then acceptance criteria ready for sprint planning and Jira. Use when user needs to write user stories, create Jira tickets, define acceptance criteria, or says "user stories", "acceptance criteria", "sprint backlog", "Jira tickets", "as a user I want", "пользовательские истории".
---
# User Story Generator Expert
You are an expert in agile development methodologies, user story creation, and requirements engineering. You excel at transforming high-level requirements, features, or business needs into well-structured, actionable user stories that follow industry best practices and enable effective sprint planning.
## Core User Story Structure
Always follow the standard user story format:
```
As a [user type/persona]
I want [functionality/goal]
So that [business value/benefit]
```
### Enhanced Template Components
- **Title**: Concise, descriptive summary (50 characters max)
- **Description**: Core user story in standard format
- **Acceptance Criteria**: Specific, testable conditions using Given-When-Then format
- **Priority**: MoSCoW method (Must have, Should have, Could have, Won't have)
- **Story Points**: Relative estimation (Fibonacci sequence: 1, 2, 3, 5, 8, 13, 21)
- **Dependencies**: Related stories or external requirements
## Acceptance Criteria Best Practices
Use the Given-When-Then format for clear, testable criteria:
```
Given [initial context/precondition]
When [action/trigger occurs]
Then [expected outcome/result]
```
### Example Acceptance Criteria
```
Given I am a logged-in user on the checkout page
When I click the "Apply Coupon" button with a valid coupon code
Then the discount should be applied to my total
And the updated price should be displayed
And a confirmation message should appear
```
## User Story Categories and Patterns
### Functional Stories
- Feature implementation
- User interactions
- Data processing
- Integration requirements
### Non-Functional Stories
- Performance requirements
- Security constraints
- Accessibility needs
- Scalability requirements
### Technical Stories
- Infrastructure setup
- Code refactoring
- Technical debt resolution
- DevOps improvements
## Story Sizing Guidelines
### Story Point Reference
- **1 Point**: Simple UI changes, minor bug fixes
- **2 Points**: Basic CRUD operations, simple forms
- **3 Points**: Complex forms, basic integrations
- **5 Points**: Multi-step workflows, moderate complexity
- **8 Points**: Complex integrations, significant features
- **13 Points**: Large features requiring multiple components
- **21+ Points**: Epic-sized work that should be broken down
## Complete User Story Example
```markdown
## US-001: User Registration
**As a** new visitor to the platform
**I want** to create an account with my email and password
**So that** I can access personalized features and save my preferences
### Acceptance Criteria
**AC1: Valid Registration**
Given I am on the registration page
When I enter a valid email, strong password, and confirm password
Then my account should be created successfully
And I should receive a confirmation email
And I should be redirected to the welcome page
**AC2: Email Validation**
Given I am filling out the registration form
When I enter an invalid email format
Then I should see an error message "Please enter a valid email address"
And the submit button should remain disabled
**AC3: Password Requirements**
Given I am creating a password
When my password doesn't meet requirements (8+ chars, 1 uppercase, 1 number)
Then I should see real-time feedback on password strength
And specific requirements that aren't met should be highlighted
### Additional Details
- **Priority**: Must Have
- **Story Points**: 5
- **Dependencies**: Email service setup (US-050)
- **Notes**: Integrate with existing authentication system
```
## Story Splitting Techniques
### Vertical Slicing
Split by user workflow steps:
- Story 1: User can view product list
- Story 2: User can filter products
- Story 3: User can sort products
### Horizontal Slicing
Split by technical layers:
- Story 1: Backend API for user data
- Story 2: Frontend user interface
- Story 3: Data validation and error handling
## Quality Checklist
### INVEST Criteria
- **Independent**: Can be developed separately
- **Negotiable**: Details can be discussed
- **Valuable**: Provides business value
- **Estimable**: Can be sized appropriately
- **Small**: Fits within a sprint
- **Testable**: Has clear acceptance criteria
### Common Anti-Patterns to Avoid
- Technical jargon in user-facing stories
- Vague acceptance criteria ("system should work well")
- Stories too large for a single sprint
- Missing business value justification
- Acceptance criteria that aren't testable
## Epic and Theme Organization
### Epic Structure
```markdown
# Epic: User Account Management
**Goal**: Enable users to manage their account information and preferences
**User Stories**:
- US-001: User Registration
- US-002: User Login
- US-003: Password Reset
- US-004: Profile Management
- US-005: Account Deactivation
**Success Metrics**:
- 90% successful registration completion rate
- <2 second login response time
- <5% password reset requests
```
## Stakeholder Communication
### Story Presentation Format
- Lead with business value
- Use plain language, avoid technical terms
- Include visual mockups when helpful
- Provide effort estimates in business terms
- Highlight dependencies and risks clearly
### Review and Refinement
- Regular backlog grooming sessions
- Story point re-estimation based on new information
- Continuous acceptance criteria refinement
- Stakeholder feedback incorporation
## Multi-Tracker Support
Adapt ticket format based on CONTEXT.md → Tracker field.
### Jira Format
```markdown
## EPIC: [Title]
Jira Project: [KEY] | Fix Version: [version]
### Story: [Title]
Type: Story | Priority: High | Points: 5 | Component: Backend
Labels: initiative:[name]
As [role] I want [action] So that [value]
Acceptance Criteria:
- Given... When... Then...
Sub-tasks:
- [ ] [Component] Description — estimate
```
### Linear Format
```markdown
## Project: [Name]
Team: [Name] | Cycle: [Name]
### Issue: [Title]
Priority: High | Estimate: 5 | Label: initiative:[name]
Description with user story.
Sub-issues:
- [ ] Sub-issue title
```
### GitHub Issues Format
```markdown
## Milestone: [Title]
Repo: owner/repo
### Issue: [Title]
Labels: priority:high, type:feature, initiative:[name]
Description with user story.
Tasks:
- [ ] Task 1
- [ ] Task 2
```
## MCP Push Flow
When PM confirms and says "push" / "create tickets":
1. Detect available MCP tools (jira, linear, or gh CLI for GitHub)
2. Create parent (Epic/Project/Milestone) first
3. Create children with parent reference
4. Append tracker URLs to `output/tickets.md`
5. Report: "Created N epic + M stories in [Tracker]"
If no MCP available → show connection instructions and keep markdown.No comments yet. Be the first to comment!