From backup-planner
Generate the actual backup scripts and scheduling units (systemd timers, cron, GitHub Actions, Kubernetes CronJobs) that implement the documented strategy. Use after BACKUP-STRATEGY.md is approved.
How this skill is triggered — by the user, by Claude, or both
Slash command
/backup-planner:generate-backup-scriptsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Translate the strategy document into runnable code. Output lives in `backup-plan/scripts/` and, where relevant, in the project's existing `ops/`, `.github/workflows/`, or `k8s/` directories.
Translate the strategy document into runnable code. Output lives in backup-plan/scripts/ and, where relevant, in the project's existing ops/, .github/workflows/, or k8s/ directories.
backup-plan/BACKUP-STRATEGY.md — the source of truth. If it doesn't exist, stop and run document-backup-strategy first.Match the tool(s) the strategy picked. Always produce: (a) the backup script itself, (b) a matching restore script stub, (c) the scheduling unit, (d) a short README inside backup-plan/scripts/ explaining how to run and verify.
#!/usr/bin/env bash
set -euo pipefail
: "${RESTIC_REPOSITORY:?}" # e.g. s3:https://s3.us-east-005.backblazeb2.com/<bucket>/<prefix>
: "${RESTIC_PASSWORD_FILE:?}"
: "${AWS_ACCESS_KEY_ID:?}"
: "${AWS_SECRET_ACCESS_KEY:?}"
TAG="${BACKUP_TAG:-$(hostname -s)}"
SOURCES=( /path/to/data /etc/<app> )
EXCLUDES=( --exclude-caches --exclude '*.tmp' --exclude 'node_modules' )
restic backup "${SOURCES[@]}" "${EXCLUDES[@]}" --tag "$TAG" --one-file-system
restic forget --tag "$TAG" --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --keep-yearly 3 --prune
restic check --read-data-subset=5%
Dump to a FIFO and pipe into restic to avoid landing plaintext on disk:
restic backup --stdin --stdin-filename "${DB}-$(date +%F).sql" \
--tag pg-${DB} \
<(pg_dump --format=custom --no-owner --dbname "$DATABASE_URL")
rclone sync --fast-list --checksum --transfers 16 \
primary:bucket/prefix secondary:bucket/prefix \
--backup-dir secondary:bucket/_versions/$(date +%F)
Produce paired <name>.service (Type=oneshot) and <name>.timer (OnCalendar=...). Always include Persistent=true so missed runs fire on boot.
Generate idiomatic manifests. Inject secrets via repository secrets or secretRef — never bake credentials into the script.
set -euo pipefail (bash) or equivalent strict mode./tmp.--dry-run flag or DRY_RUN=1 env).chmod +x.backup-plan/scripts/README.md listing each script, what it does, how to dry-run, and where logs land.BACKUP-STRATEGY.md → the scripts.--dry-run, then do a real run, then verify by listing snapshots / dumped objects.Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin backup-planner