Break a large user story into small, independently shippable stories with clear acceptance criteria.
Transform a single large user story into a set of small, independently shippable stories, each with a clear title, narrative, and acceptance criteria.
When a user story is too large to complete in a single sprint or has multiple distinct behaviors bundled together.
Analyze the user story below and identify all the distinct behaviors, edge cases, and implicit sub-features bundled inside it: $user_story
Identify the single thinnest vertical slice — the smallest piece that delivers real user value end-to-end. Label it as the 'Walking Skeleton' story that all other slices can build on.
Generate the remaining split stories using recognized splitting patterns: by workflow step, by data variation, by user role, by happy/error path, or by CRUD operation. Aim for 3–7 total stories from the original.
Write each split story in standard 'As a [role], I want [action], so that [benefit]' format. Include 2–4 acceptance criteria per story written as Given/When/Then scenarios.
Flag any stories that carry significant unknowns or technical risk and recommend them as spikes. Note which stories are optional enhancements that could be deferred to the backlog.
Produce a final summary table listing each story's title, the splitting pattern used, its relative size (S/M/L), and its recommended priority (Now / Next / Later).
Present the Walking Skeleton story first, followed by numbered split stories in 'As a / I want / So that' format with Given/When/Then acceptance criteria. End with a markdown summary table: Story Title | Split Pattern | Size | Priority. Use clear headings for each section.
Copy this skill into your library to inject it into Claude, ChatGPT, and Gemini — or install your whole library as /korvai: commands in Claude Code.
Get started free →