# Defining Stories

> Create user stories and epic design documents. Use when defining new features, writing Given-When-Then criteria, creating story logs, or designing larger features.

- Skill: `majiayu000/defining-stories` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/defining-stories`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/defining-stories/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/defining-stories

---


# Defining Stories

## Epic vs Story

| Document | Purpose | When to Create |
|----------|---------|----------------|
| **Epic** | Design document defining scope and technical approach | Starting a larger feature |
| **Story** | Incremental deliverable with acceptance criteria | As needed during development |

**Agile approach**: Stories emerge during development. Create each story when ready to implement.

## User Story Format

```
As a [role], I want [capability], so that [benefit].
```

## Acceptance Criteria

```markdown
- [ ] **Given** [precondition], **When** you [action], **Then** [expected result]
```

- Focus on user-observable behavior
- Include happy paths AND error cases
- Leave checkboxes unchecked (PO checks them)

## Verification Approach

Define how criteria will be verified:

| Project Type | Options |
|--------------|---------|
| CLI | Direct command execution |
| API | curl/httpie, API testing tools |
| Web UI | E2E tests, browser MCP tools |
| Mobile | Device/emulator, MCP tools |
| Library | Unit/integration tests |

If MCP tools or skills for testing are available, use them. If unsure, ask PO.

## Story Log

File: `docs/stories/<YYYYMMDDTHHMMSS>_<name>.story.md`

```bash
date -u +"%Y%m%dT%H%M%S"  # Generate timestamp
```

Use the `story-template` skill for structure.

## Epic Documents

Directory: `docs/stories/<YYYYMMDD>_<epic-name>/`
File: `<YYYYMMDDTHHMMSS>_<epic-name>.epic.md`

Use the `epic-template` skill for structure.

