mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
2.3 KiB
2.3 KiB
A2A (Agent-to-Agent) Tools
Overview
A2A enables direct peer-to-peer communication between agents about existing tasks.
Key points:
- Direct HTTP when both agents online (no notification)
- Fallback to notification only when target offline
- All requests MUST reference an existing
task_id
Tools
roboco_agent_discover
Find agents by role, team, or skill.
roboco_agent_discover(
role="developer", # Optional: developer, qa, documenter, cell_pm, etc.
team="backend", # Optional: backend, frontend, ux_ui
skill="code_review" # Optional: specific capability
)
roboco_agent_request
Send A2A message to another agent.
roboco_agent_request(
target_agent="be-qa",
skill="code_review",
message="Please review my changes",
task_id="abc123...", # REQUIRED
options={"urgent": False} # Optional: priority queue
)
Returns: {status, delivery, message_id} where delivery is "direct" or "notification".
roboco_a2a_check
Poll your inbox for incoming A2A messages.
roboco_a2a_check()
Returns: {messages: [...], count: N} - messages from other agents.
Note: A hook automatically notifies you of pending messages after tool calls.
Common Use Cases
| Need | Action |
|---|---|
| Code review | roboco_agent_request("be-qa", "code_review", "...", task_id) |
| Clarification | roboco_agent_request("be-pm", "clarification", "...", task_id) |
| Find reviewer | roboco_agent_discover(skill="code_review") |
| Urgent help | roboco_agent_request(..., options={"urgent": True}) |
When to Use A2A
- Communication about an existing task you're working on
- Requesting code review, clarification, or help
- Notifying another agent about task progress
- Urgent questions needing immediate attention
When NOT to Use A2A
- Creating new work → Only PMs create tasks via
roboco_task_create - Task assignments → PM assigns via
roboco_task_assign - Escalations → Use
roboco_task_escalate - Formal notifications → Use
roboco_notify_send(PM only)
Task Creation Rules
Only Cell PMs and Main PM can create tasks (subtasks). If an agent receives an A2A request that requires new work:
- Escalate to PM:
roboco_task_escalate(task_id, "Needs subtask for...") - PM decides whether to create a subtask