Skills Agentes

Convex Migrate Rehearse

Ensaya un cambio de schema y backfill de una app real en un deployment de preview poblado con un snapshot, verifica, y luego promueve el cambio probado a prod usando el snapshot como rollback.

Oficial

Reemplaza a: Mutaciones ad-hoc de una sola vez sobre toda una tabla para backfills, Aplicar cambios de schema directamente en prod sin ensayo previo

Estrellas
59

en todo el repo

Actividad
55

0–100, la ruta de este skill

Actualizado
el mes pasado

último commit aquí

Commits
1

últimos 90 días

Contexto
1.2k tok

41 tok en reposo

Paquete
1 archivo

5 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add get-convex/agent-skills --skill convex-migrate-rehearse --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Puebla un deployment de preview de Convex con un snapshot de datos de prod para ensayar un cambio de schema y backfill antes de tocar prod
  • Ejecuta la secuencia campo-opcional → push → backfill → ajuste en la copia de preview, para que el gate de conformidad falle de forma segura ahí y no en prod
  • Verifica los datos migrados y el comportamiento en el preview, y luego repite la secuencia probada contra prod tras confirmación explícita
  • Conserva el snapshot de prod como artefacto de rollback y obliga a limpiar el archivo local sensible del snapshot

Úsalo cuando

  • Cambiando el schema de una app en producción y ejecutando un backfill, cuando se quiere ensayar el cambio de forma segura primero
  • Se tiene una Preview Deploy Key (o se acepta usar el deployment de dev personal como respaldo) y hace falta validar una migración contra la forma real de los datos

No lo uses cuando

  • Solo se quiere una explicación del patrón opcional-y-luego-ajuste sin datos reales de por medio — eso es migrate

Qué lo activa

Di cualquiera de estas frases y el agente debería cargar este skill.

  • “Quiero probar este cambio de schema en un preview antes de aplicarlo en prod”
  • “Necesito ensayar esta migración con backfill usando una copia de los datos reales”
  • “Ayúdame a validar este cambio de esquema contra los datos de producción sin arriesgar prod”

SKILL.md

En inglés

Rehearse a schema change on a preview before prod

A schema push on Convex validates every existing document against the new schema and FAILS the push if any row doesn't conform — a real data-conformance gate. The safe way to use that gate is to let it fail on a rehearsal copy, not on prod. This capability turns a preview deployment into that copy: seed it with a prod snapshot, push the new schema + run the backfill there, watch the gate, and only promote once it's green. It composes deploy-guard (target classification), migrate (the optional-then-tighten pattern), and @convex-dev/migrations (the batched, resumable backfill).

Workflow

  1. PRECONDITION: preview deployments need a Preview Deploy Key (dashboard → Project Settings → Deploy Keys → Preview) exported as CONVEX_DEPLOY_KEY before any --preview-create/--preview-name deploy — a plain npx convex login session cannot create previews, and this is a paid-tier feature. If no preview key is available, fall back to rehearsing on the personal dev deployment seeded with the snapshot, and say so.
  2. GUARD: deploy-guard — classify + announce the SOURCE (prod, being read) and the eventual TARGET (prod, being changed); get the fresh explicit yes for the prod promote up front and confirm the plan.
  3. SNAPSHOT the source data read-only: npx convex export --path snapshot.zip (from the deployment holding the real data; add --include-file-storage only if the migration touches files). This is a read; it changes nothing.
  4. CREATE the preview FROM THE PRE-CHANGE CODE — do this BEFORE editing schema.ts, so the preview starts on the schema the snapshot data already conforms to: npx convex deploy --preview-create migrate-<slug> (needs the preview key; auto-expires ~5 days). Seed it: npx convex import snapshot.zip --deployment migrate-<slug> (import targets a deployment by NAME with --deployment; there is no --preview-name flag on import). The import succeeds because the data still matches the old schema.
  5. REHEARSE on the preview, in the migrate order — each push is npx convex deploy --preview-name migrate-<slug> (re-deploys to the SAME preview, keeping its data; NOT convex dev, which targets personal dev): (a) make the new/changed field OPTIONAL and deploy — if existing rows violate it the push FAILS HERE on the copy with the offending shape; fix and re-push until green. (b) write a @convex-dev/migrations backfill and run it against the preview; verify every row is now valid. (c) tighten the validator (required / narrowed union) and deploy again — the gate now passes because the backfill ran.
  6. VERIFY on the preview: run the app's functions against the migrated data (MCP run/runOneoffQuery pointed at the preview, or a smoke query) to confirm behavior and shape.
  7. PROMOTE only on the fresh explicit yes from step 1: apply the SAME sequence to prod (optional schema → backfill → tighten). Because it already succeeded on prod-shaped data, the prod push repeats a proven run. Keep the snapshot as the rollback artifact (npx convex import snapshot.zip --replace --prod); state plainly that data written after the snapshot is lost, so keep the promote window short.
  8. CLEAN UP: the preview auto-expires; delete the local snapshot when done (it holds real data — treat it as sensitive, never commit it).

