Skip to content

Story {epic}.{number}: {title}

Source: story.md

markdown
# Story {epic}.{number}: {title}

> **Version:** 1
> **Last Updated:** {date}
> **Epic:** {epic title} (`docs/epics/{epic}.md`)
> **Complexity:** S | M | L | XL
> **Priority:** P{0|1|2}
> **File Ownership:** {directories this story touches}
> **Dependencies:** {story dependencies or "None"}
> **Change Log:**
> - v1 ({date}): Initial version

## Description
<!-- sniper:managed:description:start -->
<!-- What this story implements, in user-facing terms -->
<!-- sniper:managed:description:end -->

## Embedded Context

<!-- sniper:managed:embedded-context:start -->
### From PRD
<!-- COPY the relevant requirements and user stories from docs/prd.md -->

### From Architecture
<!-- COPY the relevant architecture sections (data models, API contracts, patterns) -->

### From UX Spec
<!-- COPY relevant screen descriptions, user flows, component specs (if frontend story) -->
<!-- sniper:managed:embedded-context:end -->

## Acceptance Criteria
<!-- sniper:managed:acceptance-criteria:start -->
<!-- Testable assertions in Given/When/Then format -->
1. **Given** ... **When** ... **Then** ...
2. **Given** ... **When** ... **Then** ...
<!-- sniper:managed:acceptance-criteria:end -->

## Test Requirements
<!-- sniper:managed:test-requirements:start -->
- [ ] Unit tests:
- [ ] Integration tests:
- [ ] E2E tests (if applicable):
<!-- sniper:managed:test-requirements:end -->

## Implementation Notes
<!-- sniper:managed:implementation-notes:start -->
<!-- Specific patterns, libraries, or approaches to use -->
<!-- sniper:managed:implementation-notes:end -->

## Out of Scope
<!-- sniper:managed:out-of-scope:start -->
<!-- What this story does NOT include, to prevent scope creep -->
<!-- sniper:managed:out-of-scope:end -->