Task Planning
Use this skill when the job is turning messy context into one small planning packet that a team can actually act on.
task-planning is the PM front door for backlog cleanup, feature decomposition, sprint-candidate prep, release slicing, milestone packets, and roadmap-to-delivery translation before estimation, boards, review, or execution.
Core references:
- references/intake-packets-and-route-outs.md
- references/packet-shapes.md
- references/readiness-checklist.md
- references/planning-patterns.md
When to use this skill
- The request is too vague, too large, or too mixed to hand straight to implementation.
- A backlog needs to be cleaned into ready vs not-ready work.
- A roadmap item, feature, bug cluster, launch beat, or playtest finding needs execution slices.
- A team needs one compact packet that names dependencies, blockers, and acceptance criteria.
- The packet spans multiple disciplines: frontend/backend, PM/ops, GTM/content, or code/content/build/playtest work.
- The key question is "what should we actually do next?" rather than "how big is it?" or "what board should we use?"
When not to use this skill
- The main job is sizing, forecasting, or story-point language →
task-estimation.
- The work already exists and the real job is issue state transitions →
triage.
- The plan already exists and the real job is review/approval or diff markup →
plannotator.
- The main job is daily status coordination →
standup-meeting.
- The main job is reflection on completed work →
sprint-retrospective.
- The work is still concept framing, scope shaping, or game-production orchestration before decomposition →
bmad, bmad-idea, or bmad-gds first.
Instructions
Step 1: Choose one intake packet
Use references/intake-packets-and-route-outs.md and pick exactly one primary packet:
task_planning_packet:
packet: backlog-cleanup | feature-slice | sprint-candidate | release-packet | milestone-packet | discovery-first
domain: developer-workflow | web-fullstack | product-ops | marketing-gtm | game-development | mixed
source_material: repo/issues | prd/spec | gdd/playtest | launch-notes | chat-context | mixed | unknown
readiness_state: mostly-ready | mixed | mostly-fuzzy
output_shape: single-packet | slice-table-plus-not-ready | release-packet | milestone-packet | discovery-packet
Packet meanings:
backlog-cleanup — clarify, dedupe, and separate ready from not-ready work.
feature-slice — turn one feature or bug cluster into assignable slices.
sprint-candidate — prepare the next iteration's ready work.
release-packet — shape launch, rollout, campaign, or go-live work.
milestone-packet — coordinate cross-discipline milestone or demo work, especially for games.
discovery-first — expose unknowns before pretending implementation is ready.
Step 2: Gather the minimum credible evidence
Do not plan from vibes alone. Pull the smallest packet that supports decomposition:
- goal or problem statement
- user, business, team, or player outcome
- current artifacts: issues, spec/PRD, GDD, launch notes, playtest notes, bug list, or chat context
- timeline or trigger: sprint, release, milestone, event, or dependency window
- obvious constraints: owner, platform, environment, approvals, external dependencies
- missing details that could make the packet fake-ready
If evidence is thin, say so and choose discovery-first instead of inventing certainty.
Step 3: Split discovery from delivery early
Before you write slices, separate:
- Discovery — unanswered questions, validation, missing decisions
- Foundation — setup, architecture, shared assets, tooling, environments
- Delivery — user-facing or system-facing implementation slices
- Verification — QA, analytics, review, smoke tests, playtests, launch checks
- Follow-through — docs, enablement, rollout, reporting, monitoring, distribution
Do not bury research or unresolved decisions inside build tickets.
Step 4: Choose the smallest packet shape
Use references/packet-shapes.md.
Rules:
- If the user needs one next-action set, prefer a single packet.
- If the main need is ready vs not-ready triage, use slice table plus not-ready list.
- If the work is tied to a launch window, use a release packet.
- If the work is milestone-heavy and cross-discipline, use a milestone packet.
- If the packet starts doing decomposition, estimation, board control, review, and ceremony work at once, split responsibilities and route outward.
Step 5: Build slices with readiness fields
Every slice should have:
- title
- outcome
- owner role
- dependencies
- inputs required
- acceptance criteria
- risk / uncertainty
- ready? yes / no
- if not ready, what is missing?
Use short, testable acceptance criteria. Avoid vague statements like "works better" or "launch ready".
Step 6: Surface sequence and blockers
Explicitly name:
- what can run in parallel
- what must happen in order
- what is blocked
- what should be deferred
Use blocker buckets from references/readiness-checklist.md:
missing-scope
missing-design
missing-data
external-dependency
environment-access
approval-needed
cross-team-handoff
Step 7: Run the route-out check
Verify all of these:
- The chosen packet matches the real planning job.
- Discovery is separated from implementation when confidence is low.
- The packet does not silently absorb sizing, board control, plan review, standups, or retros.
- Cross-domain nuance survives without turning the output into a tutorial.
- The packet ends with one clear next move.
Route-outs to keep explicit:
- sizing →
task-estimation
- issue state transitions →
triage
- plan review / approval →
plannotator
- daily coordination →
standup-meeting
- completed-work reflection →
sprint-retrospective
- concept framing / strategy shaping →
bmad, bmad-idea, bmad-gds
Step 8: Return the brief or the final packet
Preferred brief shape before full drafting:
# Task Planning Brief
## Packet choice
- Packet:
- Domain:
- Why it fits:
- Output shape:
## Source material used
- Main evidence:
- Constraints / dependencies:
- Assumptions / gaps:
## Planned slices
1. slice
2. slice
3. slice
## Route-out notes
- Out of scope:
- Not-ready work kept separate:
- Recommended next move:
If the user already asked for the final artifact, return a compact planning packet directly.
Output format
Default packet shape:
# Planning Packet
## Planning horizon
- Packet:
- Domain:
- Confidence: high | medium | low
## Goal
- ...
## Assumptions
- ...
## Work slices
| Slice | Outcome | Owner role | Dependencies | Ready? |
|------|---------|------------|--------------|--------|
| ... | ... | ... | ... | yes/no |
## Slice details
### 1. [Slice name]
- Inputs required:
- Acceptance criteria:
- [ ] ...
- Risks / uncertainty:
- Notes:
## Sequencing
1. ...
2. ...
## Blockers / not-ready items
- Bucket:
- Missing:
- Next action:
## Recommended next move
- start implementation | run discovery first | groom with owners | estimate now | defer until dependency clears
Examples
Example 1: Fullstack feature slicing
Input
Break down a new team-invite flow for our SaaS app. We need email invites, acceptance, and admin visibility before sprint planning.
Good output direction
- packet:
sprint-candidate
- domain:
web-fullstack
- split backend/data, invite acceptance flow, admin visibility, verification, and follow-through
- keep story points out of scope
Example 2: Backlog cleanup
Input
We have a pile of vague onboarding backlog items. Clean them up so we can see what is actually ready next week.
Good output direction
- packet:
backlog-cleanup
- output shape:
slice-table-plus-not-ready
- mark missing scope, ownership, or approvals explicitly
- separate discovery tickets from implementation tickets
Example 3: Marketing / launch packet
Input
Plan the next release push for our B2B launch: landing-page updates, email sequence, attribution checks, and launch-day reporting.
Good output direction
- packet:
release-packet
- domain:
marketing-gtm
- separate asset creation, review/approval, distribution, measurement, and reporting
- route deep copywriting/campaign execution to
marketing-automation
Example 4: Game milestone packet
Input
Plan the next milestone for our roguelike demo: tutorial polish, controller support, and a streamer-ready build.
Good output direction
- packet:
milestone-packet
- domain:
game-development
- separate code/system work, content/polish, build/QA, and playtest/distribution concerns
- keep broader game-production orchestration routed to
bmad-gds when needed
Best practices
- Choose one primary packet before decomposing the work.
- Keep discovery separate from delivery whenever requirements are unstable.
- Prefer small, reviewable slices over broad work categories.
- Surface blockers and missing inputs explicitly instead of burying them in notes.
- Preserve domain nuance for developer workflow, web/fullstack, product/ops, marketing/GTM, and game work without bloating the front door.
- Route sizing, board control, review, daily cadence, and retrospectives out instead of stretching the skill boundary.
- Keep the packet compact enough that a team can act on it immediately.
- Update compact and manifest discovery surfaces when the role wording changes materially.
References
1---2name: task-planning3description: Turns vague features, bug clusters, roadmap items, or launch work into an execution-ready planning packet by choosing the right packet type, separating discovery from delivery, and making blockers, dependencies, and the next move explicit.4license: MIT5---67# Task Planning89Use this skill when the job is **turning messy context into one small planning packet that a team can actually act on**.1011`task-planning` is the PM front door for backlog cleanup, feature decomposition, sprint-candidate prep, release slicing, milestone packets, and roadmap-to-delivery translation before estimation, boards, review, or execution.1213Core references:14- [references/intake-packets-and-route-outs.md](references/intake-packets-and-route-outs.md)15- [references/packet-shapes.md](references/packet-shapes.md)16- [references/readiness-checklist.md](references/readiness-checklist.md)17- [references/planning-patterns.md](references/planning-patterns.md)1819## When to use this skill20- The request is too vague, too large, or too mixed to hand straight to implementation.21- A backlog needs to be cleaned into ready vs not-ready work.22- A roadmap item, feature, bug cluster, launch beat, or playtest finding needs execution slices.23- A team needs one compact packet that names dependencies, blockers, and acceptance criteria.24- The packet spans multiple disciplines: frontend/backend, PM/ops, GTM/content, or code/content/build/playtest work.25- The key question is "what should we actually do next?" rather than "how big is it?" or "what board should we use?"2627## When not to use this skill28- **The main job is sizing, forecasting, or story-point language** → `task-estimation`.29- **The work already exists and the real job is issue state transitions** → `triage`.30- **The plan already exists and the real job is review/approval or diff markup** → `plannotator`.31- **The main job is daily status coordination** → `standup-meeting`.32- **The main job is reflection on completed work** → `sprint-retrospective`.33- **The work is still concept framing, scope shaping, or game-production orchestration before decomposition** → `bmad`, `bmad-idea`, or `bmad-gds` first.3435## Instructions3637### Step 1: Choose one intake packet38Use [references/intake-packets-and-route-outs.md](references/intake-packets-and-route-outs.md) and pick exactly one primary packet:3940```yaml41task_planning_packet:42 packet: backlog-cleanup | feature-slice | sprint-candidate | release-packet | milestone-packet | discovery-first43 domain: developer-workflow | web-fullstack | product-ops | marketing-gtm | game-development | mixed44 source_material: repo/issues | prd/spec | gdd/playtest | launch-notes | chat-context | mixed | unknown45 readiness_state: mostly-ready | mixed | mostly-fuzzy46 output_shape: single-packet | slice-table-plus-not-ready | release-packet | milestone-packet | discovery-packet47```4849Packet meanings:50- `backlog-cleanup` — clarify, dedupe, and separate ready from not-ready work.51- `feature-slice` — turn one feature or bug cluster into assignable slices.52- `sprint-candidate` — prepare the next iteration's ready work.53- `release-packet` — shape launch, rollout, campaign, or go-live work.54- `milestone-packet` — coordinate cross-discipline milestone or demo work, especially for games.55- `discovery-first` — expose unknowns before pretending implementation is ready.5657### Step 2: Gather the minimum credible evidence58Do not plan from vibes alone. Pull the smallest packet that supports decomposition:59- goal or problem statement60- user, business, team, or player outcome61- current artifacts: issues, spec/PRD, GDD, launch notes, playtest notes, bug list, or chat context62- timeline or trigger: sprint, release, milestone, event, or dependency window63- obvious constraints: owner, platform, environment, approvals, external dependencies64- missing details that could make the packet fake-ready6566If evidence is thin, say so and choose `discovery-first` instead of inventing certainty.6768### Step 3: Split discovery from delivery early69Before you write slices, separate:701. **Discovery** — unanswered questions, validation, missing decisions712. **Foundation** — setup, architecture, shared assets, tooling, environments723. **Delivery** — user-facing or system-facing implementation slices734. **Verification** — QA, analytics, review, smoke tests, playtests, launch checks745. **Follow-through** — docs, enablement, rollout, reporting, monitoring, distribution7576Do not bury research or unresolved decisions inside build tickets.7778### Step 4: Choose the smallest packet shape79Use [references/packet-shapes.md](references/packet-shapes.md).8081Rules:82- If the user needs one next-action set, prefer a **single packet**.83- If the main need is ready vs not-ready triage, use **slice table plus not-ready list**.84- If the work is tied to a launch window, use a **release packet**.85- If the work is milestone-heavy and cross-discipline, use a **milestone packet**.86- If the packet starts doing decomposition, estimation, board control, review, and ceremony work at once, split responsibilities and route outward.8788### Step 5: Build slices with readiness fields89Every slice should have:90- title91- outcome92- owner role93- dependencies94- inputs required95- acceptance criteria96- risk / uncertainty97- ready? yes / no98- if not ready, what is missing?99100Use short, testable acceptance criteria. Avoid vague statements like "works better" or "launch ready".101102### Step 6: Surface sequence and blockers103Explicitly name:104- what can run in parallel105- what must happen in order106- what is blocked107- what should be deferred108109Use blocker buckets from [references/readiness-checklist.md](references/readiness-checklist.md):110- `missing-scope`111- `missing-design`112- `missing-data`113- `external-dependency`114- `environment-access`115- `approval-needed`116- `cross-team-handoff`117118### Step 7: Run the route-out check119Verify all of these:1201. The chosen packet matches the real planning job.1212. Discovery is separated from implementation when confidence is low.1223. The packet does not silently absorb sizing, board control, plan review, standups, or retros.1234. Cross-domain nuance survives without turning the output into a tutorial.1245. The packet ends with one clear next move.125126Route-outs to keep explicit:127- sizing → `task-estimation`128- issue state transitions → `triage`129- plan review / approval → `plannotator`130- daily coordination → `standup-meeting`131- completed-work reflection → `sprint-retrospective`132- concept framing / strategy shaping → `bmad`, `bmad-idea`, `bmad-gds`133134### Step 8: Return the brief or the final packet135Preferred brief shape before full drafting:136137```markdown138# Task Planning Brief139140## Packet choice141- Packet:142- Domain:143- Why it fits:144- Output shape:145146## Source material used147- Main evidence:148- Constraints / dependencies:149- Assumptions / gaps:150151## Planned slices1521. slice1532. slice1543. slice155156## Route-out notes157- Out of scope:158- Not-ready work kept separate:159- Recommended next move:160```161162If the user already asked for the final artifact, return a compact planning packet directly.163164## Output format165Default packet shape:166167```markdown168# Planning Packet169170## Planning horizon171- Packet:172- Domain:173- Confidence: high | medium | low174175## Goal176- ...177178## Assumptions179- ...180181## Work slices182| Slice | Outcome | Owner role | Dependencies | Ready? |183|------|---------|------------|--------------|--------|184| ... | ... | ... | ... | yes/no |185186## Slice details187### 1. [Slice name]188- Inputs required:189- Acceptance criteria:190 - [ ] ...191- Risks / uncertainty:192- Notes:193194## Sequencing1951. ...1962. ...197198## Blockers / not-ready items199- Bucket:200- Missing:201- Next action:202203## Recommended next move204- start implementation | run discovery first | groom with owners | estimate now | defer until dependency clears205```206207## Examples208209### Example 1: Fullstack feature slicing210**Input**211> Break down a new team-invite flow for our SaaS app. We need email invites, acceptance, and admin visibility before sprint planning.212213**Good output direction**214- packet: `sprint-candidate`215- domain: `web-fullstack`216- split backend/data, invite acceptance flow, admin visibility, verification, and follow-through217- keep story points out of scope218219### Example 2: Backlog cleanup220**Input**221> We have a pile of vague onboarding backlog items. Clean them up so we can see what is actually ready next week.222223**Good output direction**224- packet: `backlog-cleanup`225- output shape: `slice-table-plus-not-ready`226- mark missing scope, ownership, or approvals explicitly227- separate discovery tickets from implementation tickets228229### Example 3: Marketing / launch packet230**Input**231> Plan the next release push for our B2B launch: landing-page updates, email sequence, attribution checks, and launch-day reporting.232233**Good output direction**234- packet: `release-packet`235- domain: `marketing-gtm`236- separate asset creation, review/approval, distribution, measurement, and reporting237- route deep copywriting/campaign execution to `marketing-automation`238239### Example 4: Game milestone packet240**Input**241> Plan the next milestone for our roguelike demo: tutorial polish, controller support, and a streamer-ready build.242243**Good output direction**244- packet: `milestone-packet`245- domain: `game-development`246- separate code/system work, content/polish, build/QA, and playtest/distribution concerns247- keep broader game-production orchestration routed to `bmad-gds` when needed248249## Best practices2501. Choose one primary packet before decomposing the work.2512. Keep discovery separate from delivery whenever requirements are unstable.2523. Prefer small, reviewable slices over broad work categories.2534. Surface blockers and missing inputs explicitly instead of burying them in notes.2545. Preserve domain nuance for developer workflow, web/fullstack, product/ops, marketing/GTM, and game work without bloating the front door.2556. Route sizing, board control, review, daily cadence, and retrospectives out instead of stretching the skill boundary.2567. Keep the packet compact enough that a team can act on it immediately.2578. Update compact and manifest discovery surfaces when the role wording changes materially.258259## References260- [Atlassian — Backlog refinement](https://www.atlassian.com/agile/scrum/backlog-refinement)261- [Atlassian — Sprint planning](https://www.atlassian.com/agile/scrum/sprint-planning)262- [GitHub Docs — About Projects](https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)263- [GitHub Docs — About milestones](https://docs.github.com/en/issues/using-labels-and-milestones-to-track-work/about-milestones)264- [HacknPlan Docs](https://hacknplan.com/docs/milestones-and-deadlines/)