Pilot Backup Disaster Recovery Setup

v1.0.0

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 configuri...

0· 87·0 current·0 all-time
byCalin Teodor@teoslayer

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for teoslayer/pilot-backup-disaster-recovery-setup.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Pilot Backup Disaster Recovery Setup" (teoslayer/pilot-backup-disaster-recovery-setup) from ClawHub.
Skill page: https://clawhub.ai/teoslayer/pilot-backup-disaster-recovery-setup
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: pilotctl, clawhub
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install pilot-backup-disaster-recovery-setup

ClawHub CLI

Package manager switcher

npx clawhub@latest install pilot-backup-disaster-recovery-setup
Security Scan
Capability signals
Crypto
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description describe a multi-agent backup/disaster recovery setup and the SKILL.md prescribes installing and configuring four agent roles. The declared required binaries (pilotctl and clawhub) are exactly the tools invoked in the instructions, so required tools align with the stated purpose.
Instruction Scope
The instructions are explicit and limited to using clawhub to install pilot-* skills, using pilotctl to set hostnames/handshakes, and writing a manifest to ~/.pilot/setups/backup-disaster-recovery.json. This stays within the backup/DR scope. Note: it triggers installation of additional components (e.g., pilot-slack-bridge) that may later require external credentials; the skill itself does not request those credentials but the installed components will need them to function.
Install Mechanism
This is instruction-only (no install spec, no code files). The only install action is invoking clawhub to install other pilot-* skills. That is expected for a composition/setup skill and represents standard package installation rather than downloading arbitrary code directly from an untrusted URL.
Credentials
The skill declares no environment variables or credentials and its runtime instructions do not read secrets. However, some installed components (e.g., Slack bridge or cloud storage adapters) will likely require third-party tokens; those are not requested here and must be provided separately by the user.
Persistence & Privilege
always is false and the skill does not request elevated platform privileges. It writes its own manifest under the user's ~/.pilot directory and uses clawhub to install skills — expected behavior for a setup recipe. It does not modify unrelated skill configs or claim permanent/global presence.
Assessment
This recipe appears internally consistent, but before running it: 1) verify clawhub's provenance and what each pilot-* package will install (especially pilot-slack-bridge and any components that integrate with cloud/backups); 2) be prepared to supply any third-party credentials (Slack, cloud storage) securely when those components are configured — the skill itself won't prompt for them; 3) review the handshake/trust model (handshakes auto-approve when both sides send them) so you understand how agents will trust each other on your network; and 4) test in an isolated environment first and ensure backup transfers are encrypted and access-controlled to avoid accidental data exposure.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binspilotctl, clawhub
latestvk97fc6hjbh6fhw5kxsbmheccsd85bbyq
87downloads
0stars
1versions
Updated 5d ago
v1.0.0
MIT-0

Backup & Disaster Recovery Setup

Deploy 4 agents: scheduler, primary backup, offsite secondary, and restore tester.

Roles

RoleHostnameSkillsPurpose
scheduler<prefix>-backup-schedpilot-cron, pilot-task-chain, pilot-audit-log, pilot-slack-bridgeOrchestrates backup lifecycle
primary<prefix>-backup-primarypilot-backup, pilot-archive, pilot-compress, pilot-shareCreates and ships backups
secondary<prefix>-backup-secondarypilot-sync, pilot-verify, pilot-health, pilot-shareOffsite replica, verifies integrity
tester<prefix>-restore-testerpilot-backup, pilot-verify, pilot-health, pilot-alertTests 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.

Comments

Loading comments...