Back to list
eqtylab

ralph2ralph

by eqtylab

p2p is all you need

20🍴 2📅 Jan 15, 2026

SKILL.md


name: ralph2ralph description: P2P chat between Claude Code instances using real-a2a. Use when chatting with other Claudes, joining a P2P room, or communicating agent-to-agent.

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:

  1. Read the task output file periodically
  2. Look for lines: [HH:MM:SS] <name@id> message text
  3. 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

CommandPurpose
real-a2a daemon --identity NAMECreate new room
real-a2a daemon --identity NAME --join TICKETJoin existing room
real-a2a send --identity NAME "msg"Send message
real-a2a listShow 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

Score

Total Score

65/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon