user-story-writing — Claude Code skill: what it does, how to install
Structures product requirements into user stories with Given-When-Then acceptance criteria. Helps during sprint planning and backlog refinement.
npx skills add aj-geddes/useful-ai-prompts --skill user-story-writing -a claude-codeWhat user-story-writing does
This skill guides the AI to frame feature requirements from the end-user perspective instead of drafting technical implementation steps. It enforces the standard "As a / I want to / So that" template along with user role context and explicit goals. Acceptance criteria follow the Given-When-Then format, giving developers and QA teams clear conditions of done.
Under the hood, the skill references guides for story refinement, splitting, estimation, and acceptance criteria examples. It deliberately prohibits creating multi-sprint stories or purely technical tasks. Because it insists on business value over implementation details, you will need a different approach for low-level infrastructure tasks.
What it helps with
- Structure user stories for product backlog refinement
- Generate Given-When-Then acceptance criteria
- Split large requirements into single-sprint tasks
- Define testable boundary and error scenarios
Example prompts for the agent
- Write a user story with acceptance criteria for email password reset.
- Split this large checkout requirement into stories that fit into a single sprint.
- Add edge cases and error handling scenarios to the login story acceptance criteria.
How to install user-story-writing
1Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill user-story-writing -a claude-code2Manually: put the files in place
~/.claude/skills/user-story-writing/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/user-story-writing/
1Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill user-story-writing -a codex2Manually: put the files in place
.agents/skills/user-story-writing/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill user-story-writing -a cursor2Manually: put the files in place
.cursor/skills/user-story-writing/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install aj-geddes/useful-ai-prompts user-story-writing2Manually: put the files in place
.github/skills/user-story-writing/SKILL.md1Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill user-story-writing -a gemini-cli2Platform CLI
gemini skills install https://github.com/aj-geddes/useful-ai-prompts --path skills/user-story-writingManually: put the files in place
.devin/skills/user-story-writing/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add aj-geddes/useful-ai-prompts --skill user-story-writing -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about user-story-writing
How do I install user-story-writing in Claude Code?
Run npx skills add aj-geddes/useful-ai-prompts --skill user-story-writing -a claude-code in your terminal.
What does user-story-writing do?
It formats product requirements into user-focused stories with clear Given-When-Then acceptance criteria and persona context.
Does user-story-writing cover story splitting and estimation?
Yes, it includes reference guides for story refinement, story splitting, estimation, and acceptance criteria examples.
Source text
SKILL.md · MIT
--- name: user-story-writing description: > Write effective user stories that capture requirements from the user's perspective. Create clear stories with detailed acceptance criteria to guide development and define done. --- # User Story Writing ## Table of Contents - [Overview](#overview) - [When to Use](#when-to-use) - [Quick Start](#quick-start) - [Reference Guides](#reference-guides) - [Best Practices](#best-practices) ## Overview Well-written user stories communicate requirements in a user-focused way, facilitate discussion, and provide clear acceptance criteria for developers and testers. ## When to Use - Breaking down requirements into development tasks - Product backlog creation and refinement - Agile sprint planning - Communicating features to development team - Defining acceptance criteria - Creating test cases ## Quick Start Minimal working example: ```markdown # User Story Template **Title:** [Feature name] **As a** [user role/persona] **I want to** [action/capability] **So that** [business value/benefit] --- ## User Context - User Role: [Who is performing this action?] - User Goals: [What are they trying to accomplish?] - Use Case: [When do they perform this action?] --- ## Acceptance Criteria Given [precondition] When [action] Then [expected result] Example: // ... (see reference guides for full implementation) ``` ## Reference Guides Detailed implementations in the `references/` directory: | Guide | Contents | |---|---| | [Story Refinement Process](references/story-refinement-process.md) | Story Refinement Process | | [Acceptance Criteria Examples](references/acceptance-criteria-examples.md) | Acceptance Criteria Examples | | [Story Splitting](references/story-splitting.md) | Story Splitting | | [Story Estimation](references/story-estimation.md) | Story Estimation | ## Best Practices ### ✅ DO - Write from the user's perspective - Focus on value, not implementation - Create stories small enough for one sprint - Define clear acceptance criteria - Use consistent format and terminology - Have product owner approve stories - Include edge cases and error scenarios - Link to requirements/business goals - Update stories based on learning - Create testable stories ### ❌ DON'T - Write technical task-focused stories - Create overly detailed specifications - Write stories that require multiple sprints - Forget about non-functional requirements - Skip acceptance criteria - Create dependent stories unnecessarily - Write ambiguous acceptance criteria - Ignore edge cases - Create too large stories - Change stories mid-sprint without discussion
© aj-geddes · MIT · aj-geddes/useful-ai-prompts