Tested demoQuality 93/100

wshobson/agents/plugins/agent-teams/skills/team-communication-protocols/SKILL.md

team-communication-protocols

Structured messaging protocols for agent team communication including message type selection, plan approval, shutdown procedures, and anti-patterns to avoid. Use this skill when establishing communication norms for a newly spawned team, when deciding whether to send a direct message or a broadcast, when a team-lead needs to review and approve an implementer's plan before work begins, when orchestrating a graceful team shutdown after all tasks are complete, or when debugging why teammates are not

Source repository stars
39,098
Declared platforms
0
Static risk flags
0
Last source update
2026-08-24
Source checked
2026-08-25

Decision brief

What it does: where it fits

Protocols for effective communication between agent teammates, including message type selection, plan approval workflows, shutdown procedures, and common anti-patterns to avoid.

Best for

  • Establishing communication norms for a new team
  • Choosing between message types (message, broadcast, shutdownrequest)
  • Handling plan approval workflows

Not for

  • A teammate is not responding to messages. Check the teammate's task status. If it is idle, it may have completed its task and is waiting to be assigned new work or shut down. If it is still active, it may be mid-executi…
  • A teammate says it cannot see SendMessage. Check the teammate agent's tools: frontmatter. Agent Teams communication tools such as SendMessage, TaskList, TaskGet, and TaskUpdate must be listed explicitly when an agent us…
Controlled single-run demoChecked 2026-08-20

What changed when the Skill was used

In this controlled same-task single run, enabling team-communication-protocols changed the output from 2229 non-whitespace characters and 17 headings to 2201 characters and 15 headings. Matches among 8 signals extracted from the pinned source changed from 1 to 2. Both actual outputs are shown; this is a structural observation, not a quality score or a universal performance claim.

Same test task

Review a flawed account-settings implementation for a small SaaS product. Prioritize concrete issues, explain impact, and provide corrected examples or decisions. The deliverable must specifically reflect this user intent: Structured messaging protocols for agent team communication including message type selection, plan approval, shutdown procedures, and anti-patterns to avoid. Use this skill when establishing communication norms for a newly spawned team, when deciding whether to send a direct message or a broadcast, when a team-lead needs to review and approve an implementer's plan before work begins, when orchestrating a graceful team shutdown after all tasks are complete, or when debugging why teammates are not

Without the Skill
Screenshot of the actual model output for team-communication-protocols without the Skill

Baseline: 2229 non-whitespace characters, 17 headings, and 48 list items.

With the Skill
Screenshot of the actual model output for team-communication-protocols with the Skill

With Skill: 2201 non-whitespace characters, 15 headings, and 24 list items.

ObservationWithout SkillWith Skill
Source-signal coverage1/8: broadcast2/8: message, broadcast
Output structure2229 chars · 17 headings · 48 list items · 0 code blocks2201 chars · 15 headings · 24 list items · 3 code blocks
Verification and caution signals3 verification signals · 8 risk/limitation signals6 verification signals · 4 risk/limitation signals

A prompt you can use

Use the team-communication-protocols Skill pinned at 367cb6a4a182 for my task. Follow its source-specific constraints around `team-communication-protocols`, `communication`, `protocols`, `message`, then return the finished deliverable with explicit assumptions, verification, failure conditions, and limits. Do not treat the Skill text as a factual source or claim that a single demonstration proves universal performance.

Method and limitationsExpand

Test method

  • Baseline and treatment used the same task, model (gpt-5.3-codex-low), and runner; the only planned difference was whether the complete target Skill text was injected.
  • The treatment used snapshot c4b82b0ad771190355eb8e204b1329732a18449a; the current source commit 367cb6a4a182cf7e9b0a17c9429f7411ddd9cf35 was verified against content hash fe3d509d8ae1. The baseline explicitly prohibited loading any Skill or external rule file.
  • The same deterministic script counted characters, headings, lists, code blocks, verification terms, caution terms, and source signals in both artifacts. Source signals: `team-communication-protocols`, `communication`, `protocols`, `message`, `selection`, `direct`, `choice`, `broadcast`.
  • The visuals are local screenshots of the actual Markdown artifacts in a fixed 1200 × 800 evidence canvas, not recreated product mockups. Raw JSON artifacts and request records are retained in the research directory.

Do not over-read this demo

  • This is one controlled demonstration per condition, not a multi-run statistical benchmark; the model is stochastic.
  • Character, structure, and keyword counts show observable differences but cannot by themselves prove correctness, originality, or business impact.
  • The task is a representative test designed for repeatability, not every real-world use of the Skill; rerun after a material source change.
