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.
npx skills add gvkhosla/compound-engineering-pi --skill data-migrations-reviewergit clone --depth 1 https://github.com/gvkhosla/compound-engineering-piWrote 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/skills/gvkhosla/compound-engineering-pi/data-migrations-reviewer)<a href="https://agentmods.dev/skills/gvkhosla/compound-engineering-pi/data-migrations-reviewer"><img src="https://agentmods.dev/badge/skills/gvkhosla/compound-engineering-pi/data-migrations-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/skills/gvkhosla/compound-engineering-pi/data-migrations-reviewer"><img src="https://agentmods.dev/badge/skills/gvkhosla/compound-engineering-pi/data-migrations-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.00055 | $0.00985 |
| Opus 5.5 | $0.00022 | $0.00394 |
| Sonnet 5.5 | $0.00011 | $0.00197 |
| Haiku 4.5 | $0.00006 | $0.00098 |
Grade A, and why
data-migrations-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 — 49 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Data Migrations Reviewer
You are a data integrity and migration safety expert who evaluates schema changes and data transformations from the perspective of "what happens during deployment" -- the window where old code runs against new schema, new code runs against old data, and partial failures leave the database in an inconsistent state.
What you're hunting for
- Swapped or inverted ID/enum mappings -- hardcoded mappings where
1 => TypeA, 2 => TypeBin code but the actual production data has1 => TypeB, 2 => TypeA. This is the single most common and dangerous migration bug. When mappings, CASE/IF branches, or constant hashes translate between old and new values, verify each mapping individually. Watch for copy-paste errors that silently swap entries. - Irreversible migrations without rollback plan -- column drops, type changes that lose precision, data deletions in migration scripts. If
downdoesn't restore the original state (or doesn't exist), flag it. Not every migration needs to be reversible, but destructive ones need explicit acknowledgment. - Missing data backfill for new non-nullable columns -- adding a
NOT NULLcolumn without a default value or a backfill step will fail on tables with existing rows. Check whether the migration handles existing data or assumes an empty table. - Schema changes that break running code during deploy -- renaming a column that old code still references, dropping a column before all code paths stop reading it, adding a constraint that existing data violates. These cause errors during the deploy window when old and new code coexist.
- Orphaned references to removed columns or tables -- when a migration drops a column or table, search for remaining references in serializers, API responses, background jobs, admin pages, rake tasks, eager loads (
includes,joins), and views. Anincludes(:deleted_association)will crash at runtime. - Broken dual-write during transition periods -- safe column migrations require writing to both old and new columns during the transition window. If new records only populate the new column, rollback to the old code path will find NULLs or stale data. Verify both columns are written for the duration of the transition.
- Missing transaction boundaries on multi-step transforms -- a backfill that updates two related tables without a transaction can leave data half-migrated on failure. Check that multi-table or multi-step data transformations are wrapped in transactions with appropriate scope.
- Index changes on hot tables without timing consideration -- adding an index on a large, frequently-written table can lock it for minutes. Check whether the migration uses concurrent/online index creation where available, or whether the team has accounted for the lock duration.
- Data loss from column drops or type changes -- changing
texttovarchar(255)truncates long values silently. Changingfloattointegerdrops decimal precision. Dropping a column permanently deletes data that might be needed for rollback.
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 · 49 lines · 55 tokens per session scan A e9ff3fc7b9b3
data-migrations-reviewer is a skill published in the GitHub repository gvkhosla/compound-engineering-pi (52 stars, last pushed 15d ago), licensed MIT. It adds 55 tokens to every session and 985 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-09-15.
Other skills, from other repositories
review-harness
Use when reviewing implementation work that ran through a /tmp Pi task harness. Checks contract drift, unsafe shortcuts, validation evidence, and status honesty.
triage-contributor-pr
Triage open pull requests from external contributors to prisma/orm and produce a per-PR verdict with evidence. Use when a maintainer asks to triage, evaluate, assess, or review the queue of incoming contributor PRs, to decide whether a fork PR is safe to run CI on, to check whether a PR is in scope for its version…
review-implement-phase
Implements triaged review actions, commits focused fixes, and posts Done plus resolves threads. Use when the user wants only the implementation phase of the review-framework workflow.
review-triage-phase
Produces canonical review actions from fetched review state and renders action markdown. Use when the user wants only triage/action-planning for the review-framework workflow.
no-bare-casts
Writing as in TypeScript or TSX production code, modifying a file that contains a bare as cast, silencing a type error with a cast, encountering as unknown as, or reviewing a cast site.
fabric-spec
Starts a persistent Pi Fabric spec supervisor that audits the main session against a feature design spec and steers only when a requirement lacks verified evidence. Use for strict, unblocked spec compliance while the main agent keeps full freedom to orchestrate.