The minimum deliverable
The specification recommends a minimum shape:- Status first. A parent juggling several subagents triages by status before reading anything else. Two values are enough:
completedandblocked. - The summary stands alone. Assume the parent reads nothing below it. One paragraph: what was produced and the key outcome.
- Artifacts are addresses, not contents. Return paths and locations. The parent loads what it needs, when it needs it.
- Notes carry judgment. Assumptions the subagent made, deviations from the task, and anything the parent should know before acting. Omit the section when it’s empty.
A worked example
Arepo-explorer subagent asked to map how authentication works returns:
Big outputs: write files, return paths
When the deliverable is large — a full report, generated code, a dataset — have the subagent write it to a file and return the path. This keeps the parent’s context small and gives the parent a durable artifact to hand to the next subagent, to the user, or to version control.When blocked
A subagent cannot ask the user for help. Its only recourse is a well-formed blocked report:Design the body so the subagent records assumptions in Notes rather than blocking on them. Blocked status is for missing resources — credentials, unreachable services, absent files — not for judgment calls.