Step 1 of 4
Specify the delegation contract
Isolation only works if the interface between agents is narrow and typed.
Design the dispatch_agent tool contract. Input: a task prompt that must contain (a) the question or job, (b) the exact deliverable format (e.g. 'a list of file paths with one-line reasons'), and (c) what to do if the answer cannot be found. Output: a single report string plus metadata (turns used, tools called, truncated: bool). Rules: sub-agent receives its own system prompt describing it as a focused researcher; it gets read-only tools unless the parent explicitly grants more; depth limit 1; turn budget 10. Write this contract as the tool description the parent model will read.
Expected after this step
A dispatch tool contract with deliverable-format requirements built in.
Should not happen
- ✕Returning the sub-agent's whole transcript, defeating the purpose of isolation
- ✕Vague task prompts producing vague reports the parent cannot use
- ✕Unlimited recursion: sub-agents spawning sub-agents until the budget burns
- ✕Giving sub-agents full write access for what should be a research errand
Verify before continuing
Do not move on until every check is true. The complete button stays locked until then.
Do not continue if…
- !Returning the sub-agent's whole transcript, defeating the purpose of isolation
- !Vague task prompts producing vague reports the parent cannot use
- !Unlimited recursion: sub-agents spawning sub-agents until the budget burns
- !Giving sub-agents full write access for what should be a research errand
If the AI messes this up
Use this when the AI fakes progress or breaks the feature. It forces a real fix.
Sub-agent reports are rambling and unusable. Enforce the contract at dispatch time: reject task prompts that do not state a deliverable format, returning a corrective message to the parent model.