A skill your agent uses when moving a Butterbase app between regions, checking migration progress, aborting a stuck move, reverse-rolling a completed move, or tearing down retained source replicas…

MITAuto-check passed

Install Migrations

skills CLI
$ npx skills add butterbase-ai/butterbase-skills --skill migrations -a claude-code

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

GitHub CLI
$ gh skill install butterbase-ai/butterbase-skills migrations --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/butterbase-ai/butterbase-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/migrations .claude/skills/migrations && 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
migrations
GitHub stars
534
Token cost
~948 tokens
SKILL.md length
407 words
Files
1
Skills in repo
39
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when moving a Butterbase app between regions, checking migration progress, aborting a stuck move, reverse-rolling a completed move, or tearing down retained source replicas…

  • Works in 6 steps: The step sequence → Start a move → Recovery: pick the right escape hatch → …
  • Moving a Butterbase app between regions
  • SKILL.md covers 1. The step sequence, 2. Start a move, 3. Recovery: pick the right… and 4. Inspecting in-flight +…, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Migrations is an agent skill from butterbase-ai/butterbase-skills. Use when moving a Butterbase app between regions, checking migration progress, aborting a stuck move, reverse-rolling a completed move, or tearing down retained source replicas after a move is stable

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

The repository describes itself as: Plugin for Butterbase.ai. The licence is MIT.

When your agent uses it

  • Moving a Butterbase app between regions
  • Checking migration progress
  • Aborting a stuck move
  • Reverse-rolling a completed move

Example prompts

  • “/migrations”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. The step sequence
  2. Start a move
  3. Recovery: pick the right escape hatch
  4. Inspecting in-flight + retained state
  5. Common pitfalls
  6. What this skill does NOT cover

What it can do on your machine

Read from SKILL.md and the folder at commit aa8ae69. 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.

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

  • Network

    No URLs in SKILL.md.

    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

Migrations loads about 948 tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 407 words of instructions outside code blocks.

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

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 butterbase-ai/butterbase-skills at commit aa8ae69, republished under its MIT licence (© butterbase-ai). 407 words, ~948 tokens.

