Write well-structured user stories with acceptance criteria and edge cases. Use when asked to write user stories, create tickets from a feature brief, convert a PRD into stories, or write acceptance criteria. Produces ready-to-estimate stories in the standard format with clear acceptance criteria, edge cases, and definition of done.
📚 Based on User stories & INVEST — Mike Cohn, User Stories Applied
“Write user stories for [feature] from this brief”“Break this PRD section into user stories with acceptance criteria”“Convert these feature requirements into Jira tickets”“Write the user stories and ACs for [feature name]”“Decompose this epic into individual stories ready for sprint planning”
What to give it
▸Feature or change — to break into stories — paste the brief, PRD section, or describe the feature
▸User types / personas — involved (e.g. admin, end user, guest, API consumer)
▸Scope — are we writing one story or decomposing an epic into a full set of stories?
▸Acceptance criteria format preference — Given/When/Then, bullet checklist, or both?
▸Technical constraints or notes — anything the engineering team has flagged that should shape the stories
✅ The bar it holds itself to
Every skill in this library self-verifies — these are this skill's own quality checks, straight from its definition.
✓Every story has a specific user type — not "a user" or "the system"
✓The "so that" explains business value — not just feature description
✓Each AC tests one observable outcome — not a bundle of behaviours
✓Empty states, error states, and edge cases are explicitly handled
✓Out of scope is documented — not assumed
✓Stories are independent — they can be shipped individually without depending on unreleased work (except where explicitly noted)
⚠️ What it refuses to do
Do not write user stories from a technical perspective — every story must be from the user's point of view and state their goal
Do not write acceptance criteria that are untestable — every criterion must have a clear pass/fail condition
Do not create stories that are too large to complete in a single sprint — break epics into estimable, independently deliverable stories
Do not omit edge cases — unhappy paths and error states are required, not optional
Do not skip the Definition of Done — without it, "done" means different things to different people
Install
npx pm-claude-skills add --agent claude # or codex · cursor · gemini · hermes
# or one-line MCP (every skill, any client):
claude mcp add pm-skills -- npx -y pm-claude-skills-mcp
Example output
Input: Feature: let users export a dashboard to PDF and schedule a recurring email of it. Users are analysts and their managers. Keep stories small and testable with clear acceptance criteria. · generated by claude-sonnet-4-6