Source profileQuality 92/100

laurigates/claude-plugins/agent-patterns-plugin/skills/agent-teams/SKILL.md

agent-teams

Configure Claude Code agent teams (implicit team, SendMessage, TaskUpdate). Use when running parallel agents, coordinating with messaging, or setting up a lead/teammate architecture.

Source repository stars
53
Declared platforms
1
Static risk flags
0
Last source update
2026-08-24
Source checked
2026-08-25

Decision brief

What it does: where it fits

Experimental: Agent teams require CLAUDECODEEXPERIMENTALAGENTTEAMS=1 and may change between Claude Code versions.

Best for

  • Use when running parallel agents, coordinating with messaging, or setting up a lead/teammate architecture.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeDeclaredSource recordInstall path and trigger
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/laurigates/claude-plugins --skill "agent-patterns-plugin/skills/agent-teams"
Safe inspection promptEditorial

Inspect the Agent Skill "agent-teams" from https://github.com/laurigates/claude-plugins/blob/5de06622d8def8c36f7f39d980300aaa15af4357/agent-patterns-plugin/skills/agent-teams/SKILL.md at commit 5de06622d8def8c36f7f39d980300aaa15af4357. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Workflow Checklist

    [ ] CLAUDECODEEXPERIMENTALAGENTTEAMS=1 set (the implicit team exists; no create step)

    [ ] CLAUDECODEEXPERIMENTALAGENTTEAMS=1 set (the implicit team exists; no create step)[ ] TaskCreate for each work unit[ ] Spawn teammates via the Agent tool with a name (no teamname needed)
  2. 02

    When to Use This Skill

    Review the “When to Use This Skill” section in the pinned source before continuing.

    Review and apply the “When to Use This Skill” source section.
  3. 03

    Sub-Agent Caveat: Spawn Teams from the Main Thread

    Agent and the related parallel-spawn tools may not be present in a sub-agent's tool surface, even if the parent conversation has them. A sub-agent designed to orchestrate its own team can silently degrade to sequential single-thread execution — same content, 5× longer wall-clock…

    Agent and the related parallel-spawn tools may not be present in a sub-agent's tool surface, even if the parent conversation has them. A sub-agent designed to orchestrate its own team can silently degrade to sequential…Detection contract to brief into a coordinating sub-agent: confirm the Agent tool is callable; if not, do not silently fall back — report "Parallel fan-out unavailable in this sandbox; executed sequentially." as the fir…
  4. 04

    Native Team Tools

    The implicit team (2.1.178) needs no create/delete step — these tools operate on the one team the session already has:

    The implicit team (2.1.178) needs no create/delete step — these tools operate on the one team the session already has:The setup sequence — TaskCreate → spawn teammates via the Agent tool (with a name) → TaskUpdate to assign → receive results automatically — is shown with full code in REFERENCE.md → Team setup workflow. Teammate message…
  5. 05

    Task Management

    Teammates claim tasks in ID order (lowest first) via TaskList + TaskUpdate, and skip blocked tasks until their blocker completes.

    Teammates claim tasks in ID order (lowest first) via TaskList + TaskUpdate, and skip blocked tasks until their blocker completes.

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score92/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars53SourceRepository attention, not individual Skill quality
Compatibility1 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
laurigates/claude-plugins
Skill path
agent-patterns-plugin/skills/agent-teams/SKILL.md
Commit
5de06622d8def8c36f7f39d980300aaa15af4357
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

Agent Teams

Experimental: Agent teams require CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 and may change between Claude Code versions.

BREAKING (Claude Code 2.1.178): The explicit TeamCreate / TeamDelete tools were removed. Every session now has one implicit team when CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 is set — there is nothing to create or tear down. The team_name parameter is still accepted but ignored on the tools that took it (e.g. Agent), so older invocations don't error; omit it in new code. Coordination is otherwise unchanged: spawn teammates with the Agent tool, coordinate with SendMessage, and track work with TaskCreate/TaskList/TaskUpdate.

