call-peer

Send prompts to peer A2A agents via JSON-RPC message/send and return their replies.

2|Updated Apr 5, 2026
One-click install
npx skills add https://github.com/witwave-ai/witwave --skill call-peer-witwave-ai
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: call-peer
Source: https://github.com/witwave-ai/witwave/tree/main/.agents/self/iris/.claude/skills/call-peer
Command: npx skills add https://github.com/witwave-ai/witwave --skill call-peer-witwave-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Delegating work to a sibling agent requires hand-building the A2A JSON-RPC message/send envelope every time — fresh UUIDs, blocking configuration, correct URL resolution, and response parsing. This Skill codifies that wire format so an agent can delegate a task to a peer and get back the peer's full reply without re-deriving the protocol details on each call. ## Core Features & Use Cases - Peer URL resolution from memory: Reads the reference_peer_<name>.md memory entries written by discover-peers to find the peer's in-cluster URL, and refuses to guess when no entry exists. - Correct envelope construction: Builds the JSON-RPC 2.0 message/send payload with a fresh lowercase UUID messageId, blocking: true, and no pre-allocated taskId (avoiding the peer's "unknown task" error). - Response parsing and error surfacing: Extracts result.parts[0].text on success, surfaces JSON-RPC error codes like -32603 and -32001 verbatim, and returns trace_id metadata for cross-agent log correlation. - Use Case: During a release flow, you decide kira should re-scan the docs before tagging. Invoke this Skill with peer name "kira" and the scan instruction; it posts the request to kira's in-cluster URL with a 45-minute timeout and returns kira's complete reply. ## Quick Start Ask iris to push the latest changes by delegating the task to the peer named iris and returning its reply.

Frequently Asked Questions about call-peer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send a message to another A2A agent using JSON-RPC?▼

Build a JSON-RPC 2.0 envelope with method message/send, a message containing role user, text parts, and a fresh UUID messageId, plus configuration with blocking set to true. POST it to the peer's agent URL and read the reply from result.parts[0].text.

How do I delegate a task to a peer agent in the same namespace?▼

First run discover-peers so the peer's URL is cached in a reference_peer_<name>.md memory entry. Then invoke this Skill with the peer name and prompt; it resolves the URL from memory, posts the request, and returns the peer's full reply.

Why does message/send return a task not found error?▼

Error code -32001 occurs when you send a taskId that does not already exist on the peer. Omit the taskId field entirely and let the peer's harness allocate one on the first send.

Does A2A message/send support streaming responses?▼

This Skill uses blocking message/send only; A2A message/stream is not consumed by anything in this codebase since agent capabilities declare streaming as false. A separate streaming skill would be needed if a real streaming consumer appears.

What are the limitations of one-shot peer delegation?▼

Each call is a single request-response with no multi-turn continuity on the same task, no authentication headers (intra-namespace traffic relies on network policy), and no peer discovery — the peer must already be cached in memory.