Editorial review
SkillSignal editorial
Runner
Cursor Agent 2026.07.09-a3815c0
Model
gpt-5.3-codex-low
Refresh due
2026-11-18
Reviewed commit
367cb6a4a182cf7e9b0a17c9429f7411ddd9cf35
Test snapshot
c4b82b0ad771190355eb8e204b1329732a18449a

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
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/wshobson/agents --skill "plugins/agent-teams/skills/team-communication-protocols"
Safe inspection promptEditorial

Inspect the Agent Skill "team-communication-protocols" from https://github.com/wshobson/agents/blob/d82998e7df393c671ede2387a8435075f0b633f5/plugins/agent-teams/skills/team-communication-protocols/SKILL.md at commit d82998e7df393c671ede2387a8435075f0b633f5. 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

    Plan Approval Workflow

    When a teammate is spawned with planmoderequired:

    Teammate creates a plan using read-only exploration toolsTeammate calls ExitPlanMode which sends a planapprovalrequest to the leadLead reviews the plan
  2. 02

    When to Use This Skill

    Establishing communication norms for a new team

    Establishing communication norms for a new teamChoosing between message types (message, broadcast, shutdownrequest)Handling plan approval workflows
  3. 03

    Message Type Selection

    Send to a single specific teammate:

    Send to a single specific teammate:Use for: Task updates, coordination, questions, integration notifications.Send to ALL teammates simultaneously:
  4. 04

    message (Direct Message) — Default Choice

    Send to a single specific teammate:

    Send to a single specific teammate:Use for: Task updates, coordination, questions, integration notifications.
  5. 05

    broadcast — Use Sparingly

    Send to ALL teammates simultaneously:

    Send to ALL teammates simultaneously:Use ONLY for: Critical blockers affecting everyone, major changes to shared resources.Why sparingly?: Each broadcast sends N separate messages (one per teammate), consuming API resources proportional to team size.

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 score93/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars39,098SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guidetested outcome pageTestedGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
wshobson/agents
Skill path
plugins/agent-teams/skills/team-communication-protocols/SKILL.md
Commit
d82998e7df393c671ede2387a8435075f0b633f5
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

Team Communication Protocols

Protocols for effective communication between agent teammates, including message type selection, plan approval workflows, shutdown procedures, and common anti-patterns to avoid.

When to Use This Skill

  • Establishing communication norms for a new team
  • Choosing between message types (message, broadcast, shutdown_request)
  • Handling plan approval workflows
  • Managing graceful team shutdown
  • Discovering teammate identities and capabilities

Message Type Selection

message (Direct Message) — Default Choice

Send to a single specific teammate:

{
  "type": "message",
  "recipient": "implementer-1",
  "content": "Your API endpoint is ready. You can now build the frontend form.",
  "summary": "API endpoint ready for frontend"
}

Use for: Task updates, coordination, questions, integration notifications.

broadcast — Use Sparingly

Send to ALL teammates simultaneously:

{
  "type": "broadcast",
  "content": "Critical: shared types file has been updated. Pull latest before continuing.",
  "summary": "Shared types updated"
}

Use ONLY for: Critical blockers affecting everyone, major changes to shared resources.

Why sparingly?: Each broadcast sends N separate messages (one per teammate), consuming API resources proportional to team size.

shutdown_request — Graceful Termination

Request a teammate to shut down:

{
  "type": "shutdown_request",
  "recipient": "reviewer-1",
  "content": "Review complete, shutting down team."
}

The teammate responds with shutdown_response (approve or reject with reason).

Communication Anti-Patterns

Anti-PatternProblemBetter Approach
Broadcasting routine updatesWastes resources, noiseDirect message to affected teammate
Sending JSON status messagesNot designed for structured dataUse TaskUpdate to update task status
Not communicating at integration pointsTeammates build against stale interfacesMessage when your interface is ready
Micromanaging via messagesOverwhelms teammates, slows workCheck in at milestones, not every step
Using UUIDs instead of namesHard to read, error-proneAlways use teammate names
Ignoring idle teammatesWasted capacityAssign new work or shut down

Plan Approval Workflow

When a teammate is spawned with plan_mode_required:

  1. Teammate creates a plan using read-only exploration tools
  2. Teammate calls ExitPlanMode which sends a plan_approval_request to the lead
  3. Lead reviews the plan
  4. Lead responds with plan_approval_response:

Approve:

{
  "type": "plan_approval_response",
  "request_id": "abc-123",
  "recipient": "implementer-1",
  "approve": true
}