For the worked setup examples, communication snippets, shutdown procedures, the worktree path-resolution recovery routine, and common dispatch patterns, see REFERENCE.md.

When to Use This Skill

Use agent teams when...Use subagents instead when...
Multiple agents need to work in parallelTasks are sequential and interdependent
Ongoing communication between agents is neededOne focused task produces one result
Background tasks need progress reportingAgent output feeds directly into next step
Complex workflows benefit from task coordinationSimple, bounded, isolated execution
Independent changes to the same codebase (with worktrees)Context sharing is fine and efficient

Sub-Agent Caveat: Spawn Teams from the Main Thread

Agent and the related parallel-spawn tools may not be present in a sub-agent's tool surface, even if the parent conversation has them. A sub-agent designed to orchestrate its own team can silently degrade to sequential single-thread execution — same content, ~5× longer wall-clock — without surfacing the failure until its post-completion summary.

SituationRecommended pattern
Fan-out from the main conversationSpawn parallel Agent calls directly — full tool surface available
Sub-agent orchestrating its own teamAvoid by design: split the work so the main thread does the fan-out
Sub-agent must orchestrate a teamDetect tool availability up front; report sequential fallback as a first-class outcome

Detection contract to brief into a coordinating sub-agent: confirm the Agent tool is callable; if not, do not silently fall back — report "Parallel fan-out unavailable in this sandbox; executed sequentially." as the first line of the summary, then continue sequentially with the same input contract. Plan top-level orchestration in the main conversation when you can.

Native Team Tools

The implicit team (2.1.178) needs no create/delete step — these tools operate on the one team the session already has:

ToolPurpose
AgentSpawn a teammate (give it a name; team_name is accepted but ignored)
SendMessageSend DMs, broadcasts, shutdown requests, plan approvals
TaskCreate / TaskList / TaskUpdateCreate, discover, and assign/advance shared tasks
TaskOutputGet output from a background agent
TaskStopStop a running background agent

The setup sequence — TaskCreate → spawn teammates via the Agent tool (with a name) → TaskUpdate to assign → receive results automatically — is shown with full code in REFERENCE.md → Team setup workflow. Teammate messages are delivered to the lead's inbox between turns; no polling needed.

Task Management

StateMeaning
pendingNot yet started
in_progressAssigned and active (one at a time per teammate)
completedFinished successfully
blockedWaiting on another task (blocked_by field)

Teammates claim tasks in ID order (lowest first) via TaskList + TaskUpdate, and skip blocked tasks until their blocker completes.

Communication (SendMessage)

TypeUse When
messageDirect message to a specific teammate (recipient = name, not agentId)
broadcastCritical team-wide announcement (N teammates = N round-trips — use sparingly)
shutdown_request / shutdown_responseGraceful teammate exit handshake
plan_approval_responseApprove or reject a teammate's plan

DM, broadcast, and discovery (Read ~/.claude/teams/<name>/config.jsonmembers) examples are in REFERENCE.md → Communication.

Key Teammate Rules

  • Mark exactly ONE task in_progress at a time.
  • Use TaskUpdate (not SendMessage) to report task completion.
  • Idle after every turn is normal — idle ≠ unavailable; a message wakes a teammate.
  • All communication requires SendMessage — plain text output is NOT visible to the lead.
  • Use the name field (not agentId) for recipient.

Lead Preflight Checklist

Before drafting the PRP and launching agents, a 30-second sweep prevents multi-edit renaming work after agents return:

CheckCommandWhy
Next ADR/PRD/PRP sequence numberls docs/blueprint/adrs/ | sort -V | tail -1Prevents numbering collisions in parallel doc writes
Filename conflictsgit ls-files | grep <filename>Scope tables can't guard against a stale mental model of the tree
Hardware pin budget (embedded)Read pin_config.h or equivalentPrevents pin assignments overlapping across Phase 1 agents

