← Back to Skills Marketplace
saullockyip

A2A Chatting

by Char Siu · GitHub ↗ · v0.4.0 · MIT-0
cross-platform ⚠ suspicious
311
Downloads
0
Stars
1
Active Installs
9
Versions
Install in OpenClaw
/install a2a-chatting
Description
Enable communication, coordination, and information exchange between OpenClaw agents through controlled multi-agent chat sessions.
README (SKILL.md)

A2A Chatting

Manage sessions with other OpenClaw agents. Messaging is done via the built-in sessions_send tool, not via the CLI. This CLI only handles session lifecycle (create, list, view, delete).

Message Format (Required)

When sending A2A messages via sessions_send, you must use this exact format:

[From: \x3Cname>] [fromAgentId: \x3CagentId>] [reply-to: \x3CsourceSession>] \x3Cmessage>

For notifications (no reply needed):

[From: \x3Cname>] [fromAgentId: \x3CagentId>] [DO NOT REPLY] \x3Cmessage>

Example — ask Anna to do something:

[From: Lewis] [fromAgentId: echi-ceo] [reply-to: \x3Cyour sessionId>] 早上好,请更新本周销售报告。

Example — notify Victor (no reply needed):

[From: Lewis] [fromAgentId: echi-ceo] [DO NOT REPLY] 会议已延期到下午3点。

Fields explained:

  • From — Human-readable name of the sender
  • fromAgentId — The agent ID (e.g. echi-ceo, echitech-sales-manager-victor)
  • reply-to — Your own sourceSession (so the receiver knows where to route replies)
  • DO NOT REPLY — Use when no response is needed (fire-and-forget)

Prerequisites

Configure the OpenClaw directory:

a2a-chatting.sh config \x3Copenclaw_dir>
# Example: a2a-chatting.sh config /Users/roco/.openclaw

CLI Commands

Command Description
config \x3Cpath> [--force] Configure OpenClaw directory
get-agents List all available agents with their IDs
new-session \x3Cagent_id> \x3Ctopic> Create a new A2A session with an agent
list-sessions List all A2A sessions
get-session \x3Csession_id> Show session info
delete-session \x3Csession_id> Delete a session

Workflow

Step 1: Create a Session

# Use the CLI to create a session with the target agent
a2a-chatting.sh new-session \x3Cagent_id> "Discuss project structure"
# Returns: Session ID (e.g. 30d53db1-d1fd-41d8-a7f3-8373aa58a840)

Step 2: Send Message (via sessions_send)

# Use sessions_send tool with the format above:
sessions_send(
  sessionKey: "\x3Ctarget agent session>",
  message: "[From: Lewis] [fromAgentId: echi-ceo] [reply-to: \x3CsourceSession>] 早上好,请更新本周销售报告。"
)

Step 3: Receive Reply

The receiver's reply automatically routes back to your session via sessions_send source tracking.

Tips

  • Session Reuse: Reuse existing sessions for ongoing conversations — agents maintain context
  • Topic Naming: Use descriptive topics so you can find sessions later with list-sessions
  • Format Strictly: Always use the [From: ...] format — it identifies you in multi-agent conversations
  • reply-to vs DO NOT REPLY: Only use reply-to when you need a response. Use DO NOT REPLY for notifications.

Examples

Create session with Anna

a2a-chatting.sh new-session echitech-marketing-manager-anna "Marketing sync"
# → Session ID: db4aaf45-dd47-4766-87d0-0c2f690e8797

Send a task request

sessions_send(
  sessionKey: "agent:echitech-marketing-manager-anna:main",
  message: "[From: Lewis] [fromAgentId: echi-ceo] [reply-to: \x3CsourceSession>] 请更新本周营销计划。"
)

Send a notification (no reply)

sessions_send(
  sessionKey: "agent:echitech-sales-manager-victor:main",
  message: "[From: Lewis] [fromAgentId: echi-ceo] [DO NOT REPLY] 今晚8点有全员会议,请准时参加。"
)

Storage

Session index: \x3Copenclaw_dir>/a2a-sessions/sessions.jsonl