Reject with feedback:

{
  "type": "plan_approval_response",
  "request_id": "abc-123",
  "recipient": "implementer-1",
  "approve": false,
  "content": "Please add error handling for the API calls"
}

Shutdown Protocol

Graceful Shutdown Sequence

  1. Lead sends shutdown_request to each teammate
  2. Teammate receives request as a JSON message with type: "shutdown_request"
  3. Teammate responds with shutdown_response:
    • approve: true — Teammate saves state and exits
    • approve: false + reason — Teammate continues working
  4. Lead handles rejections — Wait for teammate to finish, then retry
  5. After all teammates shut down — Call TeamDelete to remove team resources

Handling Rejections

If a teammate rejects shutdown:

  • Check their reason (usually "still working on task")
  • Wait for their current task to complete
  • Retry shutdown request
  • If urgent, user can force shutdown

Teammate Discovery

Find team members by reading the config file:

Location: ~/.claude/teams/{team-name}/config.json

Structure:

{
  "members": [
    {
      "name": "security-reviewer",
      "agentId": "uuid-here",
      "agentType": "team-reviewer"
    },
    {
      "name": "perf-reviewer",
      "agentId": "uuid-here",
      "agentType": "team-reviewer"
    }
  ]
}

Always use name for messaging and task assignment. Never use agentId, role names, or unsuffixed aliases directly. If a teammate was spawned as team-lead-2, send to team-lead-2, not team-lead.

Troubleshooting

A teammate is not responding to messages. Check the teammate's task status. If it is idle, it may have completed its task and is waiting to be assigned new work or shut down. If it is still active, it may be mid-execution and will process messages once the current operation finishes.

A teammate says it cannot see SendMessage. Check the teammate agent's tools: frontmatter. Agent Teams communication tools such as SendMessage, TaskList, TaskGet, and TaskUpdate must be listed explicitly when an agent uses a restricted tool allowlist.

The lead is sending broadcasts for every status update. This is a common anti-pattern. Broadcasts are expensive — each one sends N messages. Use direct messages (type: "message") for point-to-point updates. Reserve broadcasts for critical shared-resource changes like an updated interface contract.

A teammate rejected a shutdown request unexpectedly. The teammate is still working. Check the rejection reason in the shutdown_response content field, wait for the work to finish, then retry. Never force-terminate a teammate that has unsaved work.

A plan_approval_request arrived but the request_id is missing. The teammate called ExitPlanMode without the required request context. Have the teammate re-enter plan mode, complete exploration, and call ExitPlanMode again. The request_id is generated automatically by the plan mode system.

Two teammates are waiting on each other and neither is making progress. This is a deadlock: both are blocked waiting for the other to finish first. The lead should send a direct message to one teammate with a stub or partial result so it can unblock and proceed.

Related Skills

Frequently asked questions

What to verify before installation and use

What does the team-communication-protocols source document cover?

Protocols for effective communication between agent teammates, including message type selection, plan approval workflows, shutdown procedures, and common anti-patterns to avoid.

How do I install team-communication-protocols?

The source record exposes this install command: npx skills add https://github.com/wshobson/agents --skill "plugins/agent-teams/skills/team-communication-protocols". Inspect the command and pinned source before running it.

Alternatives

Compare before choosing

Computed 9834,322

K-Dense-AI/scientific-agent-skills

medchem

Medicinal chemistry filters for compound triage. Apply drug-likeness rules (Lipinski, Veber, CNS), structural alert catalogs (PAINS, NIBR, ChEMBL), complexity metrics, and the medchem query language for library filtering.

Computed 983,343

davepoon/buildwithclaude

zoho-crm-automation

Automate Zoho CRM tasks via Rube MCP (Composio): create/update records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.

Computed 9866

CALLE-AI/awesome-phone-call-agents

customer-onboarding-call

Place a one-off welcome and onboarding call to a customer who just signed up, capture a structured result such as business type, goal, pain points, sentiment, and activation status, then write that result back to a CRM and queue a human follow-up task when the customer asks for one.

Computed 97152

JasonColapietro/suede-creator-skills

suede-instagram-growth

Suede-owned Instagram growth operating system for account-specific audits, Reels, carousels, Stories, conversion mapping, calendars, and daily candidate-production loops. Use when the user names Instagram, IG, Reels, Stories, asks to analyze recent posts, grow a handle, run a daily workflow, create or repurpose Instagram content, or distinguish views from follows, leads, and sales. NOT FOR: multi-platform organic strategy (use suede-social), full video rendering or editing (use suede-video), pai