Multi-agent team coordination plugin for GitHub Copilot CLI
Server defines 17 tools with consistent naming (verb_noun pattern) and reasonable descriptions (avg ~80 chars). All tools have input schemas with type definitions and parameter descriptions. However, output schemas are not documented in the source code, parameter descriptions lack actionable constraints (ranges, formats, validation rules), and error handling guidance is minimal. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Composition is sound, tools chain well (e.g., create_team → register_teammate → create_task). Security: no secrets in params, but no explicit permission gates or audit logging visible in tool definitions.
Approve a task in needs_review status (lead-only)
Broadcast a message to all teammates
Atomically claim a task — enforces blockers and pre-assignment
Create a task on the team board
Create a new agent team and register caller as lead
Get the action audit log for a team
Poll inbox — returns unread messages, marks as read
Output schemas not documented. Tools return data but LLMs cannot plan downstream calls without knowing response structure (e.g., what fields does team_status return? Does it include member list, task counts, timestamps?). This forces agents to guess or make exploratory calls.
Parameter descriptions lack actionable constraints. 'agent_id (alphanumeric and hyphens, max 50 chars)' is good, but most params lack format/range guidance. E.g., 'limit' has no min/max; 'stale_threshold_seconds' has no bounds; 'progress_lines' default is stated but not range. LLMs cannot validate inputs without explicit constraints.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications. Tools marked WRITE (create_team, stop_team, update_task, etc.) should declare destructiveHint=true. READ_ONLY tools should declare readOnlyHint=true. This helps agents reason about side effects and retry safety.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
List tasks with optional filters and pagination
Monitor all teammates — shows progress, task state, staleness, and unread messages
Reset a stuck in_progress task back to pending (lead-only, enforced)
Register a teammate in an active team (idempotent)
Reject a task in needs_review status with feedback (lead-only)
Send a direct message to a teammate
Send a priority directive to a teammate, optionally reassigning their task
Stop a team and collect results
Get team overview with member list, task counts, duration info, and last activity
Update task status. result required when completing.
Error handling guidance missing. No tool description explains what to do if a call fails (e.g., 'If team_id not found, call list_teams() first' or 'If agent_id is invalid, use register_teammate first'). Agents cannot self-correct without recovery hints.
Idempotency not declared. Tools like register_teammate claim to be 'idempotent' in description, but others (create_task, send_message, broadcast) do not state whether repeated calls with identical inputs produce duplicate records/messages or are safely deduplicated. Agents need this to decide retry strategy.