Install any skill in seconds. Free to start, no credit card required.
Get Started Free →tryghost/Create database migration
Create a database migration to add a table, add columns to an existing table, add a setting, or otherwise change the schema of Ghost's MySQL database.
Passed 21 of 22 test cases with the skill, and 8 of 22 without it.
and 20 more in the full report
14 fixed7 passed either way0 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
A newer attempt on gemini-3.6-flash on 10/4/2026 did not produce a publishable comparison (not comparable). The snapshot above is the previously measured run.
One of 14 test cases the skill fixed. Same model, same prompt, with and without the skill.
Before executing database migration steps in Ghost core, where in the repository is the canonical human guidance document located?
| Checked | Without skill | With skill |
|---|---|---|
| Points to docs/practices/database-migrations.md. | Missed | Passed |
The instructions your model reads when the skill loads.
Read the canonical human guidance in
docs/practices/database-migrations.md
before making a migration. This skill is the executable checklist that
accompanies it.
If you are adding a new table whose shape is still changing, consider marking it as in development instead of writing a migration yet; see "New tables still in development" in the guide.
pnpm gx generate migration <kebab-case-slug> from the repository root. IMPORTANT: do not create the migration file manually; always use this script to create the initial empty migration file. The slug must be kebab-case (e.g. add-column-to-posts).ghost/core/server/data/migrations/versions if needed, create the empty migration file with the appropriate name, and bump the core and admin package versions to RC if this is the first migration after a release.ghost/core/server/data/migrations/utils/*.ghost/core/server/data/schema/schema.js, and make sure it aligns with the latest changes from the migration.pnpm knex-migrator migrate --v {version directory} --forcedown(): pnpm knex-migrator rollback --v {previous version} --force, then migrate forward again.cd ghost && pnpm test:single test/integration/migrations/migration.test.js. It needs MySQL running, which pnpm dev starts.ghost/core/server/data/exporter/table-lists.js as appropriate. The consistency assertion in ghost/test/unit/server/data/exporter/index.test.js checks that every schema table is classified in the exporter lists.cd ghost && pnpm test:single test/unit/server/data/exporter/index.test.js.cd ghost && pnpm test:single test/unit/server/data/schema/integrity.test.jscd ghost && pnpm test:unitSee examples.md for example migrations.
See rules.md for rules that should always be followed when creating database migrations.
test cases passed, vs 8 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.