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 atuljha23/holocron --skill migration-patternsgit clone --depth 1 https://github.com/atuljha23/holocronWrote 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/atuljha23/holocron/migration-patterns)<a href="https://agentmods.dev/skills/atuljha23/holocron/migration-patterns"><img src="https://agentmods.dev/badge/skills/atuljha23/holocron/migration-patterns/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/atuljha23/holocron/migration-patterns"><img src="https://agentmods.dev/badge/skills/atuljha23/holocron/migration-patterns.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.00050 | $0.01146 |
| Opus 5.5 | $0.00020 | $0.00458 |
| Sonnet 5.5 | $0.00010 | $0.00229 |
| Haiku 4.5 | $0.00005 | $0.00115 |
Grade A, and why
migration-patterns 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 — 121 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Migration patterns
Assume: the service is running, writes are arriving, you cannot take a maintenance window. Most production migrations live here.
The universal rule
Never couple a schema change to a code change in the same deploy. They fail independently, and you need each to be reversible independently.
Expand → Migrate → Contract
The safe three-phase dance for any non-trivial change:
- Expand — add the new shape alongside the old. No caller depends on it yet.
- Migrate — move data to the new shape. Switch readers. Switch writers. Backfill anything left.
- Contract — drop the old shape once nothing reads or writes it for a cooling-off period.
Each phase is a separate deploy. Each is independently revertable.
Common change patterns
Add a column
- Safe:
ALTER TABLE ... ADD COLUMN ... NULL. No lock (or brief, depending on engine). - Danger:
NOT NULLwith no default on a large table — full-table rewrite, long lock. Use a default (cheap if metadata-only in your engine) or expand/migrate/contract: add nullable → backfill → add NOT NULL constraint.
Drop a column
- Ship code that stops reading it. Deploy. Wait a release.
- Ship code that stops writing it. Deploy. Wait a release.
- Drop the column.
- Never reverse this order.
Rename a column
- Effectively: add new → dual-write → backfill → switch reads → stop writing old → drop old.
- Never
ALTER TABLE ... RENAME COLUMNwhile code is live. Callers break.
Change column type
- Add a new column with the target type.
- Dual-write (writers write both).
- Backfill the new column.
- Switch readers to the new column.
- Stop writing the old.
- Drop the old.
Add an index on a large table
- Postgres:
CREATE INDEX CONCURRENTLY— no table lock. Monitor for failure. - MySQL: online DDL since 5.6 for most index adds. Check
ALGORITHM=INPLACE, LOCK=NONE. - Never just
CREATE INDEXon a hot table withoutCONCURRENTLY/ online algorithm.
Add a foreign key
- Add the column first, without the constraint.
- Backfill valid values.
- Add the constraint
NOT VALID(Postgres) so new rows are checked. VALIDATE CONSTRAINTlater during low traffic.
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 · 121 lines · 50 tokens per session scan A 8d478cdd489e
migration-patterns is a skill published in the GitHub repository atuljha23/holocron (2 stars, last pushed 6mo ago), licensed MIT. It adds 50 tokens to every session and 1,146 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 skills, from other repositories
distributed-storage
Distributed storage systems design and operation for cloud platforms. Covers the GFS/HDFS block-and-master pattern, object storage (Swift/S3) with consistent hashing and eventual consistency, block storage semantics, replication vs erasure coding, the CAP theorem in practice, read-repair and anti-entropy, snapshot…
portable-schema-generator
Emit Postgres.sql and SQLite.sql from a single schema spec so tools work across both drivers without duplicating DDL by hand. Use when designing a schema that needs to support both shared Postgres deployments and zero-config SQLite. Reduces two-file sync burden to a single source edit.
behavioral-economics
Systematic departures from rational choice theory and their implications for economic analysis and policy. Covers cognitive heuristics (anchoring, availability, representativeness), biases (loss aversion, status quo, overconfidence), prospect theory (reference dependence, probability weighting, diminishing…
development-economics
Economics of low-income countries and the structural transformation from agrarian poverty to industrial prosperity. Covers growth models (Solow, endogenous growth, unified growth theory), the role of institutions (inclusive vs. extractive), inequality measurement and dynamics (Gini, Lorenz curve, Kuznets), poverty…
international-trade
Theory and policy of international economic exchange. Covers comparative advantage (Ricardo, Heckscher-Ohlin), gains from trade, trade policy instruments (tariffs, quotas, subsidies), exchange rate determination, balance of payments, globalization dynamics, trade agreements, and the political economy of protectionism.…
macroeconomics
Analysis of aggregate economic phenomena -- GDP measurement, inflation dynamics, unemployment theory, monetary policy (central banks, interest rates, money supply), fiscal policy (government spending, taxation, debt), and the business cycle. Covers Keynesian, monetarist, and new classical perspectives. Use when…