migration
SkillWeb & browsingGenerate database migration, model update, and seed data
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the migration skill
What this skill tells your AI
The instructions your AI receives, as published by porcupine-md/anoa-browser in .claude/skills/core/migration/SKILL.md and read by ahel’s review.
Context
Project {{project_name}} uses {{stack}}. You will create a database migration for: "{{input.description}}".
Read AGENTS.md and existing migrations to understand conventions.
Instructions
-
Detect ORM/migration tool
- Prisma:
prisma/schema.prisma - Drizzle:
drizzle.config.ts+src/db/schema.ts - Knex:
knexfile.js+migrations/ - TypeORM:
ormconfig.ts+src/entities/ - SQLAlchemy:
alembic/ - golang-migrate:
migrations/
- Prisma:
-
Update schema/model
- Prisma: update
schema.prisma - Drizzle: update schema file
- TypeORM: update entity file
- Others: according to ORM convention
- Prisma: update
-
Generate migration file
- Prisma:
npx prisma migrate dev --name {{input.description | slugify}} - Drizzle:
npx drizzle-kit generate - Knex:
npx knex migrate:make {{input.description | slugify}} - Manual: create timestamped migration file
- Prisma:
-
Update seed data (if applicable)
- Add/update seed for new/changed tables
- Ensure seed is idempotent
-
Update types (if generated)
- Prisma:
npx prisma generate - Drizzle: types auto-generated from schema
- Prisma:
-
Test migration
- Run migration on test database
- Verify schema is correct
- Run existing tests (ensure nothing breaks)
Script
#!/bin/bash
# Detect ORM
if [ -f "prisma/schema.prisma" ]; then
echo "ORM: Prisma"
echo "Run: npx prisma migrate dev"
elif [ -f "drizzle.config.ts" ] || [ -f "drizzle.config.js" ]; then
echo "ORM: Drizzle"
echo "Run: npx drizzle-kit generate"
elif [ -f "knexfile.js" ] || [ -f "knexfile.ts" ]; then
echo "ORM: Knex"
echo "Run: npx knex migrate:make"
elif ls src/entities/*.ts 1>/dev/null 2>&1; then
echo "ORM: TypeORM"
fi
Validation
- Schema/model updated correctly
- Migration file generated
- Migration runs successfully (up)
- Migration rollback works (down)
- Existing tests still pass
- Types updated (if applicable)
- Seed data updated (if applicable)
Signals
- GitHub stars
- 23
- Forks
- 2
- Last commit
- Sep 2026
- Hacker News mentions
- 20
Advanced
- Catalog kind
- skill
- Gateway key
migration-porcupine-md- Source
- github.com/porcupine-md/anoa-browser