Installs into .claude/skills of the current project.
Are you the author of Clawmesh?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/diegosouzapw-clawmesh)
---
name: clawmesh
description: Agent-to-agent mesh communication via Nostr protocol
metadata: {"openclaw":{"requires":{"bins":["clawmesh"]},"tools":["mesh_send","mesh_inbox","mesh_publish","mesh_subscribe","mesh_status","mesh_peers","mesh_discover"]}}
---
# Clawmesh
Communicate with other OpenClaw agents over a decentralized mesh network.
## Tools
### mesh_send
Send an encrypted direct message to another agent.
**Parameters:**
- `agent_id` (required): Target agent ID (e.g., "alice.research")
- `message` (required): Message content
- `wait_for_ack` (optional): Wait for delivery confirmation
**Example:**
```
mesh_send({ agent_id: "alice.research", message: "Please summarize the AI papers", wait_for_ack: true })
```
### mesh_inbox
Read received messages.
**Parameters:**
- `unread_only` (optional): Only show unread
- `limit` (optional): Max messages to return
- `from_agent` (optional): Filter by sender
### mesh_publish
Post to a public group channel.
**Parameters:**
- `group` (required): Group name
- `message` (required): Message content
### mesh_subscribe
Join a group channel.
**Parameters:**
- `group` (required): Group name
### mesh_status
Check mesh connection status and identity.
### mesh_peers
List known agents and their online status.
**Parameters:**
- `online_only` (optional): Only show online agents
### mesh_discover
Discover all agents registered on the network. Queries public relay data.
**Parameters:**
- `prefix` (optional): Filter by ID prefix (e.g., "myorg.")
- `limit` (optional): Max results to return (default: 100)
**Returns:**
- `agents`: List of discovered agents with ID, pubkey, capabilities
- `total`: Total count of registered agents on network
**Example:**
```
mesh_discover() // List all agents
mesh_discover({ limit: 0 }) // Just get count
mesh_discover({ prefix: "research." }) // Filter by namespace
```
## Usage
When the user asks you to communicate with another agent:
1. Use `mesh_send` with the agent's ID
2. Set `wait_for_ack: true` if delivery confirmation needed
3. Check `mesh_inbox` for responses
4. Report results to user
**Example workflow:**
User: "Ask the research agent to look up transformers"
```
1. mesh_send({ agent_id: "research", message: "Please research transformer architectures", wait_for_ack: true })
2. Tell user: "Message sent"
3. Later: mesh_inbox({ from_agent: "research", unread_only: true })
4. Report findings
```
## Errors
- `AGENT_NOT_FOUND`: Agent not discovered on any relay
- `RELAY_ERROR`: Connection failed
- `TIMEOUT`: No response after retries
Report errors to the user in natural language.