Pilot backup disaster recovery setup
Skill TeoSlayer/pilot-skills/skills/pilot-backup-disaster-recovery-setup
80+ agent skills for Pilot Protocol — communication, file transfer, trust, task routing, swarm coordination, and more
npx -y skills add TeoSlayer/pilot-skills --skill pilot-backup-disaster-recovery-setupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Deploy a backup and disaster recovery system with 4 agents. Use this skill when: 1. User wants to set up automated backup infrastructure 2. User is configuring a scheduler, backup, offsite replica, or restore tester agent 3. User asks about disaster recovery, offsite sync, or backup verification Do NOT use this skill when: - User wants a single backup operation (use pilot-backup instead) - User wants to verify a single file (use pilot-verify instead)
The file declares its own license as AGPL-3.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
6.5 KB, as published. Nobody here has run it
Backup & Disaster Recovery Setup
Deploy 4 agents: scheduler, primary backup, offsite secondary, and restore tester.
Roles
| Role | Hostname | Skills | Purpose |
|---|---|---|---|
| scheduler | <prefix>-backup-sched | pilot-cron, pilot-task-chain, pilot-audit-log, pilot-slack-bridge | Orchestrates backup lifecycle |
| primary | <prefix>-backup-primary | pilot-backup, pilot-archive, pilot-compress, pilot-share | Creates and ships backups |
| secondary | <prefix>-backup-secondary | pilot-sync, pilot-verify, pilot-health, pilot-share | Offsite replica, verifies integrity |
| tester | <prefix>-restore-tester | pilot-backup, pilot-verify, pilot-health, pilot-alert | Tests restores, alerts on failures |
Setup Procedure
Step 1: Ask the user which role and prefix.
Step 2: Install skills:
# scheduler:
clawhub install pilot-cron pilot-task-chain pilot-audit-log pilot-slack-bridge
# primary:
clawhub install pilot-backup pilot-archive pilot-compress pilot-share
# secondary:
clawhub install pilot-sync pilot-verify pilot-health pilot-share
# tester:
clawhub install pilot-backup pilot-verify pilot-health pilot-alert
Step 3: Set hostname and write manifest to ~/.pilot/setups/backup-disaster-recovery.json.
Step 4: Handshake along the chain: scheduler↔primary↔secondary↔tester↔scheduler.
Manifest Templates Per Role
scheduler
{
"setup": "backup-disaster-recovery", "role": "scheduler", "role_name": "Backup Scheduler",
"hostname": "<prefix>-backup-sched",
"skills": {
"pilot-cron": "Schedule periodic backup jobs (hourly, daily, weekly).",
"pilot-task-chain": "Orchestrate backup → sync → verify → report.",
"pilot-audit-log": "Log all backup lifecycle events.",
"pilot-slack-bridge": "Send backup reports and failure alerts to Slack."
},
"data_flows": [
{ "direction": "send", "peer": "<prefix>-backup-primary", "port": 1002, "topic": "backup-start", "description": "Trigger backup jobs" },
{ "direction": "receive", "peer": "<prefix>-restore-tester", "port": 1002, "topic": "restore-result", "description": "Restore test results" }
],
"handshakes_needed": ["<prefix>-backup-primary", "<prefix>-backup-secondary", "<prefix>-restore-tester"]
}
primary
{
"setup": "backup-disaster-recovery", "role": "primary", "role_name": "Primary Backup",
"hostname": "<prefix>-backup-primary",
"skills": {
"pilot-backup": "Create database and filesystem backups.",
"pilot-archive": "Archive backups with metadata and retention.",
"pilot-compress": "Compress archives before transfer.",
"pilot-share": "Ship compressed archives to secondary."
},
"data_flows": [
{ "direction": "receive", "peer": "<prefix>-backup-sched", "port": 1002, "topic": "backup-start", "description": "Backup triggers" },
{ "direction": "send", "peer": "<prefix>-backup-secondary", "port": 1001, "topic": "sync-backup", "description": "Compressed archives" }
],
"handshakes_needed": ["<prefix>-backup-sched", "<prefix>-backup-secondary"]
}
secondary
{
"setup": "backup-disaster-recovery", "role": "secondary", "role_name": "Offsite Replica",
"hostname": "<prefix>-backup-secondary",
"skills": {
"pilot-sync": "Receive and sync backup archives from primary.",
"pilot-verify": "Verify integrity checksums on received backups.",
"pilot-health": "Report offsite storage health and capacity.",
"pilot-share": "Provide backups to restore tester on demand."
},
"data_flows": [
{ "direction": "receive", "peer": "<prefix>-backup-primary", "port": 1001, "topic": "sync-backup", "description": "Compressed archives" },
{ "direction": "send", "peer": "<prefix>-restore-tester", "port": 1001, "topic": "restore-data", "description": "Backups for testing" },
{ "direction": "send", "peer": "<prefix>-backup-sched", "port": 1002, "topic": "sync-confirmed", "description": "Sync confirmation" }
],
"handshakes_needed": ["<prefix>-backup-primary", "<prefix>-backup-sched", "<prefix>-restore-tester"]
}
tester
{
"setup": "backup-disaster-recovery", "role": "tester", "role_name": "Restore Tester",
"hostname": "<prefix>-restore-tester",
"skills": {
"pilot-backup": "Perform test restores in isolated environment.",
"pilot-verify": "Verify restored data integrity (row counts, checksums).",
"pilot-health": "Monitor restore test environment health.",
"pilot-alert": "Alert on restore failures or data corruption."
},
"data_flows": [
{ "direction": "receive", "peer": "<prefix>-backup-secondary", "port": 1001, "topic": "restore-data", "description": "Backups to test" },
{ "direction": "send", "peer": "<prefix>-backup-sched", "port": 1002, "topic": "restore-result", "description": "Test results" }
],
"handshakes_needed": ["<prefix>-backup-secondary", "<prefix>-backup-sched"]
}
Data Flows
scheduler → primary: backup triggers (port 1002)primary → secondary: compressed archives (port 1001)secondary → tester: backups for testing (port 1001)tester → scheduler: restore test results (port 1002)
Workflow Example
# On scheduler:
pilotctl --json publish <prefix>-backup-primary backup-start '{"job_id":"BK-315","type":"full","targets":["postgres","redis"]}'
# On primary:
pilotctl --json send-file <prefix>-backup-secondary ./backups/BK-315-postgres.tar.gz
pilotctl --json publish <prefix>-backup-secondary sync-backup '{"job_id":"BK-315","size_mb":1240}'
# On tester:
pilotctl --json publish <prefix>-backup-sched restore-result '{"job_id":"BK-315","restore":"success","tables_verified":42}'
Dependencies
Requires pilot-protocol skill, pilotctl binary, clawhub binary, and a running daemon.