backuplisted
Install: claude install-skill hazarsozer/ren-os
# backup
Wiki-only backup: git push to a configured `backup` remote is primary; a local tarball is the fallback (no remote configured, push fails, or `--tarball` forced).
## Delta from donor: the remote is named `"backup"`, not `"origin"`
`skills.metric-watch.lib`'s `_check_backup` (Task 6.3, shipped first) already checks for a git remote literally named `"backup"` and reads tarballs from `plugin_data_dir()/"backups"`. This skill's default remote name and backup directory match that contract exactly — `backup_configured()` (this skill) and `_check_backup()` (metric-watch) read the exact same state, so they can never silently disagree.
## When to use this skill
- Friend invokes `/ren:backup` (commits + pushes if the `backup` remote is configured; else tarball)
- Friend invokes `/ren:backup --setup <remote-url>` to configure the `backup` git remote (typically a private GitHub repo)
- Friend invokes `/ren:backup --tarball` to force a tarball even if a remote is configured
- Friend invokes `/ren:backup --status` for a status report
## Behavior
### `/ren:backup`
1. Refuse if the wiki isn't a git repo (point at `/ren:install`).
2. Commit any pending changes (idempotent if the tree is clean).
3. If a `backup` remote is configured: push. Success → done, no tarball. Non-fast-forward → refuse (never force-push automatically; point at the recovery doc). Transport failure → tarball fallback + warning.
4. If no remote configured: tarball, with a nag to run `--setup`.
5. After any