← ClaudeAtlas

user-story-writinglisted

Writes and refines user stories for product backlogs: splits epics into INVEST-compliant stories, drafts Given/When/Then and EARS-format acceptance criteria, and runs definition-of-ready checks. Triggers on: "write user stories", "split this epic", "acceptance criteria for", "refine this story", "is this story ready", "turn these requirements into stories".
timwukp/agent-skills-best-practice · ★ 3 · AI & Automation · score 79
Install: claude install-skill timwukp/agent-skills-best-practice
# User Story Writing Turn requirements, feature ideas, and epics into stories a team can estimate and deliver. The product is the story set, not prose about the feature. ## Story Format ```markdown ### [ID] [Title — verb phrase, outcome-oriented] **As a** [specific user role — not "user"], **I want to** [action], **so that** [value the role actually cares about]. #### Acceptance Criteria - Given [precondition], when [action], then [observable outcome] - ... ``` For system-level or compliance-driven requirements where the persona format gets artificial, use EARS instead: | EARS pattern | Template | Use for | |--------------|----------|---------| | Ubiquitous | The [system] shall [behavior] | Invariants | | Event-driven | When [trigger], the [system] shall [behavior] | Responses to events | | State-driven | While [state], the [system] shall [behavior] | Mode-dependent behavior | | Unwanted behavior | If [undesired condition], then the [system] shall [behavior] | Error and abuse handling | | Optional | Where [feature is included], the [system] shall [behavior] | Configurable capabilities | ## INVEST Check Run every story against INVEST before delivering; fix violations rather than annotating them: - **I**ndependent — schedulable without forcing another story into the same sprint - **N**egotiable — captures intent, not implementation; the "how" stays open - **V**aluable — the "so that" names value for the role; "so that the database is updated" fails - **E**stimable — a