Skill

User Story Splitter

Break a large user story into small, independently shippable stories with clear acceptance criteria.

Goal

Transform a single large user story into a set of small, independently shippable stories, each with a clear title, narrative, and acceptance criteria.

Trigger

When a user story is too large to complete in a single sprint or has multiple distinct behaviors bundled together.

Steps

  1. 1

    Analyze the user story below and identify all the distinct behaviors, edge cases, and implicit sub-features bundled inside it: $user_story

    • Story contains multiple acceptance criteria or scenarios
    • Story touches more than one user action or system boundary
  2. 2

    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.

    • Slice touches UI, logic, and data if applicable
    • Slice is deployable and testable on its own
  3. 3

    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.

    • Each story is independent and not blocked by another split story
    • No story duplicates the scope of another
    • Each story fits comfortably within a single sprint
  4. 4

    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.

    • Every story has a role, action, and benefit
    • Every story has at least one Given/When/Then criterion
  5. 5

    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.

    • Spikes are clearly labeled and time-boxed
    • Deferred stories are marked as backlog candidates
  6. 6

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

    • All split stories are represented in the table
    • At least one story is marked Now/highest priority

Output format

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.

Use it everywhere

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 →