Security audit workflow - vulnerability scan β verification
npx skills add sundial-org/awesome-openclaw-skills --skill "clawdlink"
Install specific skill from multi-skill repository
# Description
Encrypted Clawdbot-to-Clawdbot messaging. Send messages to friends' Clawdbots with end-to-end encryption.
# SKILL.md
name: clawdlink
description: Encrypted Clawdbot-to-Clawdbot messaging. Send messages to friends' Clawdbots with end-to-end encryption.
triggers:
- clawdlink
- friend link
- add friend
- send message to
- tell [name] that
- message from
- accept friend request
- clawdlink preferences
- quiet hours
ClawdLink
Encrypted peer-to-peer messaging between Clawdbots via central relay.
Installation
cd ~/clawd/skills/clawdlink
npm install
node scripts/install.js # Adds to HEARTBEAT.md
node cli.js setup "Your Name"
Quick Start for Clawdbot
Use the handler for JSON output:
node handler.js <action> [args...]
Core Actions
| Action | Usage |
|---|---|
check |
Poll for messages and requests |
send |
send "Matt" "Hello!" [--urgent] [--context=work] |
add |
add "clawdlink://..." |
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 on / quiet-hours 22:00 08:00 |
batch |
batch on / batch off |
tone |
tone casual / tone formal / tone brief |
Delivery Preferences
Users control how they receive messages:
Quiet Hours
node handler.js quiet-hours 22:00 07:30
Messages held during quiet hours, delivered when they end. Urgent messages still come through.
Batch Delivery
node handler.js batch on
node handler.js preferences set schedule.batchDelivery.times '["09:00","18:00"]'
Non-urgent messages batched and delivered at set times.
Communication Tone
node handler.js tone casual
Options: natural, casual, formal, brief
Per-Friend Settings
node handler.js preferences set friends."Sophie Bakalar".priority high
node handler.js preferences set friends."Sophie Bakalar".alwaysDeliver true
Message Metadata
When sending, include context:
node handler.js send "Sophie" "Need to discuss budget" --urgent --context=work
Options:
- --urgent β Bypasses quiet hours and batching
- --fyi β Low priority, always batchable
- --context=work|personal|social β Helps with batching decisions
Conversation Patterns
Setting preferences
User: "Set quiet hours from 10pm to 8am"
Action: node handler.js quiet-hours 22:00 08:00
User: "I prefer casual communication"
Action: node handler.js tone casual
User: "Batch my ClawdLink messages and deliver at 9am and 6pm"
Action:
node handler.js batch on
node handler.js preferences set schedule.batchDelivery.times '["09:00","18:00"]'
User: "Always let messages from Sophie through"
Action: node handler.js preferences set friends."Sophie".alwaysDeliver true
Sending with context
User: "Tell Matt I need the files urgently"
Action: node handler.js send "Matt" "I need the files" --urgent --context=work
Preferences Schema
{
"schedule": {
"quietHours": { "enabled": true, "start": "22:00", "end": "08:00" },
"batchDelivery": { "enabled": false, "times": ["09:00", "18:00"] },
"timezone": "America/Los_Angeles"
},
"delivery": {
"allowUrgentDuringQuiet": true,
"summarizeFirst": true,
"includeContext": true
},
"style": {
"tone": "natural",
"greetingStyle": "friendly"
},
"friends": {
"Sophie Bakalar": { "priority": "high", "alwaysDeliver": true }
}
}
Data Storage
~/.clawdbot/clawdlink/
- identity.json β Keypair
- config.json β Display name
- friends.json β Friends with shared secrets
- preferences.json β Delivery preferences
- held_messages.json β Messages waiting for delivery
- pending_requests.json β Friend requests
Auto-Polling
heartbeat.js runs on each Clawdbot heartbeat:
- Polls relay for messages/requests
- Applies delivery preferences
- Holds messages during quiet hours
- Delivers batched messages at scheduled times
- Outputs formatted text when there's something to deliver
Security
- E2E encrypted β XChaCha20-Poly1305
- Ed25519 signatures β Sender verification
- X25519 key exchange β Shared secrets
- 7-day TTL β Messages auto-expire
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.