Skip to main content

Members

agents is the list of members, in declaration order. Each one is an agent doing a job inside the team.

Prefer ref over restating an agent. A member that names a catalogue agent inherits its model, tools, prompt and its own subagents; everything else here says what is different about that agent in this team.

agents is the list of members, in declaration order.

id (string)โ€‹

Identity within the team. This is what depends_on names.

ref (string)โ€‹

Agent catalogue reference, id or id:version. Prefer this over restating an agent inline: a member that names a catalogue agent stays correct when that agent changes.

role (enum)โ€‹

What the member is for, structurally โ€” about its position in the work rather than its subject matter, because a runtime scheduling a team cares which member opens the work and which closes it.

RoleMeaning
coordinatorRoutes work to the others and decides when the team is done.
initiatorOpens the work: takes the request and produces the first result.
contributorCarries the work forward a step.
reviewerChecks another member's output and can send it back.
finalizerProduces what the team hands back.

depends_on (list of member ids)โ€‹

Members that must finish first. Empty means it can start immediately.

Validated at load: every id must name a member of the same team, nothing may depend on itself, and the graph must terminate. A cycle discovered at run time is discovered with a model already loaded and a person waiting.

trigger (string)โ€‹

What starts this member from outside the team โ€” an event, a schedule, a webhook. Distinct from depends_on, which is what it waits for inside. The two used to be one prose field, so Event: new ticket received and On completion of the Triage Agent were the same kind of thing to a reader and neither was the same kind of thing to a runtime.

approval (enum)โ€‹

auto or manual. Use manual for a member that changes something the person owns.

subagents (list)โ€‹

Specialists this member may hand work to. The same shape as subagents on an agent spec โ€” delegation is one idea, and it should be written the same way wherever it appears.

subagents:
- name: CellFixer
ref: jupyter-cell-fixer:0.0.1
description: >-
Fixes a failing cell and proves the fix by running it.

Each subagent needs either a ref or instructions of its own. The description is read by the delegating model when it decides whether to reach for this specialist, so write it for one.

Overridesโ€‹

model, mcp_server and tools override what the referenced agent brings. For a member with no ref they are the definition.

See alsoโ€‹

  • Execution โ€” how the members are run, and who decides
  • Composition โ€” subagents by reference, and why a reference beats a copy