Delegation runs through the Task tool, and the coordinator's allowedTools must explicitly include "Task" — without it, a coordinator can describe exactly which subagents it would delegate to and then simply answer the query itself, because it has no actual spawning mechanism. AgentDefinition is where each subagent type gets configured: its description, system prompt, and tool restrictions.
The fact to build every other judgment on here: subagents inherit nothing. No parent context, no shared memory between invocations. If a subagent needs to know something — prior findings, a document's contents, the reason it's being asked — it has to be in its prompt, explicitly, every time. There is no "enable context sharing" setting to reach for, because no such mechanism exists.
Practical consequences the exam tests directly:
- Put complete prior findings directly in the prompt for the next subagent — e.g., passing both web-search results and document-analysis findings into a synthesis subagent's prompt, in full, not by reference.
- Use structured formats that separate content from metadata (source URLs, document names, page numbers) so attribution survives the handoff instead of getting flattened into undifferentiated prose.
- Spawn in parallel by emitting multiple
Taskcalls within a single response — not by making sequential calls across separate turns, which trades away the latency benefit parallel spawning exists to provide. - Write coordinator prompts around goals and quality criteria, not step-by-step procedure. A procedural prompt makes a subagent brittle the moment reality doesn't match the anticipated steps.
fork_session belongs conceptually here too, though it's covered fully in §7: it creates independent branches from a shared analysis baseline, which is a spawning-adjacent pattern distinct from ordinary subagent delegation.