skills/story-splitting/SKILL.md
Detects stories that are too big and applies splitting heuristics. Identifies linguistic red flags (and, or, manage, handle, including) and suggests concrete splitting strategies. Use when breaking down requirements or splitting large work.
npx skillsauth add envy-7z/mobile-agent-skillpack story-splittingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
STARTER_CHARACTER = ✂️📝
Expert at detecting when work is too big and applying proven splitting heuristics to break it down into small, safe, valuable increments.
Use when:
Do NOT use when:
Always scan for these linguistic indicators that signal a story is too big:
When you spot these words, immediately flag the story as too big.
Use this table to quickly select the best splitting technique based on the red flag detected.
| Red Flag Detected | Likely Problem | Recommended Technique(s) | Example Split | |-------------------|----------------|-------------------------|---------------| | "manage" / "handle" / "administer" | Hides multiple CRUD operations | #1 (Start with outputs) + Split by action | "Manage users" → (1) Create user, (2) Edit user, (3) Delete user | | "and" | Multiple independent features | Split by conjunction | "Upload and download files" → (1) Upload files, (2) Download files | | "or" / "either/or" | Multiple options/alternatives | #5 (Simplify outputs) or Split by option | "Export to CSV or PDF" → (1) Export to CSV, (2) Export to PDF | | "for all users" / "everyone" | Too broad scope | #2 (Narrow customer segment) | "All users export data" → (1) Admins export, (2) Power users export, (3) All users export | | "including" / "with" | Feature bundling | #3 (Extract basic utility) | "Upload with drag-drop and progress bar" → (1) Basic upload, (2) Add drag-drop, (3) Add progress bar | | "before/after/then" | Sequential steps bundled | Split by workflow step | "Save before submitting" → (1) Save work, (2) Submit work | | Complex output (reports, dashboards) | Too many outputs | #1 (Start with outputs) | "Financial report with charts" → (1) Basic summary, (2) Add charts | | Multiple data sources | Integration complexity | #4 (Dummy to dynamic) | "Dashboard from 3 DBs" → (1) Dummy data dashboard, (2) Integrate DB 1, (3) Add DB 2+3 | | "real-time" / "automated" | Over-engineered solution | #4 (Dummy to dynamic) + #9 (Put it on crutches) | "Real-time sync" → (1) Manual export/import, (2) Scripted sync, (3) Automated | | Large scope (entire subsystem) | Too big conceptually | #7 (Examples of usefulness) | "Add API auth" → (1) Auth for read endpoints, (2) Auth for write endpoints |
How to use:
When a story is too big, apply these techniques (in rough priority order):
Focus on delivering specific outputs incrementally, not all at once.
Example: "Generate financial report"
Deliver full functionality for a smaller group instead of partial functionality for everyone.
Example: "All users can export data"
Deliver the bare minimum to complete the task, then improve usability later.
Example: "Users can upload files with drag-and-drop, progress bars, and previews"
Build the UI/workflow with hardcoded data first, integrate real data later.
Example: "Show user dashboard with real-time stats"
Use simpler output formats initially (CSV instead of PDF, console instead of UI).
Example: "Generate and email PDF reports"
Limit initial scope by capacity constraints (file size, user count, data volume).
Example: "Support unlimited file uploads"
For large technical changes, identify concrete use cases that can be delivered with a subset of the solution.
Example: "Add API authentication"
Separate research/investigation (time-boxed learning) from value delivery (earning).
Example: "Implement machine learning recommendations"
Deliver minimal user-facing functionality using manual steps or simpler backends initially.
Example: "Automated inventory sync between systems"
User: "As an admin, I can manage users and roles, including creating, editing, deleting, and assigning permissions."
Your response:
🚨 Red flags detected:
This story is doing at least 5-6 different things. Let's split it:
Proposed splits:
Smallest slice to ship first: "Admin can create a new user with a hardcoded 'viewer' role"
User: "All users need to export their data to CSV or PDF"
Your response:
Let's narrow the segment and simplify the output:
Split 1: "Admins can export data to CSV"
Split 2: "Power users can export to CSV"
Split 3: "All users can export to CSV"
Split 4: "Admins can export to PDF" (only if there's proven demand)
Smallest slice: Split 1 (admin + CSV only)
User: "Show a dashboard with real-time sales metrics pulled from 3 different databases"
Your response:
Let's start with dummy data to validate the UI/UX first:
Split 1: "Dashboard shows hardcoded dummy sales metrics"
Split 2: "Dashboard pulls metrics from one database (no real-time)"
Split 3: "Add second database"
Split 4: "Add third database"
Split 5: "Make it real-time with WebSockets" (only if needed)
Smallest slice: Split 1 (dummy data dashboard)
User: "As a user, I want to manage my account settings and privacy preferences, including profile information, notification settings, email preferences, and data export, with the ability to preview changes before saving."
Your response:
🚨 Multiple red flags detected:
This story is doing at least 8 different things. Let's apply multiple techniques to break it down.
Step 1: Split by "manage" (hidden CRUD operations)
"Manage account settings" hides:
Step 2: Split by "and" (multiple feature areas)
Even just "edit settings" includes:
Step 3: Split by "including" (remove bundled features)
Each feature area can be split further:
Step 4: Extract basic utility (remove preview feature)
"Preview changes before saving" is a UX enhancement, not core functionality:
Final proposed splits (after applying all techniques):
"User can view current profile name and email"
"User can edit profile name"
"User can edit email address"
"User can toggle email notifications on/off"
"User can upload profile avatar"
"User can preview changes before saving profile"
"User can export their data as JSON"
Recommended delivery order:
Techniques applied:
This skill works in sequence with other skills:
Typical workflow:
Use this skill when:
Vs. hamburger-method:
Integration example:
After applying this skill, verify:
If any checkbox fails, revisit the splitting process.
Red flags that I didn't do this right:
For comprehensive splitting heuristics, see REFERENCE.md in this skill directory.
Risk grows faster than the size of the change.
Small stories = Low risk = Fast feedback = Learning Large stories = High risk = Slow feedback = Waste
Always push for the smallest, safest, most valuable slice possible.
development
Use when you have a spec or requirements for a multi-step task, before touching code
data-ai
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
tools
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
testing
Applies Kent Beck's Thinkies—pattern-based thinking habits that generate ideas. Use when stuck, exploring alternatives, or reframing decisions.