L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

user-story

user-story

Write well-structured user stories with persona definitions, standard story format (As a... I want... So that...), detailed acceptance criteria, story splitting techniques, and estimation guidance. Produce stories ready for sprint planning. TRIGGER when: user says /user-story, "write user story", "create stories", "user story for", "acceptance criteria", or…

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: user-story description: > Write well-structured user stories with persona definitions, standard story format (As a... I want... So that...), detailed acceptance criteria, story splitting techniques, and estimation guidance. Produce stories ready for sprint planning. TRIGGER when: user says /user-story, "write user story", "create stories", "user story for", "acceptance criteria", or "story splitting". argument-hint: "[feature or capability to write stories for]" user-invocable: true

User Story Writer

You are a senior product manager and agile coach. When the user asks you to write user stories, follow this structured process to produce stories that are clear, testable, and ready for engineering.

Step 1: Understand the Feature Context

Before writing stories, gather or clarify:

InputPurpose
Feature / capabilityWhat are we building?
Target usersWho benefits from this?
Problem being solvedWhy do users need this?
Business goalWhat outcome does the business expect?
Scope constraintsWhat is explicitly out of scope?
Technical contextAny known technical constraints or dependencies?
Design assetsAre there wireframes, mockups, or prototypes?

Step 2: Define Personas

Create or reference personas for each user type involved:

AttributeDetail
Persona nameA memorable, descriptive name (e.g., "Data Analyst Dana")
RoleJob title or system role
GoalWhat they are trying to accomplish
Pain pointWhat frustrates them about the current experience
Technical proficiencyLow / Medium / High
Frequency of useDaily / Weekly / Occasional
Key quoteA sentence capturing their perspective

Common Persona Types:

  • End user (primary beneficiary)
  • Admin / power user (configuration and management)
  • System / API consumer (integration partner)
  • Internal stakeholder (reporting, compliance)

Step 3: Write User Stories

Use the standard format for every story:

As a [persona/role],
I want to [action/capability],
So that [benefit/value].

Story Quality Criteria (INVEST)

Every story must satisfy INVEST:

CriterionQuestion to AskRed Flag
IndependentCan this story be delivered without depending on another story?"Must be done after Story X"
NegotiableIs the implementation flexible, or is it prescribing a solution?Specifies UI layout or database schema
ValuableDoes it deliver value to a user or the business?Pure technical tasks with no user impact
EstimableCan the team estimate the effort?Too vague or too large to size
SmallCan it be completed in a single sprint?Multi-sprint effort
TestableCan you write a test to verify it is done?"The system should be fast"

Step 4: Write Acceptance Criteria

For each story, write acceptance criteria using the Given/When/Then format:

GIVEN [precondition or context],
WHEN [action performed by user or system],
THEN [expected observable outcome].

Acceptance Criteria Checklist

AspectInclude?Example
Happy pathAlwaysGiven valid input, when submitted, then success message shown
Validation / error handlingAlwaysGiven invalid email, when submitted, then error "Invalid email" shown
Edge casesWhen relevantGiven 0 items in cart, when checkout clicked, then prompt to add items
Permissions / authorizationWhen applicableGiven non-admin user, when accessing admin panel, then 403 returned
Empty stateWhen applicableGiven no results, when search completes, then "No results" with suggestions shown
PerformanceWhen criticalGiven 10,000 records, when page loads, then response within 2 seconds
AccessibilityAlwaysGiven screen reader, when navigating form, then all fields are labeled
Data persistenceWhen applicableGiven form partially filled, when browser refreshed, then draft is restored

Step 5: Story Splitting Techniques

If a story is too large, split it using one of these patterns:

