Loading...
Loading...
Break a large GitHub issue into independent, mergeable sub-issues with clear scope and acceptance criteria. Use when user says 'split this issue', 'break this down', 'this issue is too big', 'splice this epic', 'create sub-issues', or 'decompose this task'. Do NOT use for planning implementation steps within a single issue (use plan-issue) or for creating a fresh issue from scratch.
npx skill4agent add thommann/skills splice-issuegh issue view <number>CONTRIBUTING.md.github/CONTRIBUTING.mdgh issue view <number> --comments# For each subsystem mentioned, inspect it
ls src/<mentioned-area>/
grep -rn "<key-term>" src/ | head -20
# Recent activity in relevant files
git log --oneline -20 -- src/<area>/## {one-line title — imperative, concrete}
Part of #{parent-issue}.
### Context
{2–3 sentences: the parent goal, where this slice fits in.}
### Scope
- What this issue adds: {bullet list — specific files or behaviors}
- What this issue does NOT cover: {explicit non-goals, linking to sibling sub-issues}
### Acceptance criteria
- [ ] {Testable outcome 1}
- [ ] {Testable outcome 2}
- [ ] {Tests added / updated}
- [ ] {Docs updated if public behavior changed}
### Dependencies
- Blocks: #{sibling-issue-if-this-must-land-first}
- Blocked by: #{sibling-issue-this-waits-on}
- Independent of: {list siblings this doesn't touch}## Splice plan for #{parent-issue}: {parent title}
Proposed sub-issues (ordered by dependency):
1. **#NEW-1** — {title} — {1-line scope}
2. **#NEW-2** — {title} — {1-line scope} (blocked by #NEW-1)
3. **#NEW-3** — {title} — {1-line scope} (independent)
...
Estimated order of implementation: 1 → (2, 3 in parallel) → 4 → 5.for each sub-issue draft:
gh issue create --title "<title>" --body "<body from step 4>" --label "part-of-<parent>"gh issue comment <parent> --body "$(cat <<EOF
Spliced into sub-issues:
- [ ] #<NEW-1> — <title>
- [ ] #<NEW-2> — <title>
...
Closing this epic; individual sub-issues track work.
EOF
)"
# If the parent is an epic that should stay open to track the rollup, skip the close.
gh issue close <parent> --comment "Work tracked in sub-issues listed above."# Every sub-issue exists and references the parent
for n in <NEW-1> <NEW-2> ...; do
gh issue view "$n" | grep -i "part of"
done
# The parent references every sub-issue
gh issue view <parent> | grep -E "#<NEW-[0-9]+>"| Mistake | Correction |
|---|---|
| Sub-issues that depend on each other linearly (no parallelism) | Look for independent cuts (by entity, by layer, by user segment). A linear 5-issue chain is often a single sequenced issue with phases. |
| Sub-issues with no visible outcome | "Set up scaffolding" alone isn't an issue — fold it into the first user-visible slice. |
| Acceptance criteria that say "works well" | Concrete, testable: " |
| Creating issues before the user approves the splice | Always show the plan first (step 5). Issues are public records — wrong splits waste everyone's time. |