Plan Convex schema and data migrations for safe, zero-downtime rollouts.
The material indicates this is a prompt-style open-source skill for guiding Convex migrations, with no required secrets, no declared remote endpoints, and no stated local execution or data access capability. Overall risk is low, with the main caveat being supply-chain uncertainty due to low community adoption and unclear license/maintenance status.
The material explicitly states that no keys or environment variables are required. No API keys, tokens, or other sensitive credentials are requested, so credential exposure and misuse risk appears low.
The material states there are no remote endpoint hosts, and the system flags it as prompt-only. There is no factual indication that it sends user data to external services or connects to third-party network endpoints.
As a prompt-only skill, the material does not show any local process spawning, script execution, shell access, or requests for elevated system permissions. The description is primarily workflow and pattern guidance for migrations.
There is no declared ability to read, write, or enumerate local files, databases, the clipboard, or other resources. Based on the material, it appears to provide migration guidance/planning rather than directly operate on user data.
The source is an open-source GitHub repository, which is a positive sign because the code is auditable. However, it has 0 stars, no declared license, and unknown maintenance status, so community validation and ongoing maintenance evidence are weak and warrant caution.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "convex-migration-helper" skill from askskill: 1. Download https://raw.githubusercontent.com/openclaw/clawhub/main/.agents/skills/convex-migration-helper/SKILL.md 2. Save it as ~/.claude/skills/convex-migration-helper/SKILL.md 3. Reload skills and tell me it's ready
I need to split the fullName field in my Convex users table into firstName and lastName. Plan the migration using widen-migrate-narrow and explain how to execute it with @convex-dev/migrations.
A phased migration plan covering schema widening, backfill, app compatibility, old field removal, and key precautions.
Design a historical backfill for Convex: add a status field to the orders table and derive it from legacy paidAt and cancelledAt values. Provide migration script ideas, batching strategy, and rollback guidance.
An actionable backfill plan with status mapping rules, batch migration flow, monitoring metrics, and rollback options.
I want to reshape a Convex events table into eventLogs and eventSummaries while keeping production online. Plan the full migration path, including dual writes, traffic cutover, and cleanup.
A zero-downtime rollout plan describing each phase, data consistency strategy, validation approach, and final cleanup steps.
Safely migrate Convex schemas and data when making breaking changes.
Convex will not let you deploy a schema that does not match the data at rest. This is the fundamental constraint that shapes every migration:
This means migrations follow a predictable pattern: widen the schema, migrate the data, narrow the schema.
Convex migrations run online, meaning the app continues serving requests while data is updated asynchronously in batches. During the migration window, your code must handle both old and new data formats.
When changing the shape of data, create a new field rather than modifying an existing one. This makes the transition safer and easier to roll back.
Unless you are certain, prefer deprecating fields over deleting them. Mark the
field as v.optional and add a code comment explaining it is deprecated and why
it existed.
// Before
users: defineTable({
name: v.string(),
});
// After - safe, new field is optional
users: defineTable({
name: v.string(),
bio: v.optional(v.string()),
});
posts: defineTable({
userId: v.id("users"),
title: v.string(),
}).index("by_user", ["userId"]);
users: defineTable({
name: v.string(),
email: v.string(),
}).index("by_email", ["email"]);
Every breaking migration follows the same multi-deploy pattern:
Deploy 1 - Widen the schema:
Between deploys - Migrate data:
Deploy 2 - Narrow the schema:
For any non-trivial migration, use the
@convex-dev/migrations
component. It handles batching, cursor-based pagination, state tracking, resume
from failure, dry runs, and progress monitoring.
See references/migrations-component.md for installation, setup, defining and
running migrations, dry runs, status monitoring, and configuration options.
See references/migration-patterns.md for complete patterns with code examples
covering:
…
Helps users choose the right Convex skill for vague app tasks.
Audit Convex performance issues across reads, subscriptions, writes, and function limits.
Perform ClawHub moderation actions like bans, role changes, and status checks.
Build reusable Convex components with isolated tables and app-facing backend APIs.
Set up authentication, identity mapping, and access control in Convex apps.
Set up Convex in a new or existing app quickly.
Build production-ready Convex apps with reusable agent skills and templates.
Get database migration best practices for safe schema changes and zero-downtime releases.
Convert GraphQL schemas and endpoints into usable MCP servers quickly.
Convert any OpenAPI spec into an MCP server with endpoint tools.
Migrate instruction files, skills, agents, and MCP configs into Codex files.
Detect dangerous PostgreSQL migration locks and suggest safer rewrite strategies.