Delegation
A worker is a second agent that starts with an empty transcript. It can do independent
work in parallel and bring back a decision-ready handoff; it cannot read your mind, your
conversation, or the user's intent. Delegation pays when the task has a clean boundary
and a brief can carry everything the worker needs. Otherwise it costs latency, tokens
and coherence, and the work is better done here.
When to delegate
Delegate when all of these hold:
- The work is independent of the step you are on: surveying an unfamiliar codebase,
running and reporting an isolated experiment, drafting a section from finished results,
auditing a long artifact, reproducing a claim in parallel with other work.
- You can write down the goal, the inputs, the constraints and the definition of done
without reference to "what we discussed".
- The result can be checked when it comes back (a number to compare, a file to open, a
report against a checklist).
- The Delegation setting allows it (Off means do it here; Auto means when it clearly
helps; High means prefer it for parallelizable phases).
Never delegate:
- the literature retrieval loop: ranking candidates is the judgement, and a worker ranks
for a different question (load literature-review and run it yourself);
- a step inside an experiment loop already underway, where the next action depends on the
last result you saw;
- anything requiring the user's answer to a question the worker cannot ask.
Choosing the worker
| Need |
subagent_type |
| Read and report: codebase survey, artifact audit, options analysis, literature scouting |
explore (read-only) |
| Independent critical read of a draft or analysis |
explore, briefed with the peer-review skill and the angle to take |
| Build or run: pipelines, data processing, scripts, files, results |
data |
| Domain-heavy phase: training or fine-tuning setup, omics pipeline, PDE solver, docking |
ml, biology, physics, chemistry |
subagent_type is an agent name; the Task tool's description lists the ones configured in
this installation. There is no separate specialist parameter and no execute or
critique profile. A specialist keeps the Research contract and gains its domain skill
index and domain tools (the biology specialist can query UniProt, PDB, Ensembl, KEGG,
PubMed directly). Use one when most of the phase sits in that domain; for mixed work the
data worker, briefed to load a skill, is enough. Pass background: true for work you do
not need before your next step; its result wakes you when it lands.
The brief
The worker sees only the brief. Include, in this order:
- Goal: one sentence, what done looks like.
- Context: project, relevant paths, the metric or question, what has been tried.
- Inputs: exact files, run ids, URLs, data locations. The worker works in your
working directory and its files land there; name the files it owns and the ones it must
not touch, and say which of the paths you name are inputs to read.
- Constraints: what not to touch, what not to change (the evaluation, the metric,
frozen files), time or cost limits.
- Compute authorization: exactly which runs it may launch, on which target, with what
budget. Say "no compute jobs" explicitly when none are authorized; a worker otherwise
assumes the normal research loop is available.
- Output: the files or numbers to return and the sections its handoff should use
(Outcome, Findings, Evidence, Changes, Limitations, Next action).
- Definition of done: the concrete check that ends the task.
Write it as the worker's user message; keep your own voice out of it. A brief that fits in
five lines usually means the task should be done here; a brief that needs a page means
the task is worth a worker.
Reading the handoff
- Verify before you build on it: open the file, compare the number, rerun the smallest
check. A saved artifact proves an output exists, not that it is right.
- Treat the worker's inference as inference; its evidence as evidence. If the handoff does
not separate them, ask for the separation or check yourself.
- A partial result is normal; the handoff says what remains. Decide whether to continue
the same worker (
task_id from its result), start another, or finish here.
- Do not repeat the worker's diary to the user. Report the outcome and what changed.
Concurrency and limits
Several workers may run at once for genuinely parallel phases (a sweep across datasets, a
survey split by subsystem). Workers cannot spawn workers unless subagent_depth allows
it. Publishing (pushing, releasing, uploading) stays with you. Each worker costs a full model context; three workers for a
task one skill load would have solved is the common mistake.
1---2name: delegation3description: Delegates independent work to worker agents through the Task tool, choosing between the explore scout and the ml, biology, physics, chemistry and data specialists, writing a self-contained brief for a worker that cannot see the conversation, setting boundaries on files and compute, and reading the handoff back critically. Use before dispatching a worker or interpreting its result, and when deciding whether a task should be delegated at all. Never delegate the literature retrieval loop or a step of an experiment loop already underway.4license: MIT5---67# Delegation89A worker is a second agent that starts with an empty transcript. It can do independent10work in parallel and bring back a decision-ready handoff; it cannot read your mind, your11conversation, or the user's intent. Delegation pays when the task has a clean boundary12and a brief can carry everything the worker needs. Otherwise it costs latency, tokens13and coherence, and the work is better done here.1415## When to delegate1617Delegate when all of these hold:1819- The work is independent of the step you are on: surveying an unfamiliar codebase,20 running and reporting an isolated experiment, drafting a section from finished results,21 auditing a long artifact, reproducing a claim in parallel with other work.22- You can write down the goal, the inputs, the constraints and the definition of done23 without reference to "what we discussed".24- The result can be checked when it comes back (a number to compare, a file to open, a25 report against a checklist).26- The Delegation setting allows it (Off means do it here; Auto means when it clearly27 helps; High means prefer it for parallelizable phases).2829Never delegate:3031- the literature retrieval loop: ranking candidates is the judgement, and a worker ranks32 for a different question (load literature-review and run it yourself);33- a step inside an experiment loop already underway, where the next action depends on the34 last result you saw;35- anything requiring the user's answer to a question the worker cannot ask.3637## Choosing the worker3839| Need | `subagent_type` |40| --- | --- |41| Read and report: codebase survey, artifact audit, options analysis, literature scouting | `explore` (read-only) |42| Independent critical read of a draft or analysis | `explore`, briefed with the peer-review skill and the angle to take |43| Build or run: pipelines, data processing, scripts, files, results | `data` |44| Domain-heavy phase: training or fine-tuning setup, omics pipeline, PDE solver, docking | `ml`, `biology`, `physics`, `chemistry` |4546`subagent_type` is an agent name; the Task tool's description lists the ones configured in47this installation. There is no separate `specialist` parameter and no `execute` or48`critique` profile. A specialist keeps the Research contract and gains its domain skill49index and domain tools (the biology specialist can query UniProt, PDB, Ensembl, KEGG,50PubMed directly). Use one when most of the phase sits in that domain; for mixed work the51`data` worker, briefed to load a skill, is enough. Pass `background: true` for work you do52not need before your next step; its result wakes you when it lands.5354## The brief5556The worker sees only the brief. Include, in this order:57581. **Goal**: one sentence, what done looks like.592. **Context**: project, relevant paths, the metric or question, what has been tried.603. **Inputs**: exact files, run ids, URLs, data locations. The worker works in your61 working directory and its files land there; name the files it owns and the ones it must62 not touch, and say which of the paths you name are inputs to read.634. **Constraints**: what not to touch, what not to change (the evaluation, the metric,64 frozen files), time or cost limits.655. **Compute authorization**: exactly which runs it may launch, on which target, with what66 budget. Say "no compute jobs" explicitly when none are authorized; a worker otherwise67 assumes the normal research loop is available.686. **Output**: the files or numbers to return and the sections its handoff should use69 (Outcome, Findings, Evidence, Changes, Limitations, Next action).707. **Definition of done**: the concrete check that ends the task.7172Write it as the worker's user message; keep your own voice out of it. A brief that fits in73five lines usually means the task should be done here; a brief that needs a page means74the task is worth a worker.7576## Reading the handoff7778- Verify before you build on it: open the file, compare the number, rerun the smallest79 check. A saved artifact proves an output exists, not that it is right.80- Treat the worker's inference as inference; its evidence as evidence. If the handoff does81 not separate them, ask for the separation or check yourself.82- A partial result is normal; the handoff says what remains. Decide whether to continue83 the same worker (`task_id` from its result), start another, or finish here.84- Do not repeat the worker's diary to the user. Report the outcome and what changed.8586## Concurrency and limits8788Several workers may run at once for genuinely parallel phases (a sweep across datasets, a89survey split by subsystem). Workers cannot spawn workers unless `subagent_depth` allows90it. Publishing (pushing, releasing, uploading) stays with you. Each worker costs a full model context; three workers for a91task one skill load would have solved is the common mistake.