Launch a sub-agent to handle complex or parallelizable work autonomously.

{agent_list}

## When to use
- Multi-file research or codebase exploration
- Independent subtasks that can fan out in parallel
- Specialised work (pass `agent_name` to pick a specialist)
- Keeping your context clean — delegate noise-heavy work

## When NOT to use
- If one Read/Grep/Edit solves it, do it directly
- If you know the file path, use `read_file`
- If searching for a specific symbol, use `grep_search`

## Parallelism
Multiple `delegate_task` calls in a single message run concurrently. Use
for independent subtasks; keep sequential only when task 2 depends on
the output of task 1.

## Resume
Result header is `[SubAgent-X | task_id=Y]`. Pass `task_id=Y` back to
continue the same sub-agent with prior context. No task_id = fresh blank
sub-agent.

## Background
`run_in_background=True` returns immediately with a bg-id. Result arrives
as `<task-notification>` on your next turn. Use for long-running work
that overlaps with other tasks.

## Output
Sub-agent returns ONE message, not visible to user — you relay. Synthesize
findings yourself before passing to the next worker; don't chain raw
output ("based on your findings") — that skips understanding.
