/divide
/divide kanban board
Split a GitHub issue or task into session-sized issues and put them on the board. Use when a task is too big for one session or remaining work must be split off.
- invocation model + user
- prereqs gh, authenticated, origin on GitHub (otherwise…
- tested lightly used
- suggested model · effort opus · medium
Install
Install just this, from a clone of the repo. Anything it needs comes with it.
./scripts/install-skills.sh --skill divide # bash, Git Bash, macOS, Linux
.\scripts\install-skills.ps1 -Skill divide # Windows PowerShell
Needs: next (installed with it).
What it does
Splits an issue (or a described task) that's too big for one session into two or more session-sized issues (each fits the ~75K-token smart zone and one PR).
- Links them from the parent.
- Puts them on the board.
When to use
- A task is clearly multi-session.
- Context is running low mid-task and the rest must be split off (the
smartzone.pyhook suggests this). - The
planneragent uses it to propose splits (it never creates them).
How to invoke
/divide <issue number or task description>. Claude can also run it itself.
How it works
- Reads the target (
gh issue view <n>or your description). - Target already fits one session? Says so and stops.
- Otherwise proposes 2+ pieces (or uses your split) and shows it before creating anything.
- If you revise the split, it shows it again.
- On confirmation:
gh issue createper piece ("Part of #n").- Adds a task-list checkbox per child to the parent's body. If the parent already uses sub-issues, it attaches each child as one instead.
- Work an existing child covers is never re-split.
- A free-text target has no parent issue, so "Part of", the checkboxes and the roadmap link are skipped.
- Adds each child to the board.
- Projects v2 →
gh project item-addthengh project item-editto set Status=Todo (item-addalone leaves Status empty). - Label fallback →
status:todo(created first if missing).
- Projects v2 →
- If a roadmap doc links the parent, adds
#n → #a, #binline and commits only the roadmap file asdocs: divide #n into #a/#b/#c…on the current branch.- On the default branch it branches first, reports the branch and SHA, asks whether to push and open a PR (never without your yes), then switches back.
- If the parent is now only a tracker, says so and offers to close it once children land.
Flow
Card status flow: todo → in-progress → in-review → done.
- todo: set explicitly by
gh project item-editwhen an issue is added —item-addalone leaves Status empty. - in-progress: set by
pairormeta-orchestratorwhen they create the branch (their guarded agents can only read withgh). - in-review: set by
session-handoff. - done: set by
update-progress, once verified and merged; unmerged stays in-review. - Label-mode
status:*labels are created on first use (gh label create --color <hex> --force, colors innext/BOARD.md), not assumed to exist.
Design principles
- Session-sized pieces. Each child gets a "done when", so one session can finish it and
session-handoffcan call it complete. - Propose first, create on yes. The split is shown before any issue exists; the
planneragent only ever proposes. - Keep the trail. Children say "Part of #n", the parent gets a checkbox per child, and a roadmap that links the parent links the children too.
Shared context for these principles: Matt Pocock's video.
Use cases
- An issue that is clearly several sessions of work.
- Context running low mid-task: split off what's left as its own issue.
- The
planneragent flagging an oversized issue during ameta-orchestratorrun (proposal only; you create).
Tips
- Bring your own split ("divide 28 into the token model and the migration") if you already know the seams.
- Push back on the proposal before saying yes; nothing exists until you do.
- Once the parent only tracks children, accept the offer to close it after they land rather than leaving it in Todo.
- In a repo whose roadmap doc links the parent, it commits the roadmap edit (
docs: divide #n into #a/#b/#c…, on a branch, not pushed).
Example
/divide 28
Claude reads #28 "Rework auth flow" and proposes:
1. Auth token model: done when tokens are issued and validated, with tests.
2. Migrate sessions: done when live sessions convert to tokens on next request.
3. Remove old middleware: done when the session middleware is deleted and CI is green.
Create these 3 issues?
You say yes.
- It creates #40, #41 and #42 (each "Part of #28. …").
- It adds three task-list checkboxes to #28's body.
- It puts each child on the board at Todo.
- It adds
#28 → #40, #41, #42beside #28 inROADMAP.mdand commitsdocs: divide #28 into #40/#41/#42. - #28 now only tracks its children, so it offers to close it once they land.
Related
- Preloaded by the
planneragent (proposal only). consult-planadds its new issues to the board the same way.
Prereqs
gh, authenticated,originon GitHub (otherwise it stops and says so).- On a fork it asks which repo to write to. If the fork has issues turned off (GitHub's default), it reads issues from the parent.
- Projects v2 boards need the
projectOAuth scope: rungh auth refresh -s project -s read:projectonce (seekanban/README.md).
Sample workflows
- Bootstrap a board from the docs
you → kanban-setup → you → divide → you → next → find-me-a-skill → you
Install just this one:./scripts/install-skills.sh --workflow new-boardor.\scripts\install-skills.ps1 -Workflow new-board - Turn a gap scan into planned work
gap-scan → you → grill-docs → you → divide → you
Install just this one:./scripts/install-skills.sh --workflow gaps-to-issuesor.\scripts\install-skills.ps1 -Workflow gaps-to-issues - Plan an effort too big for one session
you → wayfinder → grill-docs → you → divide → you → meta-orchestrator
Install just this one:./scripts/install-skills.sh --workflow big-effortor.\scripts\install-skills.ps1 -Workflow big-effort - Wrap up a long session
smartzone → divide → you → session-handoff → you
Install just this one:./scripts/install-skills.sh --workflow wrap-up-long-sessionor.\scripts\install-skills.ps1 -Workflow wrap-up-long-session
Use cases & tips from the community