BMAD Packet-First Router
Use bmad as the common-layer BMAD/BMM front door.
The job is not to dump every phase command or runtime setup rule.
The job is to:
- identify the packet the user already has,
- choose the project level and likely current phase,
- recommend the single next artifact or gate that reduces ambiguity now,
- route runtime-, review-, execution-, or game-specific detail outward.
Read references/intake-packets-and-route-outs.md first for the fastest routing model. Use references/core-routing.md, references/status-and-review.md, and references/runtime-and-module-boundaries.md when you need more depth.
When to use this skill
- The user wants to start or resume a BMAD/BMM-style workflow from mixed project state
- The user asks what phase comes next after idea notes, a PRD, a tech spec, architecture work, or partial implementation
- The user has an existing repo, issue, review note, or brownfield status and needs the next artifact chosen truthfully
- The user wants a vendor-neutral BMAD front door before dropping into Claude-, Codex-, or Gemini-specific runtime overlays
- The user needs help deciding whether the next move is ideation, planning, architecture, approval, execution slicing, or runtime handoff
When not to use this skill
- The main need is open-ended concept shaping before project framing exists → use
bmad-idea
- The main need is a game-production packet (GDD, playtest notes, build issues, launch beats) → use
bmad-gds
- The main need is artifact approval, annotation, or plan review → use
plannotator
- The main need is execution-ready backlog slicing after the next artifact is already known → use
task-planning
- The main need is runtime-specific orchestration setup for Claude Code → use
oh-my-claudecode
- The main need is Codex-first workflow runtime behavior → use
oh-my-codex
- The main need is Gemini / Antigravity portable harness setup → use
oh-my-agent
Instructions
Step 1: Normalize the intake as one primary packet
Before talking about phases, choose the single best packet that describes the current ask:
bmad_packet:
packet_type:
- concept-packet
- planning-packet
- architecture-packet
- review-gate-packet
- execution-packet
- runtime-handoff-packet
- brownfield-resume-packet
evidence_in_hand:
- idea-notes
- product-brief
- prd
- tech-spec
- architecture-draft
- review-feedback
- active-repo
- issue-or-bug-link
- sprint-plan
- milestone-or-launch-pressure
project_type: web-app | backend-api | mobile-app | game | library | automation | unknown
project_level: 0 | 1 | 2 | 3 | 4 | unknown
runtime_context: claude | codex | gemini | opencode | mixed | unknown
main_constraint: ambiguity | review-blocker | execution-readiness | runtime-setup | brownfield-drift | unknown
Rules:
- Pick one primary packet first, even if the user mentions several artifacts.
- If the packet is obviously pre-planning, say so and route to
bmad-idea early.
- If the packet is mostly game-production coordination, route to
bmad-gds early.
- If the request starts from an existing repo, issue, or partial implementation, prefer
brownfield-resume-packet over pretending the project is greenfield.
Step 2: Choose project level before artifact depth
Use this scale:
- Level 0 — single atomic change, bug fix, config tweak
- Level 1 — small feature, limited files, low coordination cost
- Level 2 — medium feature set, cross-cutting behavior, clear planning + architecture need
- Level 3 — complex integration, multiple subsystems, API/data contracts, multi-sprint delivery
- Level 4 — major overhaul, platform migration, enterprise-scale coordination
Do not force architecture or heavyweight planning onto level 0–1 work unless the visible packet truly requires it.
Step 3: Infer the likely current phase from the packet
Use the packet to infer the current BMAD phase, not the other way around:
| Packet type |
Likely phase |
Default next artifact or gate |
concept-packet |
analysis |
product-brief or route to bmad-idea |
planning-packet |
planning |
prd or tech-spec |
architecture-packet |
solutioning |
architecture or architecture review gate |
review-gate-packet |
boundary between phases |
plannotator review before advancing |
execution-packet |
implementation |
sprint-plan, story packet, or route to task-planning |
runtime-handoff-packet |
implementation-ready |
runtime route-out to oh-my-claudecode, oh-my-codex, or oh-my-agent |
brownfield-resume-packet |
mixed / unknown |
workflow-status update, repo-state summary, then the smallest truthful next artifact |
Guiding rules:
- Prefer the smallest truthful next artifact.
- If an artifact already exists but has not been reviewed, the next move is often the review gate, not another new document.
- If the request is really a runtime/setup ask, keep
bmad short and route outward.
Step 4: Choose one next artifact, not a parallel stack
Pick the single next artifact or gate that best reduces ambiguity now:
| Current state |
Preferred next move |
| vague idea, opportunity, user problem |
product-brief |
| requirements emerging, implementation shape still unclear |
prd or tech-spec |
| planning exists, system shape is still fuzzy |
architecture |
| architecture exists but approval is missing |
review gate |
| approved architecture exists, execution slicing is weak |
sprint-plan or story packet |
| active implementation exists but status is unclear |
workflow-status update + next-story recommendation |
| runtime is the real blocker after approval |
runtime handoff to oh-my-claudecode / oh-my-codex / oh-my-agent |
Step 5: Route specialist work explicitly
If the front-door decision is made, route the rest clearly:
bmad-idea → pre-planning concept framing before formal BMAD artifacts exist
plannotator → review / approval gate for PRD, architecture, sprint plan, or plan diffs
task-planning → execution-ready slicing after the next artifact is approved or obvious
oh-my-claudecode → Claude-first runtime orchestration, hooks, team mode, stop callbacks
oh-my-codex → Codex-first orchestration, AGENTS.md injection, workflow skills, tmux team runtime
oh-my-agent → Gemini / Antigravity portable harness, .agents/ source of truth, generated runtime views
bmad-gds → game-specific production routing
Leave a short reason for the route-out. Do not just name the neighboring skill.
Step 6: Keep state and review visible
When a project already uses BMAD state files or helper scripts, keep them in the loop:
- inspect status/config artifacts before recommending a phase leap
- if a required artifact exists but lacks approval, route to
plannotator
- prefer script/status awareness over re-deriving the workflow from scratch
- use brownfield evidence honestly instead of pretending the project is still at idea stage
Step 7: Produce a compact BMAD routing brief
Always return this structure:
# BMAD Routing Brief
## Scope
- Packet type: ...
- Project type: ...
- Project level: 0 | 1 | 2 | 3 | 4
- Runtime context: ...
- Confidence: high | medium | low
## Current phase
- analysis | planning | solutioning | implementation | mixed | unknown
- Why: ...
## Recommended next move
- product-brief | prd | tech-spec | architecture | review gate | sprint-plan | story packet | workflow-status update | runtime handoff
## Why this is next
- 2-4 bullets grounded in the packet
## Route-outs
- Skill / module: ...
- Why: ...
- What to pass forward: ...
## What not to do yet
- 1-3 bullets preventing premature detail or the wrong lane
Step 8: Push detail into references
Do not inflate the main response with every helper script, command family, or runtime rule. Use the references when needed:
- intake packets and route-outs
- core routing model
- status files, scripts, and review gates
- runtime and module boundaries
Output format
Return a short BMAD routing brief.
Required qualities:
- choose one primary packet before choosing the next artifact
- make the project-level assumption explicit
- keep review-gate visibility before phase advancement
- keep runtime/setup detail separated from the common BMAD layer
- keep the result under roughly 400-700 words unless the user asks for a full workflow packet
Examples
Example 1: brownfield repo, unclear next step
Input
Use bmad. We already have a repo and some product notes, but planning drifted and I don't know whether we need a PRD, architecture, or just sprint planning.
Output sketch
- Packet type:
brownfield-resume-packet
- Likely phase:
mixed
- Recommended next move:
workflow-status update, then whichever artifact is actually missing
- Route-outs only after the missing artifact is identified
Example 2: architecture exists, execution weak
Input
We already wrote the architecture doc for our API migration. What should we do next in BMAD?
Output sketch
- Packet type:
architecture-packet
- Current phase:
solutioning
- Recommended next move:
review gate if architecture is unreviewed, otherwise sprint-plan
- Route-out:
plannotator first, task-planning second
Example 3: runtime-specific follow-up
Input
I want BMAD for Codex CLI. What should I actually use?
Output sketch
- Keep
bmad as the packet/phase router
- Packet type:
runtime-handoff-packet
- Route Codex runtime specifics to
oh-my-codex
- Do not turn
bmad into a Codex setup guide
Best practices
- Act like a packet-first router — start from the artifact or evidence the user already has.
- Choose level before depth — level 0–1 and level 2–4 should not produce the same paperwork.
- Keep review visible — if approval is the blocker, say so before inventing a new artifact.
- Keep runtime overlays separate —
oh-my-claudecode, oh-my-codex, and oh-my-agent own vendor/runtime specifics.
- Prefer one clear handoff — one next move plus one or two route-outs beats a giant workflow dump.
- Use references for deep detail — helper scripts, status rules, and runtime boundaries belong in support docs.
References
- Intake packets and route-outs
- Core routing model
- Status files, scripts, and review gates
- Runtime and module boundaries
./scripts/init-project.sh
./scripts/check-status.sh
./scripts/phase-gate-review.sh
- Upstream BMAD README
../bmad-idea/SKILL.md
../plannotator/SKILL.md
../task-planning/SKILL.md
../bmad-gds/SKILL.md
1---2name: bmad3description: Packet-first BMAD/BMM front door for idea notes, product briefs, PRDs, architecture drafts, review feedback, existing repo state, and milestone pressure. Use when the user wants to know what BMAD phase or artifact comes next, or needs a portable BMAD entrypoint before routing review, execution slicing, runtime setup, or game-production work outward.4---567891011# BMAD Packet-First Router1213Use `bmad` as the **common-layer BMAD/BMM front door**.1415The job is not to dump every phase command or runtime setup rule.16The job is to:171. identify the **packet** the user already has,182. choose the project level and likely current phase,193. recommend the **single next artifact or gate** that reduces ambiguity now,204. route runtime-, review-, execution-, or game-specific detail outward.2122Read [references/intake-packets-and-route-outs.md](references/intake-packets-and-route-outs.md) first for the fastest routing model. Use [references/core-routing.md](references/core-routing.md), [references/status-and-review.md](references/status-and-review.md), and [references/runtime-and-module-boundaries.md](references/runtime-and-module-boundaries.md) when you need more depth.2324## When to use this skill25- The user wants to start or resume a BMAD/BMM-style workflow from mixed project state26- The user asks what phase comes next after idea notes, a PRD, a tech spec, architecture work, or partial implementation27- The user has an existing repo, issue, review note, or brownfield status and needs the next artifact chosen truthfully28- The user wants a vendor-neutral BMAD front door before dropping into Claude-, Codex-, or Gemini-specific runtime overlays29- The user needs help deciding whether the next move is ideation, planning, architecture, approval, execution slicing, or runtime handoff3031## When not to use this skill32- The main need is open-ended concept shaping before project framing exists → use `bmad-idea`33- The main need is a game-production packet (GDD, playtest notes, build issues, launch beats) → use `bmad-gds`34- The main need is artifact approval, annotation, or plan review → use `plannotator`35- The main need is execution-ready backlog slicing after the next artifact is already known → use `task-planning`36- The main need is runtime-specific orchestration setup for Claude Code → use `oh-my-claudecode`37- The main need is Codex-first workflow runtime behavior → use `oh-my-codex`38- The main need is Gemini / Antigravity portable harness setup → use `oh-my-agent`3940## Instructions4142### Step 1: Normalize the intake as one primary packet43Before talking about phases, choose the **single best packet** that describes the current ask:4445```yaml46bmad_packet:47 packet_type:48 - concept-packet49 - planning-packet50 - architecture-packet51 - review-gate-packet52 - execution-packet53 - runtime-handoff-packet54 - brownfield-resume-packet55 evidence_in_hand:56 - idea-notes57 - product-brief58 - prd59 - tech-spec60 - architecture-draft61 - review-feedback62 - active-repo63 - issue-or-bug-link64 - sprint-plan65 - milestone-or-launch-pressure66 project_type: web-app | backend-api | mobile-app | game | library | automation | unknown67 project_level: 0 | 1 | 2 | 3 | 4 | unknown68 runtime_context: claude | codex | gemini | opencode | mixed | unknown69 main_constraint: ambiguity | review-blocker | execution-readiness | runtime-setup | brownfield-drift | unknown70```7172Rules:73- Pick **one primary packet first**, even if the user mentions several artifacts.74- If the packet is obviously pre-planning, say so and route to `bmad-idea` early.75- If the packet is mostly game-production coordination, route to `bmad-gds` early.76- If the request starts from an existing repo, issue, or partial implementation, prefer `brownfield-resume-packet` over pretending the project is greenfield.7778### Step 2: Choose project level before artifact depth79Use this scale:80- **Level 0** — single atomic change, bug fix, config tweak81- **Level 1** — small feature, limited files, low coordination cost82- **Level 2** — medium feature set, cross-cutting behavior, clear planning + architecture need83- **Level 3** — complex integration, multiple subsystems, API/data contracts, multi-sprint delivery84- **Level 4** — major overhaul, platform migration, enterprise-scale coordination8586Do not force architecture or heavyweight planning onto level 0–1 work unless the visible packet truly requires it.8788### Step 3: Infer the likely current phase from the packet89Use the packet to infer the current BMAD phase, not the other way around:9091| Packet type | Likely phase | Default next artifact or gate |92|---|---|---|93| `concept-packet` | analysis | `product-brief` or route to `bmad-idea` |94| `planning-packet` | planning | `prd` or `tech-spec` |95| `architecture-packet` | solutioning | `architecture` or `architecture review gate` |96| `review-gate-packet` | boundary between phases | `plannotator` review before advancing |97| `execution-packet` | implementation | `sprint-plan`, `story packet`, or route to `task-planning` |98| `runtime-handoff-packet` | implementation-ready | runtime route-out to `oh-my-claudecode`, `oh-my-codex`, or `oh-my-agent` |99| `brownfield-resume-packet` | mixed / unknown | `workflow-status` update, repo-state summary, then the smallest truthful next artifact |100101Guiding rules:102- Prefer the **smallest truthful next artifact**.103- If an artifact already exists but has not been reviewed, the next move is often the **review gate**, not another new document.104- If the request is really a runtime/setup ask, keep `bmad` short and route outward.105106### Step 4: Choose one next artifact, not a parallel stack107Pick the **single next artifact or gate** that best reduces ambiguity now:108109| Current state | Preferred next move |110|---|---|111| vague idea, opportunity, user problem | `product-brief` |112| requirements emerging, implementation shape still unclear | `prd` or `tech-spec` |113| planning exists, system shape is still fuzzy | `architecture` |114| architecture exists but approval is missing | `review gate` |115| approved architecture exists, execution slicing is weak | `sprint-plan` or `story packet` |116| active implementation exists but status is unclear | `workflow-status` update + next-story recommendation |117| runtime is the real blocker after approval | runtime handoff to `oh-my-claudecode` / `oh-my-codex` / `oh-my-agent` |118119### Step 5: Route specialist work explicitly120If the front-door decision is made, route the rest clearly:121- `bmad-idea` → pre-planning concept framing before formal BMAD artifacts exist122- `plannotator` → review / approval gate for PRD, architecture, sprint plan, or plan diffs123- `task-planning` → execution-ready slicing after the next artifact is approved or obvious124- `oh-my-claudecode` → Claude-first runtime orchestration, hooks, team mode, stop callbacks125- `oh-my-codex` → Codex-first orchestration, AGENTS.md injection, workflow skills, tmux team runtime126- `oh-my-agent` → Gemini / Antigravity portable harness, `.agents/` source of truth, generated runtime views127- `bmad-gds` → game-specific production routing128129Leave a short reason for the route-out. Do not just name the neighboring skill.130131### Step 6: Keep state and review visible132When a project already uses BMAD state files or helper scripts, keep them in the loop:133- inspect status/config artifacts before recommending a phase leap134- if a required artifact exists but lacks approval, route to `plannotator`135- prefer script/status awareness over re-deriving the workflow from scratch136- use brownfield evidence honestly instead of pretending the project is still at idea stage137138### Step 7: Produce a compact BMAD routing brief139Always return this structure:140141```markdown142# BMAD Routing Brief143144## Scope145- Packet type: ...146- Project type: ...147- Project level: 0 | 1 | 2 | 3 | 4148- Runtime context: ...149- Confidence: high | medium | low150151## Current phase152- analysis | planning | solutioning | implementation | mixed | unknown153- Why: ...154155## Recommended next move156- product-brief | prd | tech-spec | architecture | review gate | sprint-plan | story packet | workflow-status update | runtime handoff157158## Why this is next159- 2-4 bullets grounded in the packet160161## Route-outs162- Skill / module: ...163- Why: ...164- What to pass forward: ...165166## What not to do yet167- 1-3 bullets preventing premature detail or the wrong lane168```169170### Step 8: Push detail into references171Do **not** inflate the main response with every helper script, command family, or runtime rule. Use the references when needed:172- [intake packets and route-outs](references/intake-packets-and-route-outs.md)173- [core routing model](references/core-routing.md)174- [status files, scripts, and review gates](references/status-and-review.md)175- [runtime and module boundaries](references/runtime-and-module-boundaries.md)176177## Output format178Return a **short BMAD routing brief**.179180Required qualities:181- choose one primary packet before choosing the next artifact182- make the project-level assumption explicit183- keep review-gate visibility before phase advancement184- keep runtime/setup detail separated from the common BMAD layer185- keep the result under roughly 400-700 words unless the user asks for a full workflow packet186187## Examples188189### Example 1: brownfield repo, unclear next step190**Input**191> Use bmad. We already have a repo and some product notes, but planning drifted and I don't know whether we need a PRD, architecture, or just sprint planning.192193**Output sketch**194- Packet type: `brownfield-resume-packet`195- Likely phase: `mixed`196- Recommended next move: `workflow-status` update, then whichever artifact is actually missing197- Route-outs only after the missing artifact is identified198199### Example 2: architecture exists, execution weak200**Input**201> We already wrote the architecture doc for our API migration. What should we do next in BMAD?202203**Output sketch**204- Packet type: `architecture-packet`205- Current phase: `solutioning`206- Recommended next move: `review gate` if architecture is unreviewed, otherwise `sprint-plan`207- Route-out: `plannotator` first, `task-planning` second208209### Example 3: runtime-specific follow-up210**Input**211> I want BMAD for Codex CLI. What should I actually use?212213**Output sketch**214- Keep `bmad` as the packet/phase router215- Packet type: `runtime-handoff-packet`216- Route Codex runtime specifics to `oh-my-codex`217- Do not turn `bmad` into a Codex setup guide218219## Best practices2201. **Act like a packet-first router** — start from the artifact or evidence the user already has.2212. **Choose level before depth** — level 0–1 and level 2–4 should not produce the same paperwork.2223. **Keep review visible** — if approval is the blocker, say so before inventing a new artifact.2234. **Keep runtime overlays separate** — `oh-my-claudecode`, `oh-my-codex`, and `oh-my-agent` own vendor/runtime specifics.2245. **Prefer one clear handoff** — one next move plus one or two route-outs beats a giant workflow dump.2256. **Use references for deep detail** — helper scripts, status rules, and runtime boundaries belong in support docs.226227## References228- [Intake packets and route-outs](references/intake-packets-and-route-outs.md)229- [Core routing model](references/core-routing.md)230- [Status files, scripts, and review gates](references/status-and-review.md)231- [Runtime and module boundaries](references/runtime-and-module-boundaries.md)232- `./scripts/init-project.sh`233- `./scripts/check-status.sh`234- `./scripts/phase-gate-review.sh`235- [Upstream BMAD README](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/README.md)236- `../bmad-idea/SKILL.md`237- `../plannotator/SKILL.md`238- `../task-planning/SKILL.md`239- `../bmad-gds/SKILL.md`