convex-backup — скилл для Claude Code: бэкапы Convex и проверка
Настраивает регулярные снапшоты базы Convex и прогоняет учебное восстановление в одноразовый preview, чтобы проверить, что данные действительно возвращаются.
npx skills add convex/agent-skills --skill convex-backup -a claude-codeЧто делает convex-backup
Скилл закрывает обе половины истории с бэкапами: снятие снапшота и доказательство, что из него можно восстановиться. Сначала он делает экспорт командой npx convex export --path backup-<date>.zip, при необходимости с флагом --include-file-storage. Затем предлагает расписание под ваш RPO — сколько потери данных вы готовы терпеть — например, ежедневный экспорт через CI или cron в хранилище, которое вы контролируете, с окном хранения.
Главная часть — restore drill. Восстановление идёт в одноразовый preview, созданный из текущего кода: npx convex deploy --preview-create restore-drill-<date>, а следом npx convex import backup-<date>.zip --deployment restore-drill-<date> --replace. После импорта скилл читает данные обратно и сверяет счётчики строк в критичных таблицах и выборку реальных записей с исходником. Восстановление, которое прошло, но принесло 0 строк, считается проваленным.
Для drill нужен Preview Deploy Key в переменной CONVEX_DEPLOY_KEY — это платная функция. Без ключа скилл предлагает прогнать проверку на свежем личном dev-развёртывании. Снапшоты — это реальные данные, поэтому локальные копии удаляются после работы, а файл бэкапа нельзя коммитить. Ранбук восстановления в прод (npx convex import backup.zip --replace --prod) проходит через deploy-guard и содержит оговорку о потерях записей, сделанных после снапшота.
Какие задачи решает
- снять снапшот базы Convex в zip-файл
- настроить расписание экспортов под допустимую потерю данных
- проверить восстановление в одноразовом preview, а не на проде
- сверить счётчики строк критичных таблиц после импорта
- подготовить ранбук восстановления в прод с проверкой через deploy-guard
Примеры запросов агенту
- сделай бэкап базы Convex и прогони restore drill
- настрой ежедневный экспорт Convex в моё хранилище
- восстанови снапшот в preview и проверь, что данные вернулись
Как установить convex-backup
1Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-backup -a claude-code2Вручную: положить файлы
~/.claude/skills/convex-backup/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/convex-backup/
1Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-backup -a codex2Вручную: положить файлы
.agents/skills/convex-backup/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-backup -a cursor2Вручную: положить файлы
.cursor/skills/convex-backup/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install convex/agent-skills convex-backup2Вручную: положить файлы
.github/skills/convex-backup/SKILL.md1Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-backup -a gemini-cli2Командой платформы
gemini skills install https://github.com/convex/agent-skills --path skills/convex-backupВручную: положить файлы
.devin/skills/convex-backup/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-backup -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора32
Похожие
Рядом в теме «DevOps и инфраструктура»
Всё по теме «DevOps и инфраструктура» →Вопросы о convex-backup
Как установить convex-backup в Claude?
Выполните npx skills add convex/agent-skills --skill convex-backup -a claude-code. Скилл окажется в ~/.claude/skills/convex-backup/SKILL.md.
Что делает convex-backup?
Настраивает регулярные снапшоты базы Convex и прогоняет учебное восстановление в одноразовый preview. После импорта сверяет счётчики строк и выборку записей с исходными данными.
Что нужно для restore drill?
Preview Deploy Key в переменной CONVEX_DEPLOY_KEY — это платная функция. Если ключа нет, скилл предлагает прогнать проверку на свежем личном dev-развёртывании.
Исходный текст
SKILL.md · Apache-2.0
--- name: convex-backup description: "Set up Convex backups and run a restore DRILL that proves recovery — snapshot, restore into a throwaway preview, assert the data came back — plus a schedule matched to your RPO and a gated recovery runbook." --- <!-- GENERATED from convex-agents content/capabilities/convex-backup.json — do not edit by hand. --> # Back up — and prove the restore works Every backup story has two halves and most people only do the first: taking the backup, and proving you can get it back. This capability does both — it sets up regular snapshot exports and then runs a RESTORE DRILL that actually recovers the data into a disposable preview and asserts it's intact. The drill reuses migrate-rehearse's exact primitives (snapshot export → preview deploy → snapshot import) pointed at recovery instead of a forward change, so the safety net is tested, not assumed. ## Workflow 1. GUARD: deploy-guard — classify + announce the deployment being backed up (reading/exporting is safe; the drill's restore target is a throwaway preview, never prod). 2. TAKE the snapshot: `npx convex export --path backup-<date>.zip` (add `--include-file-storage` if the app stores files). This is the backup artifact; treat it as sensitive real data. 3. SCHEDULE it (the ongoing half): recommend a cadence matched to how fast the data changes and how much loss is tolerable (RPO) — e.g. a daily `npx convex export` via CI/cron to durable storage the user controls, with a retention window. Convex's own platform backups exist; this adds a user-owned, portable copy. 4. RESTORE DRILL (the half almost nobody does — this is the point): (a) PRECONDITION: a Preview Deploy Key as `CONVEX_DEPLOY_KEY` (same requirement as migrate-rehearse; a paid-tier feature). If unavailable, drill against a fresh personal dev deployment instead and say so. (b) create a throwaway preview from the CURRENT code: `npx convex deploy --preview-create restore-drill-<date>`. (c) restore the snapshot into it: `npx convex import backup-<date>.zip --deployment restore-drill-<date> --replace` (import targets a deployment by NAME with `--deployment`; there is no `--preview-name` on import). (d) ASSERT recovery: read the restored data back (MCP `tables` for row counts, `data`/`runOneoffQuery` for spot-checks) and confirm the critical tables came back with the expected row counts and a sample of real records — a restore that 'succeeds' but lands 0 rows is a FAILED drill. Compare against the source's counts where available. 5. REPORT the drill result plainly: what was backed up, that the restore was ACTUALLY performed and verified (or that it FAILED and why — a failed drill is the most valuable output, found before a real disaster), the recommended schedule + retention, and the recovery runbook (the exact commands to restore to prod: `npx convex import backup.zip --replace --prod`, gated by deploy-guard, with the post-snapshot-write-loss caveat stated). 6. HYGIENE: delete local snapshot copies when done (real data); the drill preview auto-expires. Never commit a backup file. ## Rules - A backup you have never restored is a hope, not a backup — always run (or offer to run) the restore DRILL, don't just take the export. - The drill restores into a THROWAWAY preview (or dev), never prod; the restore target and the backup source are different deployments. - Assert recovery, don't assume it: a restore that lands 0 rows is a FAILED drill — check critical-table row counts + a real-record sample against the source. - A FAILED drill is the most valuable output — surface it loudly; that's the whole reason to drill before a real disaster. - Schedule matched to RPO (how much data loss is tolerable); keep a user-owned portable copy alongside Convex's platform backups, with a retention window. - Snapshots are sensitive real data: delete local copies when done, never commit them; the restore-to-prod runbook is deploy-guard-gated with the post-snapshot-write-loss caveat stated. - Shares migrate-rehearse's snapshot+preview mechanics but aims them at RECOVERY, not a forward change — a forward schema change is migrate-rehearse.
© convex · Apache-2.0 · convex/agent-skills