Usage Guidance
Before installing: (1) Note the package includes a shell CLI (a2a-chatting.sh) that runs the 'openclaw' command and 'jq' but the skill metadata does not declare these required binaries—installing may fail or run unexpectedly if those tools aren't present. (2) The script stores a config at $HOME/.a2a-chatting.conf and reads <openclaw_dir>/openclaw.json; inspect that openclaw.json for sensitive information (agent configs, tokens) since the skill will read it. (3) The skill writes session records under the OpenClaw directory you configure; ensure you trust the agents you will message because messages are routed via sessions_send and may contain tasking. (4) If you plan to use this skill, verify the presence and provenance of the 'openclaw' CLI and 'jq', review the script source for your environment, and consider running it in a limited user account or sandbox first. The inconsistency in declared dependencies looks like an oversight but should be resolved or explained by the author before wide deployment.
Capability Analysis
Type: OpenClaw Skill Name: a2a-chatting Version: 0.4.0 The skill provides a legitimate mechanism for managing agent-to-agent (A2A) communication sessions within the OpenClaw ecosystem. The 'a2a-chatting.sh' script implements session lifecycle management (config, list, create, delete) using standard tools like jq and the openclaw CLI, while SKILL.md defines a structured messaging protocol. The implementation follows security best practices, such as using regex validation for session IDs and 'jq --arg' to prevent injection when handling user-supplied topics.
Capability Assessment
Purpose & Capability
The skill claims to be instruction-only and lists no required binaries or env vars, but the included a2a-chatting.sh invokes the external 'openclaw' CLI and 'jq' (and expects a valid OpenClaw directory with openclaw.json). Those binaries/configs are necessary for its core functionality but are not declared in the metadata.
Instruction Scope
SKILL.md confines runtime messaging to the platform's sessions_send tool and documents the CLI's lifecycle commands. The script reads and writes files (saves a config to $HOME/.a2a-chatting.conf, writes session records under the configured OpenClaw directory, and reads openclaw.json). This file I/O is reasonable for session management but SKILL.md does not call out the script's direct file operations.
Install Mechanism
There is no install spec (instruction-only). No network downloads or archive extraction are present in the package. Risk from the install mechanism itself is low.
Credentials
The skill declares no required environment variables or credentials, which matches the absence of explicit secrets; however, it does read the OpenClaw directory (openclaw.json) and uses $HOME. openclaw.json could contain sensitive configuration or agent info. The absence of declared dependencies for the 'openclaw' CLI and 'jq' is an inconsistency that affects proportionality.
Persistence & Privilege
The skill does write a small config file ($HOME/.a2a-chatting.conf) and session files under the user-specified OpenClaw directory. It does not request global always-on privileges nor modify other skills' configurations. This level of persistence is expected for a session manager.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install a2a-chatting
  3. After installation, invoke the skill by name or use /a2a-chatting
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.4.0
Remove cmd_message from CLI; messaging now via sessions_send tool + mandated format in SKILL.md. CLI is now session management only.
v0.3.0
Separate fromAgentId (sender) and toAgentId (target) in message prepend; add --from-agent-id flag for full sender identity
v0.2.9
Auto-append agentId and sessionId to --from prepend, so every A2A message carries full sender identity context
v0.2.8
Add --from flag to identify sender in A2A messages, update SKILL.md to require sender identity in all examples
v0.2.7
- Rolled back skill version from 0.2.6 to 0.2.5 in documentation. - No command usage or feature changes; documentation reverted to a previous state. - Workflow, command explanations, and examples remain unchanged.
v0.2.6
Fix syntax error on line 210: missing fi causes parse failure in cmd_message() error handler
v0.2.5
Add --parent-session-id flag (recommended for reply routing), multi-word message support, UUID validation, jq-based JSON parsing, reply validation, and trap-based temp file cleanup
v0.2.1
Complete rewrite as CLI tool with session persistence, multi-turn conversations, and proper JSON escaping
v0.1.0
Initial release
Metadata
Slug a2a-chatting
Version 0.4.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 9
Frequently Asked Questions

What is A2A Chatting?

Enable communication, coordination, and information exchange between OpenClaw agents through controlled multi-agent chat sessions. It is an AI Agent Skill for Claude Code / OpenClaw, with 311 downloads so far.

How do I install A2A Chatting?

Run "/install a2a-chatting" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is A2A Chatting free?

Yes, A2A Chatting is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does A2A Chatting support?

A2A Chatting is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created A2A Chatting?

It is built and maintained by Char Siu (@saullockyip); the current version is v0.4.0.

💬 Comments