| name | orchestrator-routing |
| description | Main orchestrator as lightweight router — stay responsive to user messages while subagents do heavy work; route tasks to appropriate agents based on workload |
| version | 1.0.0 |
| category | workspace-hub |
| author | workspace-hub |
| type | skill |
| last_updated | "2026-02-19T00:00:00.000Z" |
| wrk_ref | WRK-212 |
| related_skills | ["agent-teams","improve"] |
| tags | ["orchestration","routing","agent-teams","responsiveness","delegation"] |
| platforms | ["all"] |
| capabilities | [] |
| requires | [] |
| see_also | [] |
Orchestrator Routing — Main Session as Lightweight Router
The main Claude session should stay responsive to the user. When a task is
large or parallelisable, delegate to subagents rather than consuming the main
context window. This skill documents the routing pattern.
Core Pattern
User message → Orchestrator (main session)
↓ (route)
Subagent A | Subagent B | Subagent C
↓ (results via TaskOutput / SendMessage)
Orchestrator summarises → User
The orchestrator:
- Classifies the task (size, parallelism, domain)
- Selects the right agent type(s)
- Spawns with
run_in_background=True for long tasks
- Stays available for next user message
- Collects results and presents summary
When to Delegate
Delegate when ANY of these apply:
- Task will take > 5 minutes of sequential tool calls
- Task is clearly partitioned into 2-3 independent streams
- Task requires a read-only research phase that would pollute main context
- User sends a new message while task is still running (re-route remainder)
Keep in main session when:
- Task is < 5 files, < 10 min
- Task requires tight back-and-forth with user
- Task is a single WRK item with no parallelism
Routing Decision by Task Type
| User request | Route to | Agent type |
|---|
| "Search the codebase for X" | Explore agent | Explore |
| "Plan WRK-NNN implementation" | Plan agent | Plan |
| "Run tests / execute scripts" | Bash agent | Bash |
| "Build WRK-205 knowledge graph" | 2-3 agents via team | general-purpose + Bash |
| "Write a skill / WRK item" | Main session | — |
| "Ecosystem health check" | Background Bash agent | Bash |
| "Sync all repos" | Main session (sequential) | — |
Spawning a Background Agent
result = Task(
subagent_type=,
description=,
prompt=,
run_in_background=
)