Agent skill

Story Splitting

by borghei in borghei/Claude-Skills

Vertical-slicing playbook with 9 canonical Lawrence patterns for splitting epics into shippable user stories without losing user value.

MITAuto-check passedProduct & Project Management

Install Story Splitting

skills CLI
$ npx skills add borghei/Claude-Skills --skill story-splitting -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install borghei/Claude-Skills story-splitting --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/project-management/execution/story-splitting .claude/skills/story-splitting && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
story-splitting
GitHub stars
886
Token cost
~1.9k tokens
SKILL.md length
952 words
Files
6 (incl. references, assets)
Skills in repo
354
Repo updated
First seen
Licence
MIT

At a glance

Vertical-slicing playbook with 9 canonical Lawrence patterns for splitting epics into shippable user stories without losing user value.

  • Works in 4 steps: State the user value of the original… → Walk the decision tree (in… → Draft slices in wwas/ or job-stories/… → …
  • A story is too big
  • SKILL.md covers Overview, Core Capabilities, When to Use and Clarify First, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Story Splitting is an agent skill from borghei/Claude-Skills. Vertical-slicing playbook with 9 canonical Lawrence patterns for splitting epics into shippable user stories without losing user value. Use when a story is too big, exceeds cycle time, or fails INVEST-S.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files and assets (for example `assets/before-after-examples.md`, `examples/import-data-epic-nine-patterns.md` and `references/red-flags.md`).

It sits in Product & Project Management, covering User stories. The repository describes itself as: 385 AI skills, 77 expert agents, and 900 stdlib Python tools for every team: engineering, PM, marketing, C-level, compliance, business ops, research, and a LinkedIn toolkit… The licence is MIT.

When your agent uses it

  • A story is too big
  • Exceeds cycle time

Example prompts

  • “/story-splitting”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. State the user value of the original story in one sentence. (No clear value? Reframe the problem via create-prd/, don't split.)
  2. Walk the decision tree (in references/story-splitting-procedure.md); stop at the first pattern that applies.
  3. Draft slices in wwas/ or job-stories/ format; verify each is vertical (crosses all layers, independently demoable).
  4. Order slices smallest-value-first, run the INVEST check, and replace the original story in the backlog.

What it can do on your machine

Read from SKILL.md and the folder at commit 4a698e8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Story Splitting loads about 1.9k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 55 tokens; SKILL.md has 952 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~55
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~11k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from borghei/Claude-Skills at commit 4a698e8, republished under its MIT licence (© borghei). 952 words, ~1,939 tokens.

Download SKILL.mdSave it as .claude/skills/story-splitting/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
story-splitting
description
Vertical-slicing playbook with 9 canonical Lawrence patterns for splitting epics into shippable user stories without losing user value. Use when a story is too big, exceeds cycle time, or fails INVEST-S.
license
MIT + Commons Clause
metadata.version
1.0.1
metadata.author
borghei
metadata.category
project-management
metadata.domain
pm-execution
metadata.updated
2026-06-15
metadata.tech-stack
story-splitting, vertical-slicing, lawrence-flowchart, invest

Story Splitting (Vertical Slicing Patterns)

Overview

A pattern catalog for splitting epics and large stories into smaller, shippable, end-to-end slices that still deliver user value. Built on Richard Lawrence's canonical story-splitting flowchart (the 9 patterns most product teams converge on) with worked before/after examples and a quick-reference decision tree.

The single most common reason teams fail to deliver predictably is that stories are too large. Large stories balloon in cycle time (see cycle-time-analyzer/), create coordination overhead, and resist incremental release. The remedy is not to estimate more carefully; it is to split smaller — vertically, so each slice (1) delivers value the end user can perceive, (2) fits in a single sprint, (3) is independently shippable, and (4) passes INVEST quality gates (see wwas/). The skill is pattern-based — no Python tool is needed; the value is the recipes and the worked examples.

Core Capabilities

  • 9 canonical Lawrence patterns — workflow steps, business-rule variations, happy/unhappy path, input/output variations, data variations, data-entry methods, deferred performance/quality, CRUD operations, and break-out-a-spike (plus optional "Major Effort First").
  • Vertical-slicing decision tree — a top-down tree that names the first applicable pattern for any oversized story.
  • Vertical-vs-horizontal discipline — keeps every slice end-to-end and demoable instead of layer-by-layer.
  • Ordering & INVEST gating — sequences slices smallest-value-first and verifies each against I-N-V-E-S-T.

When to Use

  • Sprint refinement -- A story exceeds the team's 85th-percentile cycle time or fails the INVEST-S (Small) test.
  • Epic decomposition -- An epic from create-prd/ or story-mapping/ needs to be broken into a release backlog.
  • Stuck story -- A story has been "almost done" for two sprints; usually a sign it should have been split.
  • New team onboarding -- A team's stories are routinely too large; introduce the patterns explicitly.
  • Release planning -- Need to find a thin slice that ships in 2 weeks instead of 8.
When NOT to Use
  • The work is a true atomic operation that genuinely cannot be split (rare; usually a sign of incomplete analysis).
  • The team is splitting horizontally by layer (DB, API, UI) -- that produces non-shippable slices and defeats the point.
  • The work is a spike (timeboxed investigation); spikes are intentionally not user-facing.

Clarify First

Before splitting, confirm these inputs. If any is unknown or vague, ASK — do not assume:

  • The original story's user value in one sentence — no clear value means reframe the problem (create-prd/), not split (gates the whole procedure, Step 1)
  • What ships next — beta cohort vs general availability (changes which pattern applies: happy-path-only vs full business rules)
  • Why it's too big — exceeds cycle time, fails INVEST-S, or has been "almost done" for sprints (points to the first applicable pattern in the decision tree)

Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.

Quick Start

  1. State the user value of the original story in one sentence. (No clear value? Reframe the problem via create-prd/, don't split.)
  2. Walk the decision tree (in references/story-splitting-procedure.md); stop at the first pattern that applies.
  3. Draft slices in wwas/ or job-stories/ format; verify each is vertical (crosses all layers, independently demoable).
  4. Order slices smallest-value-first, run the INVEST check, and replace the original story in the backlog.
Show full SKILL.md (423 more words)Show less

References

Load the reference that matches the task — keep this file lean and pull detail on demand:

  • references/story-splitting-procedure.md — vertical-vs-horizontal slicing, all 9 patterns with before/after examples, the full decision tree, the optional tenth pattern, the 8-step workflow, an end-to-end worked example, troubleshooting, and success criteria. Read when splitting a specific story.
  • references/splitting-patterns-guide.md — the deepest pattern catalog: each pattern with cues, recipes, multiple worked examples, pattern-selection order, anti-patterns, and the post-split INVEST check. Read for the full theory or when a pattern is ambiguous.
  • references/red-flags.md — common ways splits go wrong, each with bad/good examples. Read before split tickets enter a sprint.
  • assets/before-after-examples.md — 15+ before/after splits across SaaS, mobile, B2B, and platform scenarios. Use as a copy-from library.

Scope & Limitations

In Scope:

  • The 9 canonical Lawrence patterns plus optional "Major Effort First"
  • Vertical-slicing decision tree
  • Worked examples for SaaS, mobile, and B2B scenarios
  • Integration with INVEST (via wwas/) and story mapping (via story-mapping/)

Out of Scope:

  • User story format itself (use wwas/, job-stories/)
  • Sprint capacity calculation (use scrum-master/sprint_capacity_calculator.py)
  • Backlog prioritization (use prioritization-frameworks/)
  • Story mapping at the release level (use story-mapping/)

Important Caveats:

  • Splitting cannot rescue a poorly defined problem. If the story has no clear user value, the answer is problem framing (create-prd/), not slicing.
  • Slicing has limits. A story may be at the smallest useful size and still feel large because the team has not done the work before. Treat the first few of any new kind of story as a learning tax.
  • The "right" split depends on what ships next. The same epic can be split differently for a beta cohort (Pattern 3: happy path only) vs general availability (Pattern 2: full business rules). Choose based on the next release context, not in the abstract.

Integration Points

IntegrationDirectionWhat Flows
wwas/Output formatSplit slices are written as WWAS items
job-stories/Output formatAlternative format for situation-driven slices
create-prd/Receives fromEpic-level scope from PRD feeds splitting
story-mapping/ComplementaryStory map identifies the slices that need splitting
prioritization-frameworks/Feeds intoSplit slices get individually scored (RICE/ICE) for ordering
cycle-time-analyzer/Diagnostic forLong cycle times indicate stories that should have been split
backlog-refinement/Used inSplitting is the core activity in refinement sessions
scrum-master/ImprovesPredictability improves dramatically when stories are uniformly small

Further Reading

  • Lawrence, Richard. "Patterns for Splitting User Stories." 2009. (The original 9-pattern catalog.)
  • Lawrence, Richard. Story Splitting Flowchart, 2012. (The canonical visual decision tree.)
  • Cohn, Mike. User Stories Applied for Agile Software Development. Addison-Wesley, 2004. (INVEST criteria.)
  • Patton, Jeff. User Story Mapping. O'Reilly, 2014. (Vertical slicing in release planning.)

© borghei, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references, assets) in project-management/execution/story-splitting of borghei/Claude-Skills.

  • SKILL.md
  • assets/before-after-examples.md
  • examples/import-data-epic-nine-patterns.md
  • references/red-flags.md
  • references/splitting-patterns-guide.md
  • references/story-splitting-procedure.md

Open the folder on GitHubat commit 4a698e8

Compare with similar skills

Story Splitting next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Story Splitting compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Story Splitting this skillborghei/Claude-Skills886—~1.9kAutomated safety check: PassMIT
User Story Writerdeanpeters/Product-Manager-Skills7.2k2 repos~2.9kAutomated safety check: PassCustom licence
Ralph Tui Create Beadssubsy/ralph-tui2.5k1 repos~2.6kAutomated safety check: PassMIT
Agile Product Owneralirezarezvani/claude-skills28k3 repos~3.2kAutomated safety check: PassMIT
Ralph Tui Create Beads Rustsubsy/ralph-tui2.5k1 repos~2.8kAutomated safety check: PassMIT
To Specbestofjs/bestofjs3.1k21 repos~757Automated safety check: PassMIT

Similar skills

  • User Story Writer

    deanpeters/Product-Manager-Skills

    Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.

    7.2k GitHub starsUsed in 2 repos~2.9k tokens
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create Beads

    subsy/ralph-tui

    Convert PRDs to beads for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed
  • Agile Product Owner

    alirezarezvani/claude-skills

    Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.

    28k GitHub starsUsed in 3 repos~3.2k tokens
    Product & Project ManagementAuto-check passed
  • Convert PRDs to beads for ralph-tui execution using beads-rust (br CLI).

    2.5k GitHub starsUsed in 1 repo~2.8k tokens
    Product & Project ManagementAuto-check passed
  • To Spec

    bestofjs/bestofjs

    Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.

    3.1k GitHub starsUsed in 21 repos~757 tokens
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create JSON

    subsy/ralph-tui

    Convert PRDs to prd.json format for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed

More from borghei/Claude-Skills

All 354 skills in this repo
  • Agent Harness

    borghei/Claude-Skills

    Test and evaluation harness for AI agents — scenario suites, deterministic replay, regression diffing, cost and latency budgets.

    886 GitHub stars~3.1k tokensUpdated 2 days ago
    Auto-check passed
  • Agents In The Team

    borghei/Claude-Skills

    Run delivery when AI coding and ops agents take tickets. An agent skill from borghei/Claude-Skills.

    886 GitHub stars~4.2k tokensUpdated 2 days ago
    Auto-check passed
  • AI Content Disclosure

    borghei/Claude-Skills

    Check AI-generated marketing content and reviews for required disclosures under the EU AI Act, FTC rules and platform AI-label policies.

    886 GitHub stars~3.4k tokensUpdated 2 days ago
    Auto-check passed
  • AI Prototyping

    borghei/Claude-Skills

    Idea to AI-generated prototype to customer validation to engineering handoff.

    886 GitHub stars~3.6k tokensUpdated 2 days ago
    Auto-check passed
  • Analytics Engineer

    borghei/Claude-Skills

    Analytics engineering across data modeling, dbt, transformation, and semantic layers.

    886 GitHub stars~3.4k tokensUpdated 2 days ago
    Auto-check passed
  • Ansoff Matrix

    borghei/Claude-Skills

    Ansoff Matrix — 4-quadrant framework for growth options: market penetration, market/product development, and diversification.

    886 GitHub stars~2.2k tokensUpdated 2 days ago
    Auto-check passed

Questions about Story Splitting

What does Story Splitting do?

Vertical-slicing playbook with 9 canonical Lawrence patterns for splitting epics into shippable user stories without losing user value. Story Splitting is an agent skill from borghei/Claude-Skills. Vertical-slicing playbook with 9 canonical Lawrence patterns for splitting epics into shippable user stories without losing user value.

When should I use Story Splitting?

Story Splitting fits situations like: A story is too big; exceeds cycle time.

How do I install Story Splitting in Claude Code?

Run `npx skills add borghei/Claude-Skills --skill story-splitting -a claude-code`. Or copy the skill folder (project-management/execution/story-splitting in borghei/Claude-Skills) into .claude/skills/story-splitting in your project. Claude Code loads it when a task matches its description.

How do I install Story Splitting in Codex?

Run `npx skills add borghei/Claude-Skills --skill story-splitting -a codex`. Or copy the skill folder (project-management/execution/story-splitting in borghei/Claude-Skills) into .agents/skills/story-splitting in your project. Codex loads it when a task matches its description.

Can I use Story Splitting in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add borghei/Claude-Skills --skill story-splitting -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/story-splitting, .gemini/skills/story-splitting, .github/skills/story-splitting and .opencode/skills/story-splitting in your project.

What does Story Splitting need to run?

SKILL.md names no scripts, command-line tools or credentials: Story Splitting is instructions for the agent only. Our summary lists: Python 3.

Does Story Splitting access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Story Splitting safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Story Splitting use?

Story Splitting is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Story Splitting use?

About 1.9k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 9k tokens, read only when the agent opens those files.

What are the alternatives to Story Splitting?

Skills that share tags, products or a category with Story Splitting: User Story Writer (deanpeters/Product-Manager-Skills, 7.2k stars), Ralph Tui Create Beads (subsy/ralph-tui, 2.5k stars), Agile Product Owner (alirezarezvani/claude-skills, 28k stars) and Ralph Tui Create Beads Rust (subsy/ralph-tui, 2.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Story Splitting?

borghei (a GitHub user) maintains it in borghei/Claude-Skills, which has 886 GitHub stars. The repository holds 354 skills in this directory. The repository was last updated on October 7, 2026.

Source: borghei/Claude-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.