convex-migration-helper

Plan and execute Convex schema migrations using widen-migrate-narrow patterns.

5|1|Updated May 31, 2026
One-click install
npx skills add https://github.com/waynesutton/teleprompter --skill convex-migration-helper-waynesutton
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: convex-migration-helper
Source: https://github.com/waynesutton/teleprompter/tree/main/.cursor/skills/convex-migration-helper
Command: npx skills add https://github.com/waynesutton/teleprompter --skill convex-migration-helper-waynesutton

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Plans Convex schema and data migrations with widen-migrate-narrow and @convex-dev/migrations. Use for breaking schema changes, backfills, table reshaping, or zero-downtime rollouts.

Core Features & Use Cases

  • Migration planning and guidance for safe rollout using the migrations component
  • Backfill strategies, schema widening strategies, and zero-downtime patterns
  • Real-world scenarios including adding required fields, splitting tables, and renaming fields with minimal downtime

Quick Start

Define a safe migration for your target table using migrations.define and execute it with the migrations runner.

Frequently Asked Questions about convex-migration-helper

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I perform a zero-downtime Convex schema migration without breaking production data?

Use the widen-migrate-narrow pattern to execute a zero-downtime Convex schema migration: widen the schema first, backfill existing data using the @convex-dev/migrations component, then narrow the schema after validation to ensure production data remains intact throughout the rollout.

What is the best way to backfill data in Convex after adding a required field?

The best way to backfill Convex data after adding a required field is using the migrations.define function from the @convex-dev/migrations component, which allows you to safely populate existing records with default values before enforcing the new schema constraints.

How does the widen-migrate-narrow pattern work for Convex table reshaping?

The widen-migrate-narrow pattern for Convex table reshaping works by first expanding the schema to accept both old and new shapes, running a data backfill to migrate records to the new structure, and finally tightening the schema to reject the old shape.

Can I use the @convex-dev/migrations component for renaming fields in a Convex production environment?

Yes, the @convex-dev/migrations component supports renaming fields in Convex production environments by applying zero-downtime rollout strategies that maintain backward compatibility while data is migrated to the new field names.

How do I plan a rollback strategy for a Convex data migration?

Plan a rollback strategy for a Convex data migration by defining validation steps during the widen phase, ensuring the @convex-dev/migrations runner can reverse the backfill if issues arise, and keeping the old schema shape available until the final narrowing step.

When should I use a dedicated migration component instead of direct schema changes in Convex?

Use a dedicated migration component instead of direct schema changes in Convex when handling breaking schema changes, large-scale data backfills, or table reshaping that requires zero-downtime rollouts and validation across development and production environments.