Agent skill

Migration Helper

by waynesutton in waynesutton/markdown-site

Plan and execute Convex schema migrations safely, including adding fields, creating tables, and data transformations.

MITAuto-check passedDatabases

Install Migration Helper

skills CLI
$ npx skills add waynesutton/markdown-site --skill migration-helper -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install waynesutton/markdown-site migration-helper --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/waynesutton/markdown-site.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/migration-helper .claude/skills/migration-helper && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
migration-helper
GitHub stars
628
Used in
1 other repo
Token cost
~958 tokens
SKILL.md length
260 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
MIT

At a glance

Plan and execute Convex schema migrations safely, including adding fields, creating tables, and data transformations.

  • Works in 4 steps: No Automatic Migrations: Convex doesn't… → Additive Changes are Safe: Adding… → Breaking Changes Need Code: Required… → …
  • Schema changes affect existing data
  • SKILL.md covers When to Use, Migration Principles, Safe Changes (No Migration… and Breaking Changes (Migration…, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Migration Helper is an agent skill from waynesutton/markdown-site. Plan and execute Convex schema migrations safely, including adding fields, creating tables, and data transformations. Use when schema changes affect existing data.

Its SKILL.md is about 960 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Databases, covering Database migrations and Data cleaning. The repository describes itself as: An open-source publishing framework built for AI agents and developers to ship websites, docs, or blogs. Write markdown, sync from the terminal. Your content is instantly… The licence is MIT.

When your agent uses it

  • Schema changes affect existing data
  • Tasks that involve Database migrations
  • Tasks that involve Data cleaning

Example prompts

  • “/migration-helper”

Requirements

  • Node.js

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. No Automatic Migrations: Convex doesn't automatically migrate data
  2. Additive Changes are Safe: Adding optional fields or new tables is safe
  3. Breaking Changes Need Code: Required fields, type changes need migration code
  4. Zero-Downtime: Write migrations to keep app running during migration

What it can do on your machine

Read from SKILL.md and the folder at commit 3872c59. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Migration Helper loads about 958 tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 260 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~958

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from waynesutton/markdown-site at commit 3872c59, republished under its MIT licence (© waynesutton). 260 words, ~958 tokens.

Download SKILL.mdSave it as .claude/skills/migration-helper/SKILL.md (or your agent's skills folder).
name
migration-helper
description
Plan and execute Convex schema migrations safely, including adding fields, creating tables, and data transformations. Use when schema changes affect existing data.

Convex Migration Helper

Safely migrate Convex schemas and data when making breaking changes.

When to Use

  • Adding new required fields to existing tables
  • Changing field types or structure
  • Splitting or merging tables
  • Renaming fields
  • Migrating from nested to relational data

Migration Principles

  1. No Automatic Migrations: Convex doesn't automatically migrate data
  2. Additive Changes are Safe: Adding optional fields or new tables is safe
  3. Breaking Changes Need Code: Required fields, type changes need migration code
  4. Zero-Downtime: Write migrations to keep app running during migration

Safe Changes (No Migration Needed)

  • Adding optional fields
  • Adding new tables
  • Adding indexes

Breaking Changes (Migration Required)

Adding Required Field

Solution: Add as optional first, backfill data, then make required.

typescript
// Step 1: Add as optional
users: defineTable({
  name: v.string(),
  email: v.optional(v.string()),
})

// Step 2: Create migration
export const backfillEmails = internalMutation({
  args: {},
  handler: async (ctx) => {
    const users = await ctx.db.query("users").collect();
    for (const user of users) {
      if (!user.email) {
        await ctx.db.patch(user._id, {
          email: `user-${user._id}@example.com`,
        });
      }
    }
  },
});

// Step 3: Run migration via dashboard or CLI
// npx convex run migrations:backfillEmails

// Step 4: Make field required (after all data migrated)
users: defineTable({
  name: v.string(),
  email: v.string(),
})
Renaming Field
typescript
// Step 1: Add new field (optional)
// Step 2: Copy data with internalMutation
// Step 3: Update schema (remove old field)
// Step 4: Update all code to use new field name

Migration Patterns

Batch Processing

For large tables, process in batches:

typescript
export const migrateBatch = internalMutation({
  args: {
    cursor: v.optional(v.string()),
    batchSize: v.number(),
  },
  handler: async (ctx, args) => {
    const items = await ctx.db.query("largeTable").take(args.batchSize);

    for (const item of items) {
      await ctx.db.patch(item._id, { /* migration logic */ });
    }

    return {
      processed: items.length,
      hasMore: items.length === args.batchSize,
    };
  },
});
Dual-Write Pattern

For zero-downtime migrations, write to both old and new structure during transition.

Scheduled Migration

Use cron jobs for gradual migration:

typescript
import { cronJobs } from "convex/server";
import { internal } from "./_generated/api";

const crons = cronJobs();
crons.interval(
  "migrate-batch",
  { minutes: 5 },
  internal.migrations.migrateBatch,
  { batchSize: 100 }
);
export default crons;

Migration Checklist

  • Identify breaking change
  • Add new structure as optional/additive
  • Write migration function (internal mutation)
  • Test migration on sample data
  • Run migration in batches if large dataset
  • Verify migration completed (all records updated)
  • Update application code to use new structure
  • Deploy new code
  • Remove old fields from schema
  • Clean up migration code

Common Pitfalls

  1. Don't make field required immediately: Always add as optional first
  2. Don't migrate in a single transaction: Batch large migrations
  3. Don't forget to update queries: Update all code using old field
  4. Don't delete old field too soon: Wait until all data migrated
  5. Test thoroughly: Verify migration on dev environment first

Source: https://github.com/get-convex/convex-agent-plugins

© waynesutton, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/migration-helper of waynesutton/markdown-site.

Open the folder on GitHubat commit 3872c59

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in waynesutton/markdown-site, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Migration Helper next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Migration Helper compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Migration Helper this skillwaynesutton/markdown-site6281 repos~958Automated safety check: PassMIT
Data MigrationMicrock/ordinary-claude-skills401—~437Automated safety check: PassCustom licence
dbt Snowflake to BigQuery Translatorgoogle/skills21k—~2.7kAutomated safety check: PassApache-2.0
Bio Metabolomics Normalization QcGPTomics/bioSkills1.2k1 repos~5kAutomated safety check: PassMIT
Bio Metabolomics Normalization Qcmajiayu000/claude-skill-registry6662 repos~1.6kAutomated safety check: PassMIT
V5 MigrationOpenLitterMap/openlittermap-web134—~1.7kAutomated safety check: PassGPL-3.0

Similar skills

  • Data Migration

    Microck/ordinary-claude-skills

    Plan and execute database migrations, data transformations, and system migrations safely with rollback strategies and data integrity validation.

    401 GitHub stars~437 tokensUpdated 1 mo ago
    DatabasesAuto-check passed
  • Translates Snowflake dbt SQL models into standardized BigQuery SQL, keeping Jinja constructs and tracking progress in a migration tasks file.

    21k GitHub stars~2.7k tokensUpdated yesterday
    DatabasesAuto-check passed
  • Designs QC, corrects signal drift, removes batch effects, filters features, normalizes samples, and imputes missing values for untargeted LC-MS/GC-MS metabolomics, framing each step as a measurement…

    1.2k GitHub starsUsed in 1 repo~5k tokens
    DatabasesAuto-check passed
  • Bio Metabolomics Normalization Qc

    majiayu000/claude-skill-registry

    Quality control and normalization for metabolomics data. An agent skill from majiayu000/claude-skill-registry.

    666 GitHub starsUsed in 2 repos~1.6k tokens
    DatabasesAuto-check passed
  • V5 Migration

    OpenLitterMap/openlittermap-web

    The olm:v5 migration script, UpdateTagsService, batch processing, migratedat, ClassifyTagsService deprecated mappings, and data migration from v4 category tables.

    134 GitHub stars~1.7k tokensUpdated 23 days ago
    DatabasesAuto-check passed
  • Data Migration

    revfactory/harness-100

    Full migration pipeline where an agent team collaborates to perform source analysis, schema mapping, transformation script generation, validation query design, and rollback planning.

    1.3k GitHub stars~1.8k tokensUpdated 6 mo ago
    DatabasesAuto-check passed

More from waynesutton/markdown-site

All 17 skills in this repo
  • Convex Self Hosting

    waynesutton/markdown-site

    Integrate Convex static self hosting into existing apps using the latest upstream instructions from get-convex/self-hosting every time.

    628 GitHub stars~1.4k tokensUpdated 4 mo ago
    Auto-check passed
  • Robel Auth

    waynesutton/markdown-site

    Integrate and maintain Robelest Convex Auth in apps by always checking upstream before implementation.

    628 GitHub stars~4.4k tokensUpdated 4 mo ago
    Auto-check passed
  • Convex Return Validators

    waynesutton/markdown-site

    Guide for when to use and when not to use return validators in Convex functions.

    628 GitHub stars~2.4k tokensUpdated 4 mo ago
    Auto-check passed
  • Convex Doctor

    waynesutton/markdown-site

    Run convex-doctor static analysis, interpret findings, and fix issues across security, performance, correctness, schema, and architecture categories.

    628 GitHub stars~1.9k tokensUpdated 4 mo ago
    Auto-check passed
  • Convex Quickstart

    waynesutton/markdown-site

    Initialize a new Convex project from scratch or add Convex to an existing app.

    628 GitHub stars~1.2k tokensUpdated 4 mo ago
    Auto-check: notes
  • Convex Setup Auth

    waynesutton/markdown-site

    Set up Convex authentication with proper user management, identity mapping, and access control patterns.

    628 GitHub stars~1.4k tokensUpdated 4 mo ago
    Auto-check passed

Questions about Migration Helper

What does Migration Helper do?

Plan and execute Convex schema migrations safely, including adding fields, creating tables, and data transformations. Migration Helper is an agent skill from waynesutton/markdown-site. Plan and execute Convex schema migrations safely, including adding fields, creating tables, and data transformations.

When should I use Migration Helper?

Migration Helper fits situations like: schema changes affect existing data; tasks that involve Database migrations; tasks that involve Data cleaning.

How do I install Migration Helper in Claude Code?

Run `npx skills add waynesutton/markdown-site --skill migration-helper -a claude-code`. Or copy the skill folder (.claude/migration-helper in waynesutton/markdown-site) into .claude/skills/migration-helper in your project. Claude Code loads it when a task matches its description.

How do I install Migration Helper in Codex?

Run `npx skills add waynesutton/markdown-site --skill migration-helper -a codex`. Or copy the skill folder (.claude/migration-helper in waynesutton/markdown-site) into .agents/skills/migration-helper in your project. Codex loads it when a task matches its description.

Can I use Migration Helper in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add waynesutton/markdown-site --skill migration-helper -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/migration-helper, .gemini/skills/migration-helper, .github/skills/migration-helper and .opencode/skills/migration-helper in your project.

What does Migration Helper need to run?

SKILL.md names no scripts, command-line tools or credentials: Migration Helper is instructions for the agent only. Our summary lists: Node.js.

Does Migration Helper access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Migration Helper safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Migration Helper use?

Migration Helper is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Migration Helper use?

About 958 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Migration Helper?

Skills that share tags, products or a category with Migration Helper: Data Migration (Microck/ordinary-claude-skills, 401 stars), dbt Snowflake to BigQuery Translator (google/skills, 21k stars), Bio Metabolomics Normalization Qc (GPTomics/bioSkills, 1.2k stars) and Bio Metabolomics Normalization Qc (majiayu000/claude-skill-registry, 666 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Migration Helper?

waynesutton (a GitHub user) maintains it in waynesutton/markdown-site, which has 628 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on May 20, 2026.

Source: waynesutton/markdown-site on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.