What an agent is
An agent is a participant in the harness: a model, a set of tools it may call, a budget, and a body of instructions. Give it a task and it works until the task is done or the budget runs out. Unlike a scanner, an agent decides what to do next based on what it just learned. It reads a file, notices a suspicious call, traces the caller, runs a command to check a hypothesis, and either confirms or discards it. That loop — reason, act, observe, reason again — is what makes agents suited to security work, where the interesting questions are about whether something is reachable rather than whether a pattern appears.How a run proceeds
- The agent receives a task. In chat that’s your message; in a workflow it’s a briefing composed by the orchestrator.
- It reasons and calls tools. Each call returns a result it reads before deciding the next step.
- It may load a skill with
activate_skillwhen it hits a task a documented procedure covers. - It may delegate with
spawn_agent, handing focused work to a child and waiting for the summary. - It records durable results — findings, patches, detections — rather than only replying in prose.
- It stops when the task is done, the budget is exhausted, or it’s cancelled.
Budgets
Two ceilings keep a run from going forever, both settable per agent:maxIterations— how many reasoning↔tool cycles it may take.timeout— wall-clock milliseconds for the whole execution.
timeout covers every child it spawns, so it must exceed the worst-case sum of their
durations. Leave both unset unless the agent is genuinely an outlier.
Delegation and agent trees
An agent can spawn sub-agents, and those can spawn their own, forming a tree. This exists for two reasons:- Focus. A child starts with a clean context scoped to one job, so a broad scan doesn’t drown in detail from the first file it opened.
- Parallelism. Independent work runs concurrently — one evaluator per detection, one patch generator per file.
description and its final summary both matter so much: they’re the interface
between agents.
You can watch the tree live — as a nested view in the CLI, and in the web console’s chat while a turn runs.
Forcing sequential delegation
Setsequential-spawns: true when steps depend on each other
and the agent must see one result before starting the next. Console’s workflow-runner uses exactly this to
guarantee workflow steps run in order.
Where agents come from
Both appear together wherever agents are listed, and the workflow orchestrator treats them identically. An
organization agent whose
name matches a platform agent shadows it — the supported way to customize
built-in behavior.
When to write your own
Reach for a new agent when:- The task is a distinct job with its own output — “audit dependencies”, “review IaC for public exposure”.
- You want different tool permissions, like a read-only reviewer that can’t modify code.
- You want a different model for cost or depth reasons.
Next steps
Write an agent
The frontmatter reference.
Chain them
Sequence agents into a workflow.
