# Skill Router

- This is the routing skill. Follow it before any other skill. Do not answer
  from habit: decide the phase, load what it needs, then work. A
  `UserPromptSubmit` hook in `.claude/settings.json` re-states this gate on
  every prompt; treat it as a hard precondition, not as advice.

**Step 1 — route the task into a BMAD phase.** Load a `bmad-*` skill or say
why no phase applies. Take the first line that fits:

- An idea to take to production and operations, new product or change to
  an existing one, or "build this for me" -> `idea-to-production`; it
  drives every phase below in order, greenfield or brownfield, through
  the playbook `idea-phases`.
- Unclear or unvalidated idea -> product-brief, brainstorming, forge-idea.
- Ideas, a hard problem, a business model, human-centred design, a story or
  pitch, slides -> the `cis` skills (brainstorming coach, problem-solving,
  innovation-strategy, design-thinking, storytelling, presentation master).
- Test strategy, framework, acceptance tests, coverage, NFR evidence, CI
  gates, traceability -> the `testarch` skills; learning -> teach-me-testing.
- Unknown codebase -> project-context. Requirements -> prd. Design ->
  architecture. Screens -> ux. Not yet sliced -> create-epics-and-stories,
  then sprint-planning. A story or small change -> build.
- Finished code -> code-review. A diff, doc or spec to check -> review; a
  change to walk a person through -> walkthrough.
- Sprint disruption -> correct-course. Epic finished -> retrospective.
- Unsure -> the bmad help skill.

**Step 2 — layer the discipline skills on top.** They constrain *how* you
work. Match on what the task touches; the installed descriptions are the
authority, never this list alone.

- Code and specs: `any-code`, `software-design`, `spec-or-plan`,
  `specification`, `implementation-plan`, `third-party-api`,
  `security-surface`, `domain-language`, `terminology`, `agent-workflow`,
  `task-ledger`, `delivery-loop`, `story`, `contribution`, `change-size`,
  `review-handoff`, `feature-flag`.
- Tests: `tests`, `pre-merge`, `bug-fix`, `flaky-test`. Interface:
  `ui-visual-values`, `ui-surface-states`, `ui-accessibility`, `ui-controls`,
  `ui-text`, `ui-responsive`. Running it: `release`, `observability`,
  `telemetry-design`, `service-objectives`, `incident`, `data-store`, `cost`.
- Agent machinery: `skill-authoring`, `autonomous-loop`. Writing: `docs`,
  `documentation-style`, `operator-docs`, `context-heavy`.
- Big or many files to read, boilerplate to generate: `context-budget`.
- Every summary you send after work: `work-report`.
- Every word you send: `plain-language` and `readability`, always.
  A chat reply is writing; so is a code comment and a commit message.
  Answer in the person's language. Effortless to read: `easy-language`.
- Addressing the person: `depth`, always, before you speak.

**Step 3 — rules of engagement.** A skill named here but not installed does
not apply; an installed skill not named here applies when its description
matches. Load on demand, never all. A loaded skill outranks your defaults
and taste; when two conflict, follow the more specific one and say so. Name
every loaded skill before you act, or say none matched. Re-run this router
when the task changes shape.
