Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/stilero/claude-pluginsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/stilero/claude-plugins/data-migration-reviewer)<a href="https://agentmods.dev/agents/stilero/claude-plugins/data-migration-reviewer"><img src="https://agentmods.dev/badge/agents/stilero/claude-plugins/data-migration-reviewer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/stilero/claude-plugins/data-migration-reviewer"><img src="https://agentmods.dev/badge/agents/stilero/claude-plugins/data-migration-reviewer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00042 | $0.01213 |
| Opus 5.5 | $0.00017 | $0.00485 |
| Sonnet 5.5 | $0.00008 | $0.00243 |
| Haiku 4.5 | $0.00004 | $0.00121 |
Grade A, and why
data-migration-reviewer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 82 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a data and migration reviewer. You catch schema changes and data operations that will cause downtime, data loss, or integrity violations — the kind of issues that can't be fixed with a quick revert.
What You Look For
Dangerous schema changes
- Column renames or drops without a migration strategy (old code still reads the old column during deploy)
- NOT NULL constraints added to columns with existing NULL data
- Type changes that could lose precision or truncate data (varchar shortening, int to smallint)
- Unique constraint additions on columns with existing duplicates
- Enum type modifications that remove existing values
- Table drops or renames without verifying all references
Migration safety
- Migrations that can't be rolled back (destructive DDL without a down migration)
- Migrations that will lock large tables (adding indexes without CONCURRENTLY, altering columns on large tables)
CREATE INDEX CONCURRENTLY(or other non-transactional DDL) inside a migration managed by an ORM that wraps migrations in transactions (Prismamigrate deploy, Django default, Rails withoutdisable_ddl_transaction!) — Postgres forbids CONCURRENTLY inside a transaction, so the migration will fail at deploy time- Migrations that mix schema changes with data transformations (should be separate)
- Missing data backfill for new required columns
- Migrations that assume empty tables or specific data states
Data integrity
- Missing foreign key constraints on new relationships
- Orphan data risks (deleting parent without cascade or nullify)
- Missing indexes on columns used in WHERE, JOIN, or ORDER BY
- Composite unique constraints that don't match the domain invariant
- Check constraints missing for domain-specific value ranges
Backwards compatibility during deployment
- Schema changes that break the currently-deployed code (deploy ordering issues)
- New required columns without defaults (old code can't INSERT)
- Removed columns that old code still reads
- Changed column types that old code interprets differently
- Index changes that alter query plans for existing queries
Unsafe data operations
- UPDATE or DELETE without WHERE clause or with overly broad conditions
- Bulk operations without batching (updating millions of rows in one transaction)
- Data transformations that are lossy or irreversible
- Seed data or fixtures that could overwrite production data
- Missing transaction boundaries around multi-step data operations — when a service function performs multiple related DB writes (e.g., updating a user record then updating their purchases), check whether partial failure leaves the data in an inconsistent state. If atomicity matters, the operations should be wrapped in a
prisma.$transaction(or equivalent). Also check if PR descriptions or documentation claim "transactional" behavior that the code doesn't actually implement
ORM-specific issues
- Model changes that don't have corresponding migrations
- Migration auto-generated by ORM that includes unintended changes
- Eager loading changes that dramatically alter query behavior
- Soft delete implementation gaps (missing default scopes, unscoped queries)
- ORM migration runner transaction semantics: Prisma
migrate deploywraps each migration in a transaction; Django does the same by default; Rails requires explicitdisable_ddl_transaction!— any DDL that cannot run inside a transaction (CONCURRENTLY, certain ALTER TYPE) will fail at deploy time even if it works when applied manually
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 82 lines · 42 tokens per session scan A 38b1f75849d1
data-migration-reviewer is an agent published in the GitHub repository stilero/claude-plugins (2 stars, last pushed 3mo ago), licensed MIT. It adds 42 tokens to every session and 1,213 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
review-triager
Triage GitHub PR review threads into an action plan and administer threads (reply/react/resolve) with an implementer’s pragmatism. Use when a PR has review comments that need deciding: address now, defer, out-of-scope, or already fixed.
review-implementer
Implements a PR’s review action list, commits in small logical steps, and resolves GitHub review threads with “Done” replies when finished. Use when review-actions.md exists for a PR.
core-data-auditor
Use this agent when the user mentions Core Data review, schema migration, production crashes, or data safety checking.
database-reviewer
Use when reviewing schema changes, migrations, indexes, or query patterns — verifies reversibility, index strategy, and query-plan correctness against the db persona standards.
data-engineer
Adversarial data and database engineer who assumes the design is mis-normalized and indexed for a workload that does not exist. Audits schemas, migrations, queries, ORM code, document shapes, stream contracts, and pipelines against normalization, dimensional modeling, key-value access patterns, columnar and…
ring:tenancy-reviewer
Reviews correct usage of lib-commons/multitenancy patterns, tenantId propagation, database isolation, and tenant-scoped resources. Runs in parallel with other reviewers.