user-story
Draft Jira-formatted User Stories with Acceptance Criteria.
Skill by craigspaterson
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/craigspaterson-user-story
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/user-story
What's inside
- Skill name
user-story- Description
- Draft Jira-formatted User Stories with Acceptance Criteria. Use this skill whenever the user wants to write, create, draft, refine, or improve a user story, epic, ticket, or feature request — especially when they mention Jira, acceptance criteria, agile, scrum, sprints, or backlog items. Trigger even for casual phrasing like "write a story for...", "create a ticket for...", "help me describe this feature", or "I need a Jira issue for...". Also trigger when the user pastes a rough feature idea and wants it turned into a structured story.
- License
- MIT
- Instructions
- 211 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# User Story Skill
Draft polished, Jira-ready User Stories with Acceptance Criteria following agile best practices.
---
## Output Format
Every user story must follow this exact structure:
```
**Title:** [Short, imperative-phrased summary — max 10 words]
**Type:** Story
**Priority:** [Critical / High / Medium / Low]
**Story Points:** [1 / 2 / 3 / 5 / 8 / 13 — Fibonacci scale]
---
**User Story**
As a [persona/role],
I want to [action/goal],
So that [benefit/value].
---
**Acceptance Criteria**
---
**AC1 - [Criterion Name]**
Given [precondition],
When [action],
Then [expected outcome].
---
**AC2 - [Criterion Name]**
Given [precondition],
When [action],
Then [expected outcome].
---
[Add as many AC[N] - Name blocks as needed — minimum 3, maximum 8]
---
**Out of Scope**
- [What is explicitly NOT included in this story]
**Dependencies**
- [Any blockers, related tickets, or prerequisites — or "None"]
**Notes**
[Optional: edge cases, open questions, design links, or context for the dev team]
```
---
## Writing Guidelines
### Title
- Imperative verb ("Add", "Enable", "Display", "Allow", "Support")
- Never start with "As a user..."
- Specific enough to distinguish from other tickets at a glance
### Persona
- Be specific: prefer "logged-in customer", "admin user", "guest visitor" over generic "user"
- Match the persona to the system context if provided
### Story Statement (the "As a / I want / So that")
- "I want" = the feature action, not the business outcome
- "So that" = the *why* — business value, not just a restatement of I want
- Avoid technical implementation details in the story statement
### Acceptance Criteria (AC[N] - Name / Given/When/Then)
- Each criterion is labeled **AC[N] - Name** on its own line, where N is a sequential number and Name is a short descriptive title for the criterion
- The label is separated from the Given/When/Then block by a blank line
- Each criterion tests ONE behavior
- Given, When, and Then are each on their own line
- "Given" = system state or precondition
- "When" = the user action or event
- "Then" = the observable, verifiable outcome
- Use concrete, testable language — avoid vague words like "fast", "easy", "properly"
- Cover happy path first, then edge cases and error states
- Include at least one negative/error case (e.g., invalid input, missing permission)
- Separate each AC block with a horizontal rule (`---`) for markdown readability
### Story Points
Default guidance (adjust to context if user specifies team conventions):
- **1** — Trivial change, < 2 hours
- **2** — Simple, well-understood, < half a day
- **3** — Small feature, some unknowns, ~1 day
- **5** — Medium complexity, a few days
- **8** — Complex, multiple components, ~1 week
- **13** — Very large, consider splitting
### Priority
- **Critical** — Blocker, production issue, or must-have for launch
- **High** — Important for the current sprint goal
- **Medium** — Valuable, but not blocking
- **Low** — Nice-to-have, future consideration
---
## Behavior Rules
1. **Always produce a complete story** — never leave placeholders like "[describe here]". Make reasonable assumptions and note them in the Notes section.
2. **Ask before assuming** only if the user's input is genuinely too vague to produce any meaningful story. Otherwise, draft first and offer to refine.
3. **Split large features** — if the request describes multiple independent user journeys, produce multiple stories and flag that they should be separate Jira tickets.
4. **Match the user's domain** — use their terminology (e.g., "merchant", "patient", "student") rather than generic words.
5. **Never include implementation details** in the story statement. They belong in Notes or a separate technical task ticket.
6. **Markdown formatting** — output should be clean Markdown that renders well in Jira's description field. Use `**bold**` for section headers.
---From craigspaterson/agent-skills, MIT.
More from craigspaterson/agent-skills
- 0.563score
push-to-ado
craigspaterson
Uploads a drafted User Story or Technical Story to Azure DevOps as a work item, populating Title, Description, Acceptance Criteria, Story Points, Priority…
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
start-story
craigspaterson
Activates a work item or issue and creates the feature branch in one step.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
resolve-copilot-review
craigspaterson
Triage GitHub Copilot's automated PR review comments, fix the confirmed issues, and resolve the review threads.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
create-pr
craigspaterson
Create or update a GitHub pull request using the repo's own .github/pull_request_template.md as the body structure, with a Conventional Commits-style title…
SkillBFreshness: B★ 2Claude Code +9 - 0.507score
terraform-docs-inject
craigspaterson
Generate Terraform docs and inject them into terraform/README.md using terraform-docs markdown table output-mode inject.
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
technical-story
craigspaterson
Draft Jira-formatted Technical Stories (Infrastructure and Application sub-types) with Acceptance Criteria, for backlog items that describe a system or…
SkillCFreshness: C★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jun 6, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/craigspaterson/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from craigspaterson
- 0.563score
push-to-ado
craigspaterson
Uploads a drafted User Story or Technical Story to Azure DevOps as a work item, populating Title, Description, Acceptance Criteria, Story Points, Priority…
SkillBFreshness: B★ 2Claude Code +9 - 0.563score
start-story
craigspaterson
Activates a work item or issue and creates the feature branch in one step.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
resolve-copilot-review
craigspaterson
Triage GitHub Copilot's automated PR review comments, fix the confirmed issues, and resolve the review threads.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
create-pr
craigspaterson
Create or update a GitHub pull request using the repo's own .github/pull_request_template.md as the body structure, with a Conventional Commits-style title…
SkillBFreshness: B★ 2Claude Code +9 - 0.507score
terraform-docs-inject
craigspaterson
Generate Terraform docs and inject them into terraform/README.md using terraform-docs markdown table output-mode inject.
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
technical-story
craigspaterson
Draft Jira-formatted Technical Stories (Infrastructure and Application sub-types) with Acceptance Criteria, for backlog items that describe a system or…
SkillCFreshness: C★ 2Claude Code +9
Cite this page
user-story skill. Agent Mart. https://agentmart.dev/skills/craigspaterson-user-story (last updated 2026-10-24)