- name
- restic-home-backup
- description
- Design, implement, and operate encrypted restic backups for Linux home directories with systemd automation, retention policies, and restore validation. Use when a user asks to back up ~/, set up daily/weekly/monthly backup jobs, harden backup security, or troubleshoot restore/integrity issues.
Restic Home Backup
Define and deliver a production-ready restic backup setup for ~/ with encryption, deduplication, automated scheduling, and restore testing.
Skill contract
- Name:
restic-home-backup - Problem solved: Provide reliable, encrypted, versioned backups of a Linux home directory with operational safety and repeatable recovery.
- Inputs:
- Backup target type (local disk, sftp, s3, b2, etc.) - Repository endpoint/path - Secret handling method (env file or password file) - Schedule preferences (daily backup, weekly prune, monthly check) - Exclude patterns
- Outputs:
- Installed and initialized restic repository - Backup/prune/check scripts - systemd service/timer units - Validation evidence (snapshots + test restore) - Short operator runbook
- Safety boundaries (must never violate):
- Never print secrets or tokens in chat/log output. - Never delete snapshots/repositories without explicit user confirmation. - Never weaken permissions on credential files (chmod 600 minimum). - Never claim backup success without checking command exit status and snapshot listing. - Never apply system changes implicitly: require explicit --apply (or explicit user confirmation) before writing to /etc, /usr/local/bin, or /etc/systemd/system.
Workflow
1) Assess and confirm backup contract
Collect the minimum required values before changes:
- Source path (default
/home/<user>) - Destination repo and transport
- Retention policy (for example:
7d/4w/12m) - Preferred schedule in local timezone
If any critical value is missing, ask targeted questions.
2) Scaffold backup implementation
Use these resources:
scripts/bootstrap_restic_home.shto generate deterministic setup artifacts. It is PLAN-ONLY by default and requires explicit--applyfor system changes. Optional flags control timer enablement, repository initialization, and initial backup run.references/ops-checklist.mdfor day-2 operations and troubleshooting.
Create:
/etc/restic-home.env(root-readable only)/usr/local/bin/restic-home-backup.sh/usr/local/bin/restic-home-prune.sh/usr/local/bin/restic-home-check.shrestic-home-backup.service/.timerrestic-home-prune.service/.timerrestic-home-check.service/.timer
3) Harden and validate
Run and verify:
restic snapshots- One immediate backup run
- One restore smoke test to temporary directory
restic check(or scheduled monthly deep check)
Validate failure behavior:
- Wrong password
- Unreachable repository
- Permission denied on env file
Report exact failing command + short corrective action.
4) Package and publish via ClawHub CLI (when requested)
When user requests publication:
- Validate skill quality and structure.
- Package skill.
- Publish with
clawhubCLI. - Verify install from registry in a clean environment.
Keep publish actions explicit and auditable.
Response style requirements
Use descriptive language with concrete operational detail:
- Name the exact file path, service name, and command.
- State what changed and how to verify it.
- End multi-step tasks with explicit completion status.