skills/backup-ops/SKILL.md
Secondary backup operations against the Kopia repo — verify integrity, run maintenance/prune, mirror to a second destination, restore files/folders, or run a quick top-up snapshot of hot directories. Use when the user says "verify backups", "check backup integrity", "prune old snapshots", "restore from backup", "mirror backups to cloud", "quick backup", "top up the backup", or asks about backup health. For the primary backup run, use the `backup` skill instead.
npx skillsauth add rdfitted/claude-code-setup backup-opsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Secondary operations on the Kopia repository created by the backup skill. Reads ~/.claude/backup-config.json for all settings.
Match the user's request to one of these. If ambiguous, ask which one.
| User says... | Mode | |---|---| | "verify backups", "check integrity", "are my backups good" | verify | | "prune snapshots", "clean up old backups", "run maintenance" | maintain | | "mirror to cloud", "copy to second drive", "set up offsite" | mirror | | "restore X", "I lost a file", "browse snapshots", "get back the version from yesterday" | restore | | "quick backup", "top up", "snapshot just .claude", "incremental" | top-up |
~/.claude/backup-config.json must exist. If not, route to the backup skill's setup mode.kopia repository status returns successfully). If not, run kopia repository connect filesystem --path ... first using the config's drive label resolution.Goal: confirm the repo's content is intact and readable. Catches bit rot, partial writes, drive corruption.
# Full verify of recent snapshots (slow but thorough)
kopia snapshot verify --verify-files-percent=10
# Or for a complete check (long-running, use sparingly):
kopia snapshot verify --verify-files-percent=100
Defaults:
--verify-files-percent=10 by default — samples 10% of file content per run--verify-files-percent=100 run quarterlyIf the user asks for a quick check, use kopia repository status instead — that's metadata-only and fast.
Goal: apply retention policy, compact the repo, garbage-collect orphaned blobs.
# Full maintenance (compacts indexes, drops expired snapshots, GCs unreferenced content)
kopia maintenance run --full
Notes:
kopia policy show --global
Confirm with the user before running if any snapshot is about to be dropped — this is destructive in the sense that those versions are gone.
Goal: replicate the primary repo to a second destination for 3-2-1 backup.
Kopia supports several remote types. Ask user which they want:
filesystem type, different labels3 typekopia repository sync-to# Example: mirror to S3
kopia repository sync-to s3 \
--bucket "my-backup-mirror" \
--endpoint "s3.amazonaws.com" \
--access-key "..." --secret-access-key "..."
For a second filesystem destination:
kopia repository sync-to filesystem --path "<second-drive>:\KopiaMirror"
Update secondary section of backup-config.json with the chosen destination so future mirror runs are non-interactive.
Credentials: write to Windows Credential Manager via Kopia's persist flag — do NOT put cloud keys in the config file. If the user pastes a key into chat, warn them and recommend rotating it after setup since it's now in conversation history.
Goal: get specific files or folders back.
kopia snapshot list <source-path> --max-results 20
kopia mount <snapshot-id> Z:
Then user can drag files in Explorer. Unmount with kopia mount unmount Z:.kopia snapshot restore <snapshot-id> "C:\restore-target"
<original>-restored-<date>) and let the user move files manually. Never silently overwrite live files.# Find a file across snapshots
kopia snapshot list <source-path>
kopia content show <object-id-from-listing>
Goal: fast incremental snapshot of high-churn directories only. Use between full backup runs.
hot_sources_for_top_up from config.kopia snapshot create "<hot-path>" --description "top-up <ISO timestamp>"
~/.claude/backup-logs/topup-<date>.log.Suggested hot sources (set during backup setup):
~/.claude (config changes constantly)~/.ai-docs (wiki updates)~/plansIf the user says "top-up the X project", scope to just that path even if it's not in hot_sources_for_top_up.
backup workflow from this skill. If config needs changing, surface that to the user.maintain without explicit user confirmation when snapshots will be dropped.kopia repository status exits non-zero if not.~/.claude/backup-logs/.backup skillbackup/SKILL.md/curate-learnings → ~/.ai-docs/wiki/practices/development
Restore from the Kopia backup repo in one of two opinionated modes. **wikis** (frequent, default) syncs per-project `.ai-docs/` directories from backup to local project trees — used to move compound-knowledge wikis between machines via the backup drive as sneakernet. **full** (rare) restores all sources to original paths for greenfield machine rebuild. Use when the user says "restore wikis", "sync wikis from backup", "pull the wikis", "I plugged in the backup drive on this machine", "rebuild this machine", "greenfield restore", or "restore everything". For ad-hoc single-file restores, use `backup-ops restore` instead.
documentation
# /bp-iterate Iterate the Fitted Business Plan(s). Manages the **internal canonical** and the **external partner/investor variant**, snapshot-on-version-bump lineage, redaction enforcement between variants, and cross-document coupling. ## When this runs - User says `/bp-iterate`, "iterate the BP," "bump the BP," "update the business plan," "version up the BP," "create / update / refresh the external variant" - A material trigger fires per the BP's own Iteration Log (first 2 new closes / fundi
tools
Run Kopia-based backups of key Windows files and config to an external drive. Use when the user says "back up", "run a backup", "snapshot", "the backup drive is plugged in", or wants to set up / configure backups for the first time. Handles initial repo setup, drive detection by volume label, source enumeration, and snapshot creation with structured exclusions.
development
Session-start ritual that establishes a learning heartbeat. Detects Tier 1 (code project with .ai-docs/) vs Tier 2 (home directory / institutional mode), loads minimal context, then schedules a recurring CronCreate heartbeat that periodically captures learnings to the appropriate target — project-level learnings.jsonl OR the global wiki at ~/.ai-docs/wiki/. Invoked automatically at session start (after the wiki/project-dna read in ~/CLAUDE.md) or manually via /start.