This skill should be used when the user asks to "create user stories", "write user stories", "break down epic into stories", "define user stories", "what stories do I need", "apply INVEST criteria", "write acceptance criteria", "split a large story", "story is too big", "story splitting", or when decomposing epics into specific, valuable user stories.
Transform epics into actionable user stories using INVEST criteria and splitting techniques. Triggered when users request story creation, epic breakdown, or story splitting for oversized items.
/plugin marketplace add sjnims/requirements-expert/plugin install requirements-expert@requirements-expert-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
examples/example-story-issue.mdexamples/example-story-set.mdreferences/invest-criteria.mdreferences/splitting-techniques.mdreferences/story-template.md| User Intent | Action | Resource |
|---|---|---|
| Reviewing epic first | Understand scope and value | Step 1: Review the Epic |
| Drafting stories | Map user journeys | Steps 2-3: Identify Journeys and Draft Stories |
| Validating stories | Apply INVEST criteria | references/invest-criteria.md |
| Story is too large | Apply splitting techniques | references/splitting-techniques.md |
| Creating story issues | Use template | references/story-template.md |
| Viewing examples | Load sample story set | examples/example-story-set.md |
The /re:create-stories command guides user story creation in GitHub Projects. This skill provides the methodology for writing effective stories—including INVEST criteria validation and splitting techniques for oversized stories. Load this skill for deeper understanding of story creation concepts or when you need guidance beyond what the command provides.
User story creation transforms epics into specific, actionable requirements that describe functionality from a user's perspective. Well-written user stories follow the INVEST criteria and provide clear value while remaining small enough to be completed in a single iteration. This skill guides the process of breaking down epics into high-quality user stories.
User stories serve as the detailed requirements layer:
Ensure user stories:
Epic must exist before creating stories. If no epic exists, use the epic-identification skill first.
As a [user type/persona],
I want [goal/desire],
So that [benefit/value].
Include these components:
Good:
As a marketing manager,
I want to filter campaign data by date range,
So that I can analyze performance for specific time periods.
Poor:
As a user, (too vague—which user?)
I want to see data, (too vague—what data? how?)
So that I can use the app. (no specific benefit)
Apply these guidelines:
Alternative format:
Validate every user story against these criteria. For detailed guidance with examples, see references/invest-criteria.md.
| Letter | Criterion | Question |
|---|---|---|
| I | Independent | Can it be completed without other stories? |
| N | Negotiable | Is there room for discussion on implementation? |
| V | Valuable | Does it deliver clear user/business value? |
| E | Estimable | Can the team estimate the effort? |
| S | Small | Can it be completed in 1-5 days? |
| T | Testable | Are there specific acceptance criteria? |
Key Actions:
Key Actions:
Techniques:
Key Actions:
Start with happy paths:
Then add edge cases and variations:
Verify coverage:
Key Actions:
Validation checklist:
Key Actions:
Given-When-Then Format:
Given [context],
When [action],
Then [expected outcome].
Or simple checklist:
Example:
Story: "User can filter campaigns by date range"
Acceptance Criteria:
Key Actions:
Guidelines:
Key Actions:
Issue Configuration:
references/story-template.mdCustom Fields:
Labels:
type:storypriority:[moscow-level]Parent: Link to Epic issue as parent
Split stories that are too large (more than 1 week of work) using these techniques:
| Technique | When to Use | Example Split |
|---|---|---|
| Workflow Steps | Multi-step process | View → Edit → Delete subscription |
| Operations (CRUD) | Managing entities | Invite, view, remove, change role |
| Business Rules | Multiple conditions | % discount, $ discount, BOGO |
| Happy Path vs. Variations | Simple core + complex edges | Basic upload → Multiple files → Drag & drop |
| Data Variations | Multiple formats/sources | CSV import → Excel → Google Contacts |
| Platforms | Multiple interfaces | In-app → Email → SMS notifications |
| User Roles | Multiple user types | Owner, admin, member views |
| Performance Tiers | Performance-sensitive | Basic → Cached → Optimized |
For detailed guidance and examples for each technique, see references/splitting-techniques.md.
Frame stories around what users see and experience:
Include acceptance criteria for every story:
Convert technical work into tasks within user-facing stories:
Limit each story to a singular focus:
Address quality attributes in stories:
| Pitfall | Problem | Action |
|---|---|---|
| Too Large | Takes weeks, not days | Split using techniques above |
| Too Small | Trivial, just a task | Combine into meaningful story |
| Missing Acceptance Criteria | Cannot verify completion | Add 3-5 specific criteria |
| Pure Technical Story | No user value | Frame in terms of user impact |
Load references as needed:
| Reference | When to Load | Path |
|---|---|---|
| invest-criteria.md | Validating stories against INVEST | references/invest-criteria.md |
| splitting-techniques.md | Story is too large and needs splitting | references/splitting-techniques.md |
| story-template.md | Creating story issue content | references/story-template.md |
Working examples that can be copied and adapted:
| Example | Use Case | Path |
|---|---|---|
| example-story-issue.md | Creating a single story with full detail | examples/example-story-issue.md |
| example-story-set.md | Viewing related stories for an epic | examples/example-story-set.md |
Load these skills when story work reveals needs beyond this skill's scope:
| Story Context | Load Skill | Routing Trigger |
|---|---|---|
| No epics exist or epic scope is unclear | epic-identification | User needs to create or refine epics |
| Stories are complete and user wants tasks | task-breakdown | User is ready to break a story into implementation tasks |
| Story priorities need to be established | prioritization | User needs to apply MoSCoW framework to stories |
| Stories need user or stakeholder validation | requirements-feedback | User needs to gather input on story scope or acceptance criteria |