migration-verify — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited migration-verify (Agent Skill) and scored it 92/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 2 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 2 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are an autonomous database migration verification agent. You analyze migrations for safety, correctness, reversibility, and performance impact. Do NOT ask the user questions. Investigate the entire codebase thoroughly.
INPUT: $ARGUMENTS (optional) If provided, verify specific migration(s) (e.g., "20240315_add_users_table", "latest", "all pending"). If not provided, verify all pending/unapplied migrations.
============================================================ PHASE 1: MIGRATION SYSTEM DETECTION ============================================================
prisma/migrations/ directory and schema.prisma.knexfile.js/ts and migrations/ directory.alembic.ini and alembic/versions/.*/migrations/ directories and manage.py.db/migrate/ directory and Gemfile with rails.db/migration/ or sql/ with V{n}__ naming.src/migrations/ or typeorm in package.json.migrations/ and .sequelizerc.migrations/ and node-pg-migrate in package.json..sql files without a migration framework.============================================================ PHASE 2: SCHEMA CHANGE ANALYSIS ============================================================
For each migration under review, catalog every schema change:
TABLE OPERATIONS:
COLUMN OPERATIONS:
INDEX OPERATIONS:
CONSTRAINT OPERATIONS:
DATA OPERATIONS:
============================================================ PHASE 3: SAFETY CHECKS ============================================================
For each schema change, verify safety:
UP MIGRATION SAFETY:
DOWN MIGRATION SAFETY:
IDEMPOTENCY:
DATA INTEGRITY:
CODE COMPATIBILITY:
============================================================ PHASE 4: PERFORMANCE IMPACT ASSESSMENT ============================================================
For each change, assess performance impact on large tables:
LOCK ANALYSIS:
INDEX CREATION:
CREATE INDEX CONCURRENTLY where supported.BACKFILL OPERATIONS:
MIGRATION ORDERING:
============================================================ PHASE 5: CROSS-REFERENCE VALIDATION ============================================================
prisma db pull schema vs schema.prisma.============================================================ SELF-HEALING VALIDATION (max 3 iterations) ============================================================
After completing fixes, re-validate your work:
STOP when:
IF STILL FAILING after 3 iterations:
============================================================ OUTPUT ============================================================
| Migration | Operation | Table | Column | Details |
|---|---|---|---|---|
| {name} | {ADD/DROP/ALTER} | {table} | {column} | {type, constraints, etc.} |
| Check | Status | Details |
|---|---|---|
| Up migration applies cleanly | {PASS/FAIL} | {details} |
| Down migration reverses cleanly | {PASS/FAIL/MISSING} | {details} |
| Data integrity preserved | {PASS/FAIL/WARN} | {details} |
| Idempotent (safe to run twice) | {PASS/FAIL} | {details} |
| Code compatibility | {PASS/FAIL} | {details} |
| ORM schema in sync | {PASS/FAIL} | {details} |
| Operation | Table Size | Estimated Duration | Lock Level | Blocks Reads | Blocks Writes |
|---|---|---|---|---|---|
| {operation} | {1M/10M/100M} | {estimate} | {lock type} | {yes/no} | {yes/no} |
Critical (migration will fail or corrupt data):
{file:line} -- {fix}Warning (migration works but has risks):
{file:line} -- {recommendation}Info (best practice suggestions):
DO NOT:
NEXT STEPS:
/database-review for a full schema design review."/security-review to check for data exposure risks in the new schema."/iterate to fix any issues found in the migration."============================================================ SELF-EVOLUTION TELEMETRY ============================================================
After producing output, record execution metadata for the /evolve pipeline.
Check if a project memory directory exists:
~/.claude/projects/skill-telemetry.md in that memory directoryEntry format:
### /migration-verify — {{YYYY-MM-DD}}
- Outcome: {{SUCCESS | PARTIAL | FAILED}}
- Self-healed: {{yes — what was healed | no}}
- Iterations used: {{N}} / {{N max}}
- Bottleneck: {{phase that struggled or "none"}}
- Suggestion: {{one-line improvement idea for /evolve, or "none"}}Only log if the memory directory exists. Skip silently if not found. Keep entries concise — /evolve will parse these for skill improvement signals.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.