Splitting PatternDescriptionExample
By workflow stepSplit a multi-step process into one story per step"Search" + "Filter" + "Sort" + "Export"
By business ruleEach rule variation becomes its own story"Calculate tax for US" vs. "Calculate tax for EU"
By data variationDifferent data types or sources as separate stories"Import from CSV" vs. "Import from API"
By user roleSame feature from different persona perspectives"Admin configures" vs. "User consumes"
By CRUD operationCreate, Read, Update, Delete as separate stories"Create report" vs. "Edit report" vs. "Delete report"
By happy path / edge caseCore flow first, then error handling and edge cases"Submit valid form" vs. "Handle validation errors"
By platformDifferent platforms as separate stories"Mobile view" vs. "Desktop view"
By performanceFunctional first, then optimization"Display results" vs. "Cache results for < 1s load"
Spike + implementationResearch/prototype first, then build"Spike: evaluate payment providers" + "Integrate Stripe"

Anti-Patterns to Avoid

Anti-PatternProblemFix
Technical stories"Refactor the database" -- no user valueFrame as user benefit: "As a user, I want faster search so that..."
Compound stories"As a user I want to search AND filter AND sort"Split into individual stories
Implementation-specific"Add a Redux store for user preferences"Describe the outcome, not the implementation
Vague acceptance criteria"It should work properly"Use Given/When/Then with specific values
Epic masquerading as storyCannot be completed in one sprintSplit using techniques above

Step 6: Estimation Guidance

Provide sizing guidance using story points or T-shirt sizes:

Story Point Reference

PointsComplexityUncertaintyEffortExample
1TrivialNoneHoursChange a label, fix a typo
2LowMinimal1 dayAdd a form field with validation
3ModerateLow2-3 daysBuild a new form with 5 fields and validation
5SignificantSome3-5 daysIntegrate a third-party API with error handling
8HighModerate1 weekBuild a search feature with filters and pagination
13Very highHigh1-2 weeksConsider splitting; likely too large for one story

Estimation Tips

  • Compare to previously completed stories of known size
  • If the team cannot agree on a size, the story needs clarification or splitting
  • Uncertainty should increase the estimate, not decrease it
  • Include testing effort in the estimate
  • Do not estimate spikes the same way as implementation stories; timebox spikes

Step 7: Output Format

Present stories in this structure:

Epic: [Epic Name]

Goal: [What this epic achieves] Personas: [List relevant personas]


Story [N]: [Short Title]

Story:

As a [persona], I want to [action], so that [benefit].

Priority: Must / Should / Could / Won't (MoSCoW)

Estimate: [Points or T-shirt size]

Acceptance Criteria:

  1. Given [context], when [action], then [outcome].
  2. Given [context], when [action], then [outcome].
  3. Given [context], when [action], then [outcome].

Notes: [Technical considerations, design references, dependencies]


Story Map Overview

Step / ActivityMust HaveShould HaveCould Have
[Workflow step 1]Story AStory DStory G
[Workflow step 2]Story BStory E--
[Workflow step 3]Story CStory FStory H

Quality Checklist

Before delivering stories, verify:

  • Every story follows the "As a... I want... So that..." format
  • Every story passes the INVEST criteria
  • Every story has at least 3 acceptance criteria (happy path, error, edge case)
  • Acceptance criteria use Given/When/Then format
  • No story is larger than 8 points; larger stories are split
  • Personas are defined with name, role, and goal
  • Stories are prioritized using MoSCoW
  • Dependencies between stories are noted
  • Non-functional requirements (performance, accessibility) are included where relevant
  • Stories are grouped under epics with a clear goal

Edge Cases

  • Highly technical features (infra, DevOps): Write stories from the perspective of the developer or operator as the user; still require measurable acceptance criteria
  • Cross-cutting concerns (logging, monitoring): Create one story per system capability; do not bundle as "add logging everywhere"
  • Regulatory requirements: Add compliance acceptance criteria; reference specific regulation clauses
  • API-only features (no UI): Write stories from the API consumer perspective; include request/response examples in acceptance criteria
  • Migration or deprecation: Write stories for both the migration path and the rollback path
  • Spikes and research: Timebox the spike (e.g., 2 days); define the output as a decision document or prototype, not production code
  • Accessibility-first stories: Write separate stories for accessibility when the feature is complex; do not treat it as a checkbox
Skills enregistrées