Agentic Subagent Routing
Resolve subagent dispatch contracts. Business skills decide what work needs a subagent; this skill decides which agent role, model, and reasoning effort to use.
Before dispatching a subagent, collect:
backend: codex
caller_skill: <stable-skill-name>
slot: <semantic-slot-name>
category: <review|implementation|research|testing|optional>
hard_fail: false
readonly: <true|false|optional>
Use routes.yaml as the centralized route registry. Lookup order is exact
caller_skill + slot, then global_slots, then categories, then
defaults.<backend>.
For Codex, map the resolved contract to spawn_agent:
agent_role->agent_type- concrete
model->model - concrete
reasoning_effort->reasoning_effort nullmodel or reasoning means omit that field and inherit the parent value
Do not require third-party skills to provide subagents.yaml or parse CLI
output. The CLI/library exists for implementation, wrapper injection, tests,
doctor, and manual diagnostics.