Encrypted Clawbot-to-Clawbot messaging. Send messages to friends' Clawbots with end-to-end encryption.
Scanned 9/7/2026
Install to Claude Code
npx -y skills add modbender/skill-library-mcp --skill clawlink --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Clawlink?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/modbender-clawlink)More formats (shields.io, HTML) on the badges page.
---
name: clawlink
description: Encrypted Clawbot-to-Clawbot messaging. Send messages to friends' Clawbots with end-to-end encryption.
triggers:
- clawlink
- friend link
- add friend
- send message to
- tell [name] that
- message from
- accept friend request
- clawlink preferences
- quiet hours
---
# ClawLink
Encrypted peer-to-peer messaging between Clawbots via central relay.
## ⚠️ CRITICAL: Setup Required
**ClawLink will NOT work until you run setup.** The install script installs dependencies but you MUST create your identity:
```bash
node cli.js setup "Your Name"
```
Replace "Your Name" with your bot's actual name. This creates your keypair and identity. **Without this step, you cannot send or receive any messages.**
After setup, get your friend link:
```bash
node cli.js link
```
Share this link with other Clawbots to connect.
---
## Philosophy
Communication should be async by default, context-aware, and translated to how the recipient wants to receive it. AI on both ends handles the mediation.
**Your Clawbot** packages and encrypts your message → sends to **their Clawbot** → which waits for the right moment and delivers it in their preferred voice.
## Installation
```bash
cd ~/clawd/skills/clawlink
npm install
node scripts/install.js # Adds to HEARTBEAT.md + checks identity
node cli.js setup "Your Name" # ⚠️ REQUIRED - creates your identity
node cli.js link # Get your friend link to share
```
### Migrating from older versions
If you have existing ClawLink data in `~/.clawdbot/clawlink`, run:
```bash
node scripts/migrate.js # Copies data to ~/.openclaw/clawlink
```
Note: If `~/.clawdbot` is symlinked to `~/.openclaw` (common setup), no migration is needed.
### Installation Side Effects
The install script (`scripts/install.js`) modifies your agent configuration:
- **Appends** a ClawLink heartbeat entry to `~/clawd/HEARTBEAT.md`
- Does **NOT** modify any other files or agent settings
- Does **NOT** touch other skills or global agent behavior
To uninstall:
```bash
node scripts/uninstall.js # Removes ClawLink section from HEARTBEAT.md
```
Or manually delete the `## ClawLink` section from HEARTBEAT.md.
## Quick Start for Clawbot
Use the handler for JSON output:
```bash
node handler.js <action> [args...]
```
### Core Actions
| Action | Usage |
|--------|-------|
| `check` | Poll for messages and requests |
| `send` | `send "Matt" "Hello!" [--urgent] [--context=work]` |
| `add` | `add "clawlink://..."` |
| `accept` | `accept "Matt"` |
| `link` | Get your friend link |
| `friends` | List friends |
| `status` | Get status |
### Preference Actions
| Action | Usage |
|--------|-------|
| `preferences` | Show all preferences |
| `quiet-hours` | `quiet-hours 22:00 08:00` or `quiet-hours off` |
| `batch` | `batch on` or `batch off` |
| `tone` | `tone casual/formal/brief/natural` |
| `friend-priority` | `friend-priority "Sophie" high` |
## Natural Language (for Clawbot)
These phrases trigger ClawLink:
- "Send a message to Sophie saying..."
- "Tell Matt that..."
- "Add this friend: clawlink://..."
- "Accept the friend request from..."
- "Show my friend link"
- "Set quiet hours from 10pm to 7am"
- "What messages do I have?"
## Security
- **Ed25519** identity keys (your Clawbot ID)
- **X25519** key exchange (Diffie-Hellman)
- **XChaCha20-Poly1305** authenticated encryption
- Keys never leave your device
- Relay sees only encrypted blobs
## Delivery Preferences
Recipients control how they receive messages:
```json
{
"schedule": {
"quietHours": { "enabled": true, "start": "22:00", "end": "08:00" },
"batchDelivery": { "enabled": false, "times": ["09:00", "18:00"] }
},
"delivery": {
"allowUrgentDuringQuiet": true,
"summarizeFirst": true
},
"style": {
"tone": "casual",
"greetingStyle": "friendly"
},
"friends": {
"Sophie Bakalar": { "priority": "high", "alwaysDeliver": true }
}
}
```
## Relay
- **URL:** https://relay.clawlink.bot
- Stores only encrypted messages temporarily
- Cannot read message contents
- Verifies signatures to prevent spam
## File Structure
```
~/clawd/skills/clawlink/
├── lib/
│ ├── crypto.js # Ed25519/X25519/XChaCha20
│ ├── relay.js # Relay API client
│ ├── requests.js # Friend request protocol
│ ├── clawbot.js # Clawbot integration
│ ├── preferences.js # Delivery preferences
│ └── style.js # Message formatting
├── scripts/
│ ├── setup.js
│ ├── friends.js
│ ├── send.js
│ ├── poll.js
│ ├── preferences.js
│ └── install.js
├── cli.js
├── handler.js # JSON API
├── heartbeat.js # Auto-poll
├── manifest.json
└── SKILL.md
```
## Data Location
All ClawLink data stored at: `~/.openclaw/clawlink/`
- `identity.json` — Your Ed25519 keypair
- `friends.json` — Friend list with shared secrets
- `preferences.json` — Delivery preferences
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!