Skip to content

fix(agents): Team Communication Protocol references undefined team-lead and ungranted tools #727

Description

@kcenon

Part of #726

What

All 8 sub-agents declare a ## Team Communication Protocol that routes handoffs through a team-lead orchestrator and calls SendMessage / TaskCreate / TaskUpdate. Neither the role nor the tools exist in the fleet:

  • name: team-lead is defined nowhere — team-lead is cited ~30x across the 8 bodies, with 0 definitions in plugin/agents/, project/.claude/agents/, or global/skills/.
  • SendMessage / TaskCreate / TaskUpdate appear in no tools: whitelist. The union of all 8 whitelists is Read, Grep, Glob, Bash, Edit, Write.

Why

In team mode the protocol is a silent no-op: "notify team-lead on a Critical finding", "Create a TaskCreate entry per Critical", and "Mark own task completed" cannot run. Safety handoffs (Critical CVE, Failed boundary, untested-code hard-stop) are silently dropped instead of escalated. The README "Agent Teams" feature is a separate ad-hoc-teammate model and does not define this fixed team-lead role, so it does not back this topology either. (Protocol was introduced in #322.)

Where

plugin/agents/*.md and project/.claude/agents/*.md — both layers, all 8 agents.

How — options (pick one, apply fleet-wide to both layers)

  • (A) Realize the topology: add a team-lead agent definition and grant SendMessage, TaskCreate, TaskUpdate to the 8. Cost: opens write-capable collaboration tools to read-only auditors (least-privilege tension) and adds orchestrator wiring + CI parity work.
  • (B) Single-return design — recommended: remove or soften the ## Team Communication Protocol / ## Task Management / Handoff Triggers sections so the bodies match the actual solo-return execution model (main session collects output and dispatches follow-ups). Lower cost, matches current repo reality.

Acceptance criteria

  • Decision (A or B) recorded in the epic.
  • No agent body instructs a tool action for a tool absent from its tools: whitelist.
  • plugin/agents/ and project/.claude/agents/ stay in parity.
  • scripts/check_agents.sh green.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions