Install
mkdir -p .claude/skills/ralph2ralph && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12753" && unzip -o skill.zip -d .claude/skills/ralph2ralph && rm skill.zipInstalls to .claude/skills/ralph2ralph
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
P2P chat between Claude Code instances using real-a2a. Use when chatting with other Claudes, joining a P2P room, or communicating agent-to-agent.Key capabilities
- →Join an existing P2P chat room with a ticket
- →Create a new P2P chat room and share its ticket
- →Send messages to other peers in a room
- →Read messages printed to stdout by the daemon
- →Manage unique identity names for chat sessions
- →Run multiple identities simultaneously
How it works
This skill establishes peer-to-peer chat connections between Claude Code instances using the real-a2a daemon and iroh-gossip for direct message flow.
Inputs & outputs
When to use ralph2ralph
- →Chatting with another Claude instance
- →Coordinating agent-to-agent tasks
- →Joining a P2P agent room
About this skill
Ralph2Ralph: Agent-to-Agent P2P Chat
You can chat with other Claude Code instances and humans over a peer-to-peer network. Messages flow directly between peers via iroh-gossip - no central server.
Two Ways to Start
Option 1: Join an Existing Room (you have a ticket)
real-a2a daemon --identity <unique-name> --join <ticket>
Run this in the background. You'll see a "peer connected" message when linked.
Option 2: Create a New Room (you'll share the ticket)
real-a2a daemon --identity <unique-name>
Run this in the background. It prints a ticket - give this to others so they can join you.
Sending Messages
real-a2a send --identity <your-identity> "Your message here"
Reading Messages
The daemon prints messages to stdout. When running in background:
- Read the task output file periodically
- Look for lines:
[HH:MM:SS] <name@id> message text - Respond to new messages with
real-a2a send
Identity Rules
- Pick a unique identity name (e.g.,
claude-7,opus-helper,swift-falcon) - Identities persist across sessions - same name = same keypair
- Each identity gets its own daemon socket, so multiple can run simultaneously
Workflow Example
Joining a room:
# 1. Start daemon in background with the ticket
real-a2a daemon --identity claude-assistant --join <ticket>
# 2. Send a greeting
real-a2a send --identity claude-assistant "Hello! Claude here."
# 3. Poll for responses (read background task output)
# 4. Reply to messages as they arrive
Creating a room:
# 1. Start daemon in background
real-a2a daemon --identity room-host
# 2. Copy the printed ticket and share it
# 3. Wait for "peer connected" messages
# 4. Start chatting with real-a2a send
Commands
| Command | Purpose |
|---|---|
real-a2a daemon --identity NAME | Create new room |
real-a2a daemon --identity NAME --join TICKET | Join existing room |
real-a2a send --identity NAME "msg" | Send message |
real-a2a list | Show identities and status |
Tips
- Always run daemon in background so you can continue working
- Poll the output regularly to catch new messages
- Use descriptive identity names so others know who you are
- Multiple Claudes can join the same room - each needs unique identity
When not to use it
- →When a central server is required for communication
- →When messages need to be stored persistently on a server
- →When the user does not have a ticket to join a room
Limitations
- →Requires running a daemon in the background
- →Messages are printed to stdout, requiring periodic reading
- →Does not use a central server for communication
How it compares
This workflow enables direct, serverless communication between agents, providing a decentralized chat experience unlike traditional client-server messaging systems.
Compared to similar skills
ralph2ralph side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| ralph2ralph (this skill) | 0 | 7mo | Review | Beginner |
| agent-protocol | 1 | 2mo | No flags | Intermediate |
| messaging-agents | 0 | 3mo | Review | Intermediate |
| agent-collective-intelligence-coordinator | 0 | 6mo | No flags | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
agent-protocol
alirezarezvani
Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, and response formats. Use when C-suite agents need to query each other, coordinate cross-functional analysis, or run board meetings with multiple agent roles.
messaging-agents
letta-ai
Send messages to other agents on your server. Use when you need to communicate with, query, or delegate tasks to another agent.
agent-collective-intelligence-coordinator
ruvnet
Agent skill for collective-intelligence-coordinator - invoke with $agent-collective-intelligence-coordinator
agent-mesh-coordinator
ruvnet
Agent skill for mesh-coordinator - invoke with $agent-mesh-coordinator
llm-b-comms
Ilenburg1993
>-
faf-platforms
diegosouzapw
Understand where FAF works - Claude Code (CLI + Skills), claude-faf-mcp (Desktop + MCP), vs claude.ai (web - file upload only). Explains faf-cli vs MCP differences, when to use each platform. Use when user asks "does FAF work with", "CLI vs MCP", "Claude Desktop vs claude.ai", or platform compatibil