Skip to content
Agentmart
Submit a tool

user-story

Draft Jira-formatted User Stories with Acceptance Criteria.

Skill by craigspaterson

IndexedMIT★ 2
Write a review

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.

We use your email only for this newsletter. Privacy

About

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.

Use cases: writing

No 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.

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
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from craigspaterson

Cite this page

user-story skill. Agent Mart. https://agentmart.dev/skills/craigspaterson-user-story (last updated 2026-10-24)