Pilot Multi Region Content Sync Setup
/install pilot-multi-region-content-sync-setup
Multi-Region Content Sync Setup
Deploy 4 agents: 1 origin + 3 regional edge nodes for content distribution.
Roles
| Role | Hostname | Skills | Purpose |
|---|---|---|---|
| origin | \x3Cprefix>-origin |
pilot-sync, pilot-share, pilot-broadcast, pilot-heartbeat-monitor | Source of truth, broadcasts updates |
| edge-us | \x3Cprefix>-edge-us |
pilot-sync, pilot-share, pilot-health, pilot-heartbeat-monitor | US regional edge |
| edge-eu | \x3Cprefix>-edge-eu |
pilot-sync, pilot-share, pilot-health, pilot-heartbeat-monitor | EU regional edge |
| edge-asia | \x3Cprefix>-edge-asia |
pilot-sync, pilot-share, pilot-health, pilot-heartbeat-monitor | Asia regional edge |
Setup Procedure
Step 1: Ask the user which role this agent should play and what prefix to use.
Step 2: Install the skills for the chosen role:
# For origin:
clawhub install pilot-sync pilot-share pilot-broadcast pilot-heartbeat-monitor
# For any edge node:
clawhub install pilot-sync pilot-share pilot-health pilot-heartbeat-monitor
Step 3: Set the hostname:
pilotctl --json set-hostname \x3Cprefix>-\x3Crole>
Step 4: Write the role-specific JSON manifest to ~/.pilot/setups/multi-region-content-sync.json.
Step 5: Tell the user to initiate handshakes.
Manifest Templates Per Role
origin
{
"setup": "multi-region-content-sync", "role": "origin", "role_name": "Content Origin",
"hostname": "\x3Cprefix>-origin",
"description": "Source of truth for all content. Broadcasts updates to all edge nodes.",
"skills": {
"pilot-sync": "Push content changes to all edge nodes.",
"pilot-share": "Transfer new content files to edges.",
"pilot-broadcast": "Broadcast content-update events to all edges simultaneously.",
"pilot-heartbeat-monitor": "Track heartbeats from all edges, alert when a region goes dark."
},
"peers": [
{ "role": "edge-us", "hostname": "\x3Cprefix>-edge-us", "description": "US regional edge node" },
{ "role": "edge-eu", "hostname": "\x3Cprefix>-edge-eu", "description": "EU regional edge node" },
{ "role": "edge-asia", "hostname": "\x3Cprefix>-edge-asia", "description": "Asia regional edge node" }
],
"data_flows": [
{ "direction": "send", "peer": "\x3Cprefix>-edge-us", "port": 1001, "topic": "content-update", "description": "Content updates" },
{ "direction": "send", "peer": "\x3Cprefix>-edge-eu", "port": 1001, "topic": "content-update", "description": "Content updates" },
{ "direction": "send", "peer": "\x3Cprefix>-edge-asia", "port": 1001, "topic": "content-update", "description": "Content updates" },
{ "direction": "receive", "peer": "\x3Cprefix>-edge-us", "port": 1002, "topic": "heartbeat", "description": "Health heartbeats" },
{ "direction": "receive", "peer": "\x3Cprefix>-edge-eu", "port": 1002, "topic": "heartbeat", "description": "Health heartbeats" },
{ "direction": "receive", "peer": "\x3Cprefix>-edge-asia", "port": 1002, "topic": "heartbeat", "description": "Health heartbeats" }
],
"handshakes_needed": ["\x3Cprefix>-edge-us", "\x3Cprefix>-edge-eu", "\x3Cprefix>-edge-asia"]
}
edge-us / edge-eu / edge-asia
{
"setup": "multi-region-content-sync", "role": "edge-\x3Cregion>", "role_name": "\x3CRegion> Edge Node",
"hostname": "\x3Cprefix>-edge-\x3Cregion>",
"description": "Serves content for the \x3Cregion> region. Syncs from origin and reports health.",
"skills": {
"pilot-sync": "Pull content updates from origin.",
"pilot-share": "Receive content files from origin.",
"pilot-health": "Monitor local health and sync status.",
"pilot-heartbeat-monitor": "Send periodic heartbeats to origin."
},
"peers": [{ "role": "origin", "hostname": "\x3Cprefix>-origin", "description": "Content source — receives updates from here" }],
"data_flows": [
{ "direction": "receive", "peer": "\x3Cprefix>-origin", "port": 1001, "topic": "content-update", "description": "Content updates" },
{ "direction": "send", "peer": "\x3Cprefix>-origin", "port": 1002, "topic": "heartbeat", "description": "Health heartbeats" }
],
"handshakes_needed": ["\x3Cprefix>-origin"]
}
Data Flows
origin → edge-*: content updates (port 1001)edge-* → origin: heartbeat and sync confirmation (port 1002)
Workflow Example
# On origin — broadcast content:
pilotctl --json send-file \x3Cprefix>-edge-us ./content/index.html
pilotctl --json publish \x3Cprefix>-edge-us content-update '{"file":"index.html","version":42}'
# On edge — confirm and heartbeat:
pilotctl --json publish \x3Cprefix>-origin sync-complete '{"region":"us","version":42}'
pilotctl --json publish \x3Cprefix>-origin heartbeat '{"region":"us","status":"healthy"}'
Dependencies
Requires pilot-protocol skill, pilotctl binary, clawhub binary, and a running daemon.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install pilot-multi-region-content-sync-setup - After installation, invoke the skill by name or use
/pilot-multi-region-content-sync-setup - Provide required inputs per the skill's parameter spec and get structured output
What is Pilot Multi Region Content Sync Setup?
Deploy a multi-region content distribution system with 4 agents. Use this skill when: 1. User wants to sync content across geographic regions 2. User is conf... It is an AI Agent Skill for Claude Code / OpenClaw, with 60 downloads so far.
How do I install Pilot Multi Region Content Sync Setup?
Run "/install pilot-multi-region-content-sync-setup" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Pilot Multi Region Content Sync Setup free?
Yes, Pilot Multi Region Content Sync Setup is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Pilot Multi Region Content Sync Setup support?
Pilot Multi Region Content Sync Setup is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Pilot Multi Region Content Sync Setup?
It is built and maintained by Calin Teodor (@teoslayer); the current version is v1.0.0.