Rules

  • Create the preview from the PRE-CHANGE code and seed the snapshot BEFORE editing schema.ts — so the import conforms and the conformance gate then fails on the copy (not prod) when you push the change; each preview push is deploy --preview-name, import targets it with --deployment.
  • Follow the migrate order every time: optional field → push → backfill → verify → tighten → push; skipping 'optional first' makes the very first push reject existing rows.
  • The prod promote needs a fresh explicit yes (deploy-guard) and is a REPEAT of the proven preview run, not a new attempt.
  • Keep the prod snapshot as the rollback artifact; state plainly that a snapshot-restore loses data written after the snapshot, so keep the promote window short.
  • Treat the exported snapshot as sensitive real data: delete it locally when finished; never commit it.
  • Backfills go through @convex-dev/migrations (batched, resumable, dry-runnable), not ad-hoc one-shot mutations over a whole table.
  • This is the rehearsal-and-promote flow; for the plain 'explain optional-then-tighten' guidance with no live data, that's migrate.

Reproducido de get-convex/agent-skills bajo licencia Apache-2.0. Leer esta página en markdown.

Archivos

1 archivo en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

Antes de instalar

Requiere una Preview Deploy Key exportada como CONVEX_DEPLOY_KEY para deployments de preview (función de nivel pago); si no, recurre a ensayar en el deployment de dev personal.

Detalles

Creador
get-convex
Categoría
Bases de datos
Licencia
Apache-2.0
Recursos incluidos
Solo SKILL.md
Código fuente
Ver SKILL.md

Más de get-convex/agent-skills

Este repo incluye 33 skills. Si instalas uno, normalmente ya tienes los demás. Ver el pack agent-skills entero y su comando de instalación

Audita y refuerza la autorización de una app Convex: impersonación por identity-from-arg, checks de ownership por documento faltantes, queries públicas que filtran datos por un id del cliente y escrituras en un contenedor ajeno.

Costo de contexto al activarse
2.3k tok
Tamaño del paquete
1 archivo
Última actualización
hace 22 días
Oficialseguridad

Diseña y construye backends reactivos y type-safe de nivel producción en Convex: schema, queries/mutations/actions, índices, auth, storage, scheduling, multiplayer en tiempo real y workflows LLM/agentes.

Costo de contexto al activarse
972 tok
Tamaño del paquete
1 archivo
Última actualización
hace 22 días
Oficialdesarrollo apis

Levanta un template Next.js + Convex barebones a partir de una idea en una frase.

Costo de contexto al activarse
1.1k tok
Tamaño del paquete
3 archivos
Última actualización
hace 22 días
Oficialdesarrollo apis

Especialista en el backend de Convex: código dentro de convex/ (funciones, schemas, índices, queries, mutations, actions, endpoints HTTP, cron jobs, storage, auth y componentes).

Costo de contexto al activarse
1.1k tok
Tamaño del paquete
1 archivo
Última actualización
hace 22 días
Oficialbases de datos

Añade un backend de agente de IA / RAG (@convex-dev/agent) a la app Convex.

Costo de contexto al activarse
430 tok
Tamaño del paquete
1 archivo
Última actualización
hace 29 días
Oficialdesarrollo apis

Construye componentes Convex reutilizables con tablas aisladas y APIs de cara a la app. Útil para nuevos componentes, módulos de backend reutilizables, integraciones o límites de componentes.

Costo de contexto al activarse
2.6k tok
Tamaño del paquete
7 archivos
Última actualización
el mes pasado
Oficialherramientas desarrollo

Skills relacionados

Especialista en memoria V3 que unifica más de 6 sistemas de memoria en AgentDB con indexado HNSW (ADR-006 y ADR-009), logrando mejoras de búsqueda de 150x a 12.500x.

Costo de contexto al activarse
2.5k tok
Tamaño del paquete
1 archivo
Última actualización
hace 7 meses
bases de datos

Funciones avanzadas de AgentDB: sincronización QUIC, gestión de varias bases de datos, métricas de distancia personalizadas, búsqueda híbrida e integración con sistemas distribuidos multi-agente.

Costo de contexto al activarse
3.3k tok
Tamaño del paquete
1 archivo
Última actualización
hace 5 meses
bases de datos

Implementa patrones de memoria persistente para agentes de IA con AgentDB: memoria de sesión, almacenamiento a largo plazo, aprendizaje de patrones y gestión de contexto.

Costo de contexto al activarse
2.2k tok
Tamaño del paquete
1 archivo
Última actualización
hace 7 meses
bases de datos