Out-of-Scope Discovery Protocol

Include the out-of-scope discovery protocol in every agent's prompt when that agent has an exclusive write scope — it prevents the "investigate out of scope → exhaust budget → truncated summary" failure mode. Copy the verbatim block from REFERENCE.md → Out-of-scope discovery protocol: the agent stops immediately on an out-of-scope dependency, lists it under an Out-of-scope dependencies summary section, and exits for the lead to triage.

Worktree Isolation Hazard

Worktree-isolated agents can have Edit/Write silently resolve relative paths against the parent repo instead of their worktree (upstream bug #1091), landing commits on the wrong branch with no immediate signal. Harden every worktree-isolated prompt with the absolute-path preamble, run the lead post-flight check (git diff origin/main..HEAD + git status --porcelain from the parent), and use the cherry-pick + rebase recovery — all in REFERENCE.md → Worktree path resolution. See also .claude/rules/agent-coworker-detection.md.

Resuming Worktree-Isolated Agents

SendMessage-resume of a completed worktree-isolated agent (Agent with isolation: "worktree") loses worktree isolation — the resumed run executes in the orchestrator's main checkout, not the worktree. For parallel file-mutating work, re-dispatch a fresh isolation: "worktree" agent instead of resuming; reserve SendMessage-resume for read-only / single-checkout continuations. See parallel-agent-dispatch → "Resuming agents: SendMessage loses worktree isolation" (issue #1546).

Sandbox Considerations

In web sessions (CLAUDE_CODE_REMOTE=true):

  • Sub-agents (teammates) may encounter TLS errors on git push — delegate all push/PR operations to the lead.
  • Each teammate runs in its own process context.
  • Worktree isolation is recommended for independent filesystem changes.

Quick Reference

Workflow Checklist

  • CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 set (the implicit team exists; no create step)
  • TaskCreate for each work unit
  • Spawn teammates via the Agent tool with a name (no team_name needed)
  • TaskUpdate to assign tasks (or let teammates self-assign)
  • Receive messages automatically; respond via SendMessage
  • SendMessage shutdown_request to each teammate when done (no TeamDelete)

Key Paths

PathContents
~/.claude/teams/Implicit-team state (members: name, agentId, agentType)
~/.claude/tasks/Shared task list state

Address teammates by the name you gave them at spawn — that is the reliable handle, independent of any on-disk layout.

Common Mistakes

MistakeCorrect Approach
Using agentId as recipientUse the name given at spawn
Calling the removed TeamCreate/TeamDeleteThe team is implicit (2.1.178); spawn with Agent, shut down with shutdown_request
Passing team_name and expecting routingIt is accepted but ignored — there is one implicit team
Sending broadcast for every updateUse message for single-recipient comms
Polling for messagesMessages delivered automatically — just wait
Sending JSON status messagesUse TaskUpdate for status, plain text for messages
Sub-agent pushes to remoteDelegate push to lead orchestrator

Related Skills and Rules

  • parallel-agent-dispatch — worktree preflight, scope budgets, and the Return Contract every teammate must emit on exit. Team dispatches are a superset of plain parallel fan-out; follow both.
  • .claude/rules/agent-development.md — agent file structure, model selection, worktree isolation
  • .claude/rules/agentic-permissions.md — granular tool permission patterns
  • .claude/rules/sandbox-guidance.md — web sandbox constraints and push delegation

Frequently asked questions

What to verify before installation and use

What does the agent-teams source document cover?

Experimental: Agent teams require CLAUDECODEEXPERIMENTALAGENTTEAMS=1 and may change between Claude Code versions.

How do I install agent-teams?

The source record exposes this install command: npx skills add https://github.com/laurigates/claude-plugins --skill "agent-patterns-plugin/skills/agent-teams". Inspect the command and pinned source before running it.

Which Agent platforms does the source record declare?

The pinned source record declares support for: claude code.

Alternatives

Compare before choosing