Download SKILL.mdSave it as .claude/skills/migrations/SKILL.md (or your agent's skills folder).
name
migrations
description
Use when moving a Butterbase app between regions, checking migration progress, aborting a stuck move, reverse-rolling a completed move, or tearing down retained source replicas after a move is stable

Butterbase App Migrations (Multi-Region)

Moving an app between regions is an orchestrated migration: data dumped from source, restored in dest, blobs copied, runtime brought up, then traffic flipped. Source replica is retained for safe rollback until you tear it down.

Four small tools wrap the orchestration:

ToolPurpose
list_regionsDiscover what regions exist before suggesting one.
move_appStart a migration. Returns a migration_id.
move_app_statusRead the current step + replica state of a specific migration.
manage_migrationsOperational ops: get_active, abort, reverse, list_source_replicas.
teardown_source_replicaDecommission the retained source replica once you're confident.

1. The step sequence

A successful move walks through 11 steps in order:

requested → reserving_dest → blocking_writes → dumping_data →
restoring_data → copying_blobs → copying_runtime → flipping_routing →
setting_up_reverse_replication → unblocking_writes → completed

The cutover happens at flipping_routing. Before that, the app is still served from the source. After that, traffic is on the destination.

Terminal states: completed, aborted, failed.


2. Start a move

list_regions              → confirm dest region is supported
move_app(app_id, dest_region) → { migration_id, status: "queued" }

Then poll with move_app_status({ app_id, migration_id }) every few seconds (or call manage_migrations({ action: "get_active", app_id }) if you've forgotten the id).


3. Recovery: pick the right escape hatch

Stuck or wrong choice? Different state, different tool:

  • Before flipping_routing (still in dump / restore / copy phases): use manage_migrations action: "abort". Cancels cleanly; no data flipped.
  • After flipping_routing (already cut over): abort is locked. Use manage_migrations action: "reverse". This rolls back to source — works only while the source replica is still retained (i.e. you haven't called teardown_source_replica yet).
  • Move is done and stable (the new region is serving traffic without issues for a while): use teardown_source_replica({ migration_id }). Stops paying for source-region storage. After this, reverse is no longer available.

Show full SKILL.md (158 more words)Show less

4. Inspecting in-flight + retained state

  • manage_migrations({ action: "get_active", app_id }) → { migration: AppMigration | null }. Tells you if a move is in progress right now.
  • manage_migrations({ action: "list_source_replicas" }) → all retained replicas the caller owns. Call this before any teardown so you know what you'd lose.

5. Common pitfalls

  • Calling move_app again while one is active — backend returns 409 ineligible. Resolve by waiting for the active migration to terminate, or aborting it first.
  • Trying to abort after cutover — returns 409. The path forward is reverse, not abort.
  • Tearing down a replica too early — once it's gone, reverse-move is no longer possible. Verify the destination region has been serving traffic cleanly before teardown.
  • Forgetting dest_region is validated — invalid slugs return 400. Always list_regions first if you're not sure.

6. What this skill does NOT cover

  • Schema migrations (table/column changes) — use butterbase-skills:schema-design.
  • Region selection at app creation time — use init_app directly with the region parameter.
  • Cross-region replica reads (none — Butterbase is single-region-active per app).

© butterbase-ai, 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 skills/migrations of butterbase-ai/butterbase-skills.

Open the folder on GitHubat commit aa8ae69

Compare with similar skills

Migrations 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.

Migrations compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Migrations this skillbutterbase-ai/butterbase-skills534—~948Automated safety check: PassMIT
Reversible MigrationJuliusBrussee/caveman111k1 repos~196Automated safety check: PassApache-2.0
Database Migrationsaffaan-m/ECC276k4 repos~3kAutomated safety check: PassMIT
Database Migrationsaffaan-m/ECC276k1 repos~2.4kAutomated safety check: PassMIT
Cognee Database Migrationstopoteretes/cognee32k—~2.6kAutomated safety check: NotesApache-2.0
Safe Database Migration Patternsaffaan-m/ECC276k—~3.3kAutomated safety check: PassMIT

Similar skills

  • Reversible Migration

    JuliusBrussee/caveman

    Implement reversible compatibility-safe transitions. Use for schema, data, API, protocol, configuration, or dependency migrations requiring rollback and…

    111k GitHub starsUsed in 1 repo~196 tokens
    DevelopmentAuto-check passed
  • Safe, reversible database migration patterns: forward-only production changes, expand-contract zero-downtime renames, concurrent indexes, batched backfills, and per-tool workflows for PostgreSQL…

    276k GitHub starsUsed in 4 repos~3k tokens
    DatabasesAuto-check passed
  • Şema değişiklikleri, veri migration'ları, rollback'ler ve PostgreSQL, MySQL ve yaygın ORM'ler (Prisma, Drizzle, Django, TypeORM, golang-migrate) arasında sıfır kesinti deployment'ları için…

    276k GitHub starsUsed in 1 repo~2.4k tokens
    DatabasesAuto-check passed
  • Cognee Database Migrations

    topoteretes/cognee

    Explains how cognee's two migration chains run, how to check and repair migration state with cognee-cli, and how to write new Alembic or graph and vector migrations.

    32k GitHub stars~2.6k tokensUpdated today
    DatabasesAuto-check: notes
  • Rules and examples for safe, reversible schema changes in production: zero-downtime column and index changes, large data backfills and ORM migration workflows.

    276k GitHub stars~3.3k tokensUpdated 4 days ago
    DatabasesAuto-check passed
  • Migrate Create

    ruvnet/ruflo

    Create a new sequentially numbered database migration with up/down SQL files

    74k GitHub stars~583 tokensUpdated today
    DatabasesAuto-check: notes

More from butterbase-ai/butterbase-skills

All 39 skills in this repo
  • AI

    butterbase-ai/butterbase-skills

    A skill your agent uses when calling the app's AI gateway from agent tools — chat completions, embeddings, listing models, configuring defaults or BYOK, reading token/cost usage

    534 GitHub stars~1.1k tokensUpdated 4 days ago
    Auto-check passed
  • Auth Setup

    butterbase-ai/butterbase-skills

    A skill your agent uses when configuring OAuth providers (Google/GitHub/Apple/X/etc.), setting up post-login auth hooks, tuning JWT lifetimes, or generating service API keys

    534 GitHub stars~2.2k tokensUpdated 4 days ago
    Auto-check passed
  • Build App

    butterbase-ai/butterbase-skills

    A skill your agent uses when building a new Butterbase app from scratch, creating a full-stack application, or when the user asks to set up a complete backend with database, auth, and deployment

    534 GitHub stars~4.9k tokensUpdated 4 days ago
    Auto-check passed
  • Contributing

    butterbase-ai/butterbase-skills

    A skill your agent uses when contributing to the Butterbase codebase, adding new MCP tools, creating API routes, writing migrations, or understanding the monorepo architecture

    534 GitHub stars~1.5k tokensUpdated 4 days ago
    Auto-check passed
  • Debug Rls

    butterbase-ai/butterbase-skills

    A skill your agent uses when users report access denied errors, see wrong data, RLS policies are not working, or when troubleshooting Row-Level Security issues in Butterbase

    534 GitHub stars~3.5k tokensUpdated 4 days ago
    Auto-check passed
  • Deploy Frontend

    butterbase-ai/butterbase-skills

    A skill your agent uses when deploying a frontend (React, Next.js, or static HTML) to a live URL on Butterbase, or when troubleshooting deployment issues like MIME type errors or blank pages

    534 GitHub stars~2.8k tokensUpdated 4 days ago
    Auto-check passed

Questions about Migrations

What does Migrations do?

A skill your agent uses when moving a Butterbase app between regions, checking migration progress, aborting a stuck move, reverse-rolling a completed move, or tearing down retained source replicas…. Migrations is an agent skill from butterbase-ai/butterbase-skills.

When should I use Migrations?

Migrations fits situations like: moving a Butterbase app between regions; checking migration progress; aborting a stuck move; reverse-rolling a completed move.

How do I install Migrations in Claude Code?

Run `npx skills add butterbase-ai/butterbase-skills --skill migrations -a claude-code`. Or copy the skill folder (skills/migrations in butterbase-ai/butterbase-skills) into .claude/skills/migrations in your project. Claude Code loads it when a task matches its description.

How do I install Migrations in Codex?

Run `npx skills add butterbase-ai/butterbase-skills --skill migrations -a codex`. Or copy the skill folder (skills/migrations in butterbase-ai/butterbase-skills) into .agents/skills/migrations in your project. Codex loads it when a task matches its description.

Can I use Migrations 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 butterbase-ai/butterbase-skills --skill migrations -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/migrations, .gemini/skills/migrations, .github/skills/migrations and .opencode/skills/migrations in your project.

What does Migrations need to run?

SKILL.md names no scripts, command-line tools or credentials: Migrations is instructions for the agent only.

Does Migrations access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Migrations 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 Migrations use?

Migrations 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 Migrations use?

About 948 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 Migrations?

Skills that share tags, products or a category with Migrations: Reversible Migration (JuliusBrussee/caveman, 111k stars), Database Migrations (affaan-m/ECC, 276k stars), Database Migrations (affaan-m/ECC, 276k stars) and Cognee Database Migrations (topoteretes/cognee, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Migrations?

butterbase-ai (a GitHub organization) maintains it in butterbase-ai/butterbase-skills, which has 534 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 5, 2026.

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