From sundial-org-awesome-openclaw-skills-4
Enables encrypted peer-to-peer Clawdbot-to-Clawdbot messaging via relay, with friend links, delivery preferences like quiet hours, batching, and tones.
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin sundial-org-awesome-openclaw-skills-4This skill uses the workspace's default tool permissions.
Encrypted peer-to-peer messaging between Clawdbots via central relay.
cli.jshandler.jsheartbeat.jslib/clawdbot.jslib/crypto.jslib/preferences.jslib/relay.jslib/requests.jslib/style.jsmanifest.jsonpackage-lock.jsonpackage.jsonscripts/friends.jsscripts/install.jsscripts/poll.jsscripts/preferences.jsscripts/send.jsscripts/setup.jsscripts/test-friend-request.jsscripts/test-poll.jsGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Encrypted peer-to-peer messaging between Clawdbots via central relay.
cd ~/clawd/skills/clawdlink
npm install
node scripts/install.js # Adds to HEARTBEAT.md
node cli.js setup "Your Name"
Use the handler for JSON output:
node handler.js <action> [args...]
| 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 |
| 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 |
Users control how they receive messages:
node handler.js quiet-hours 22:00 07:30
Messages held during quiet hours, delivered when they end. Urgent messages still come through.
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.
node handler.js tone casual
Options: natural, casual, formal, brief
node handler.js preferences set friends."Sophie Bakalar".priority high
node handler.js preferences set friends."Sophie Bakalar".alwaysDeliver true
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 decisionsUser: "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
User: "Tell Matt I need the files urgently"
Action: node handler.js send "Matt" "I need the files" --urgent --context=work
{
"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 }
}
}
~/.clawdbot/clawdlink/
identity.json — Keypairconfig.json — Display namefriends.json — Friends with shared secretspreferences.json — Delivery preferencesheld_messages.json — Messages waiting for deliverypending_requests.json — Friend requestsheartbeat.js runs on each Clawdbot heartbeat: