What are the four key elements required to make subagents effective and predictable?	Specific descriptions, defined output format, obstacle reporting, and limited tool access.
What dual role does a subagent's description play in the main agent's process?	It controls *when* the subagent is launched and *shapes* the specific instructions in the input prompt.
What is the primary benefit of defining a structured output format for a subagent?	It creates natural stopping points, allowing the subagent to know when it has completed all required sections.
Why is defining an output format crucial for preventing subagents from running too long?	It gives the subagent a clear checklist, preventing it from struggling to decide when enough research has been done.
Where should a subagent explicitly report workarounds, setup issues, or environment quirks?	In a dedicated section within its structured output format (e.g., "Obstacles Encountered").
What is the guiding principle when determining a subagent's necessary tool access?	Only grant the subagent the minimum set of tools required for its specific job (principle of least privilege).
What tools should a research or read-only subagent typically be limited to?	Tools like Glob, Grep, and Read, preventing accidental file modification.
What type of access is necessary for a subagent whose job is to actually change or modify code?	Edit and Write access.
If a subagent's instructions need to be highly specific (e.g., listing required files), which configuration element should be updated?	The subagent's description.
What happens to the main agent's efficiency if a subagent fails to report encountered obstacles?	The main agent must waste time and tokens rediscovering the same solutions or workarounds on its own.
