setup-backup

setup-backup is a skill for Claude Code from jerpint/woltspace. It costs 81 tokens per session (1,804 once invoked), scanned B, original, MIT.

A guided procedure for storing encrypted nightly backups off the machine in Cloudflare R2, an object-storage service. It covers setup, restricted access tokens, encryption keys, uploads, and restore checks without handling the owner's secrets.

In plain words
What is it for?
Use it to configure an R2 backup bucket, access controls, encrypted uploads, scheduled backups, and restore verification.
Why use it?
It provides a safer, repeatable backup setup and checks that backups can be restored if the original machine fails.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter.

Part of the woltspace plugin — 23 skills shipped together

Good fit Use it to configure an R2 backup bucket, access controls, encrypted uploads, scheduled backups, and restore verification.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jerpint/woltspace/setup-backup
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add jerpint/woltspace --skill setup-backup
Clone the repo
git clone --depth 1 https://github.com/jerpint/woltspace

Made for: Claude Code.

Or install woltspace, the plugin that ships this one along with the rest of its 23 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for setup-backup

README.md
[![agentmods](https://agentmods.dev/badge/skills/jerpint/woltspace/setup-backup/github.svg)](https://agentmods.dev/skills/jerpint/woltspace/setup-backup)
Your own site
<a href="https://agentmods.dev/skills/jerpint/woltspace/setup-backup"><img src="https://agentmods.dev/badge/skills/jerpint/woltspace/setup-backup/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for setup-backup

Your own site · 80×15
<a href="https://agentmods.dev/skills/jerpint/woltspace/setup-backup"><img src="https://agentmods.dev/badge/skills/jerpint/woltspace/setup-backup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 81 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,804 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00081 $0.01804
Opus 5.5 $0.00032 $0.00722
Sonnet 5.5 $0.00016 $0.00361
Haiku 4.5 $0.00008 $0.00180

Measured 15d ago against content hash 9b4158dee3da, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade B, and why

setup-backup scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 15d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

and `chmod 600 ~/.config/rclone/rclone.conf`.
container/skills/setup-backup/SKILL.md · 120 lines

How it starts

The opening of the file, as written. The whole thing — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Backups to Cloudflare R2

Goal: one private bucket that holds the lodge's nightly backups, each one a single woltspace-backup-<tag>.tar.gz.age encrypted to the owner's age key, and a read-only token that can bring the lodge back on another machine. The full reference is docs/backup.md in the woltspace repo; this skill is the guided path through it.

Rules

  • The owner types every secret, never you. Tokens and the age private key are entered by the owner in a normal terminal on their own computer, never in a wolt session (not even with !): anything typed or printed in a session lands in its transcript. Never ask for a key in chat, Telegram or Slack, and never cat, echo or log a secret file. When you check one, mask the values.
  • No personal data in the bucket's paths or anything public. Use placeholders: <bucket>, <lodge-id>, <account-id>.
  • Every step that costs money, creates a token or changes the owner's Cloudflare account is done by the owner. You guide and verify.
  • The age private key never lives on the lodge. The lodge only needs the public age1... key. Whoever has the private key can read every backup; whoever loses it can read none.

The steps (give the owner one at a time)

If the lodge has a site, a one-step-at-a-time page with copy buttons works better than a long chat message.

  1. Bucket. Cloudflare dashboard → Storage & databases → R2 → Create bucket. Pick a name (e.g. lodge-backups); default options.
  2. Lock rule (snapshots can't be deleted or overwritten, even by a compromised lodge). Bucket → Settings → Bucket lock rules → Add rule: name keep-30d, prefix lodges/<lodge-id>/snapshots/ — exactly this, with the trailing slash. Nothing broader, or the daily latest.json rewrite is blocked. Retention 30 days or more.
  3. Lifecycle rule (the bucket doesn't grow forever). Same Settings tab → Object lifecycle rules: prefix lodges/<lodge-id>/snapshots/, delete some time after the lock ends (e.g. 60 days after upload).
  4. Two API tokens. R2 Overview → Manage API tokens → Create Account API token:
    • lodge-backup: Object Read & Write, Apply to specific buckets only → this bucket. Goes on the lodge (step 5). R2 has no write-only scope; the lock rule is what makes it effectively append-only.
    • restore: Object Read only, same bucket. Only in the owner's password manager, never on the lodge. The secret is shown once. The S3 endpoint is https://<account-id>.r2.cloudflarestorage.com.
  5. rclone config, typed by the owner in their own terminal: nano ~/.config/rclone/rclone.conf, then
    [r2]
    type = s3
    provider = Cloudflare
    access_key_id = <from lodge-backup>
    secret_access_key = <from lodge-backup>
    endpoint = https://<account-id>.r2.cloudflarestorage.com
    acl = private
    no_check_bucket = true
    
    and chmod 600 ~/.config/rclone/rclone.conf.
  6. The age key, in the owner's own terminal, on a machine of theirs: age-keygen -o /tmp/lodge-age.txt. The file has 3 lines; the private key is the line starting AGE-SECRET-KEY-1. The owner saves the whole file in their password manager, then rm /tmp/lodge-age.txt, and sends you only the age1... public key (safe to share). That public key is WOLTSPACE_BACKUP_AGE_RECIPIENT, and age must be on the lodge's PATH. With it set, woltspace backup streams the whole archive through age, .env files and bot tokens included (OAuth files never), and nothing unencrypted is written. A recipient set without age fails the backup.
  7. The nightly upload. The upload script and the crontab line (or systemd timer) are in docs/backup.md, "The daily upload". The script refuses to run without WOLTSPACE_BACKUP_AGE_RECIPIENT and refuses to upload anything that is not a .tar.gz.age. latest.json carries only the tag, the sha256 of the .age file, the version and the time. Turning it on for the live lodge needs the owner's go.

Read the full file on GitHub · 120 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 15d ago First seen · 120 lines · 81 tokens per session scan B 9b4158dee3da

Subscribe to this mod's changes

setup-backup is a skill published in the GitHub repository jerpint/woltspace (22 stars, last pushed today), licensed MIT. It adds 81 tokens to every session and 1,804 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it B with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-26.

Related

setup-backup compared with skills from other repositories

setup-backup next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
setup-backupjerpint/woltspaceSkill22todayMITB81Claude Code
gke-compute-classesgoogle/skillsSkill24ktodayApache-2.0A83Claude Code, Codex
gke-workload-securitygoogle/skillsSkill24ktodayApache-2.0A171Claude Code, Codex
gke-reliabilitygoogle/skillsSkill24ktodayApache-2.0A85Claude Code, Codex
cloud-architectJeffallan/claude-skillsSkill12k10d agoMITA71Claude Code
nemo-automodel-launcher-configNVIDIA/skillsSkill3.9ktodayApache-2.0A30Claude Code
azure-mgmt-botservice-dotnetmicrosoft/skillsSkill3.2ktodayMITA78Claude Code