plugins/conjure/skills/agent-teams/SKILL.md
Coordinates Claude agent teams via filesystem protocol. Use when orchestrating parallel agents with task dependencies. Do not use for single-agent tasks.
npx skillsauth add athola/claude-night-market agent-teamsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Claude Code Agent Teams enables multiple Claude CLI processes to collaborate on shared work through a filesystem-based coordination protocol. Each teammate runs as an independent claude process in a tmux pane, communicating via JSON files guarded by fcntl locks, with no database, daemon, or network layer.
This skill provides the patterns for orchestrating agent teams effectively.
claude CLI is not available or tmux is not installed# Verify Claude Code CLI
claude --version
# Verify tmux (required for split-pane mode)
tmux -V
# Enable experimental feature (set by spawner automatically)
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
~/.claude/
teams/<team-name>/
config.json # Team metadata + member roster
inboxes/
<agent-name>.json # Per-agent message queue
.lock # fcntl exclusive lock
tasks/<team-name>/
1.json ... N.json # Auto-incrementing task files
.lock # fcntl exclusive lock
Design principles:
tempfile + os.replace# Programmatic team setup (via MCP or direct API)
# Team config written to ~/.claude/teams/<team-name>/config.json
The team config contains:
name, description, created_at (ms timestamp)lead_agent_id, lead_session_idmembers[]: array of LeadMember and TeammateMember objectsEach teammate is a separate claude CLI process launched with identity flags:
claude --agent-id "backend@my-team" \
--agent-name "backend" \
--team-name "my-team" \
--agent-color "#FF6B6B" \
--parent-session-id "$SESSION_ID" \
--agent-type "general-purpose" \
--model sonnet
See modules/spawning-patterns.md for tmux pane management and color assignment.
{
"id": "1",
"subject": "Implement API endpoints",
"description": "Create REST endpoints for user management",
"status": "pending",
"owner": null,
"blocks": ["3"],
"blocked_by": [],
"metadata": {}
}
See modules/task-coordination.md for state machine and dependency management.
{
"from": "team-lead",
"text": "API endpoints are ready for integration testing",
"timestamp": "2026-02-07T22:00:00Z",
"read": false,
"summary": "API ready"
}
See modules/messaging-protocol.md for message types and inbox operations.
agent-teams:team-created: Initialize team config and directoriesagent-teams:teammates-spawned: Launch agents in tmux panesagent-teams:tasks-assigned: Create tasks with dependencies, assign ownersagent-teams:coordination-active: Agents claim tasks, exchange messages, mark completionagent-teams:team-shutdown: Graceful shutdown with approval protocolEach team member has a role that determines their capabilities and task
compatibility. Five roles are defined: implementer (default), researcher,
tester, reviewer, and architect. Roles constrain which risk tiers an
agent can handle. See modules/crew-roles.md for the full capability matrix
and role-risk compatibility table.
For mission-level team sizing, use the Team Formation rules
from references/team-formation.md. This defines:
See references/team-formation.md for full team sizing
guidance and example team formations.
Team members can be monitored for health via heartbeat messages and claim expiry. The lead polls team health every 60s with a 2-stage stall detection protocol (health_check probe and 30s wait). Stalled agents have their tasks released and are restarted or replaced following the "replace don't wait" doctrine. See modules/health-monitoring.md for the full protocol and state machine.
Agent Teams extends the conjure delegation model:
| Conjure Pattern | Agent Teams Equivalent |
|-----------------|----------------------|
| delegation-core:task-assessed | agent-teams:team-created |
| delegation-core:handoff-planned | agent-teams:tasks-assigned |
| delegation-core:results-integrated | agent-teams:team-shutdown |
| External LLM execution | Teammate agent execution |
Use Skill(conjure:delegation-core) first to determine if the task benefits from multi-agent coordination vs. single-service delegation.
For parallel agents that modify files, isolation: worktree provides a lightweight alternative to filesystem-based coordination. Each agent runs in its own temporary git worktree, eliminating the need for fcntl locking or inbox-based conflict avoidance on shared files.
isolation: worktree per teammate for filesystem safetytmux not found
Install via package manager: brew install tmux / apt install tmux
Stale lock files
If an agent crashes mid-operation, lock files may persist. Remove .lock files manually from ~/.claude/teams/<team>/inboxes/ or ~/.claude/tasks/<team>/
Orphaned tasks
Tasks claimed by a crashed agent stay in_progress indefinitely. Use modules/health-monitoring.md for heartbeat-based stall detection and automatic task release. The health monitoring protocol detects unresponsive agents within 60s and 30s probe window and releases their tasks for reassignment.
Message ordering Filesystem timestamp resolution varies (HFS+ = 1s granularity). Use numbered filenames or UUID-sorted names to avoid collision on rapid message bursts.
Model errors on Bedrock/Vertex/Foundry (pre-2.1.39) Teammate agents could use incorrect model identifiers on enterprise providers, causing 400 errors. Upgrade to Claude Code 2.1.39+ for correct model ID qualification across all providers.
Nested session guard (2.1.39+)
If claude refuses to launch within an existing session, ensure you're using
tmux pane splitting (not subshell invocation). The guard is intentional. See
modules/spawning-patterns.md for details.
research
Generate diverse solution candidates with category-spanning ideation methods and rotation. Use when stuck on a design or fighting repetitive LLM output.
tools
--- name: validate-pr description: Use when you need a diff-derived test plan for a PR: reads the diff, groups changes by area, runs targeted verifications, and proves revert-tests are genuine guards, not dead assertions. alwaysApply: false category: validation tags: - pr - validation - test-plan - diff - revert-test - evidence tools: [] usage_patterns: - diff-derived-test-plan - revert-test-quality-check - evidence-capture complexity: intermediate model_hint: standard estimated_tokens: 650
development
Contract for the project decision journal (tradeoffs and lessons-learned logs). Use when recording a decision, tradeoff, or lesson, or building a consumer hook.
development
Ramps implementation ambition a notch only after the prior increment is understood. Use when building a feature you must understand, not just ship.