accessibility-gate
Use as a pass/fail gate on any diff with a user-facing surface — by code-reviewer during review, by qa-engineer during the test…
Use before changing any persisted schema — by backend-developer on a server store, by web-developer on a client or server store, and by reliability-engineer when reviewing a change that migrates data. Triggers on the first column, field, index or model change, not on the deploy.
Claude Code
$ npx -y skills add vmobifystudio/app-dev-team --skill database-migration --agent claude-code
Codex
$ npx skills add vmobifystudio/app-dev-team --skill database-migration -a codex -y
Cursor
$ npx skills add vmobifystudio/app-dev-team --skill database-migration -a cursor -y
Gemini CLI
$ npx skills add vmobifystudio/app-dev-team --skill database-migration -a gemini-cli -y
GitHub Copilot
$ npx skills add vmobifystudio/app-dev-team --skill database-migration -a github-copilot -y
OpenCode
$ npx skills add vmobifystudio/app-dev-team --skill database-migration -a opencode -y
Windsurf
$ npx skills add vmobifystudio/app-dev-team --skill database-migration -a windsurf -y
name: database-migration description: Use before changing any persisted schema — by backend-developer on a server store, by web-developer on a client or server store, and by reliability-engineer when reviewing a change that migrates data. Triggers on the first column, field, index or model change, not on the deploy.
A migration is the one change that **cannot be rolled back by reverting the commit**. Code reverts; data that has already moved does not. Treat every migration as one-way until you have proven otherwise.
Where a platform skill exists, use it — `axiom-database-migration`, `axiom-swiftdata-migration`, or the auditor for your store. **External and optional**; missing → follow this file.
1. **Enumerate every writer and every reader of the affected data** (`defect-hunting` §1). The migration that stops one layer short is FC-001, and this is the surface where it costs most. 2. **Name the old and new shape explicitly**, including what happens to rows that violate the new constraint *today*. There are always some. 3. **Decide expand or contract.** Almost always expand first:
means **after the oldest supported app version is gone**, which is months, not the next sprint. 4. **Say how you roll back.** If the answer is "restore a backup", say that explicitly — it is a real answer, and it changes the deploy plan.
say so and make each step independently safe.
most common way a migration fails in production and not in dev.
the pre-unicode row, the one from the first version. A migration tested only on a fresh database has been tested on the one case that never occurs.
exist at once, and this is the check that catches it.
The migration file, plus in the ticket: old shape, new shape, expand-or-contract, rollback plan, row counts before and after, and the awkward-data cases you ran it against.
Describe your app idea in one line. Get a shipped iOS & Android app. AI App Studio is a team of 30 AI specialists — a CEO, product manager, designers, iOS/Android engineers, a code reviewer, QA, and a release manager — that works like a real software studio.
Use as a pass/fail gate on any diff with a user-facing surface — by code-reviewer during review, by qa-engineer during the test…
Use before spawning any agent that writes files, and by every developer/fixer agent as its first and last action. Gives each…
Use to produce the technical architecture doc and engineering principles for a mobile app. Used primarily by the CTO agent.…
Use to validate docs/31-board.md before spawning any agent, and to verify a developer's "DONE" claim before moving a row to…
Use when pointing the team at an EXISTING, already-built app instead of a blank project — detects the stack, reverse-engineers…
Use when deciding or revisiting how the product makes money — pricing, tiers, trial shape, ad load, unit economics — by ceo when…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.