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 filipebraida/adonisjs-starter-kit --skill migrationsgit clone --depth 1 https://github.com/filipebraida/adonisjs-starter-kitWrote 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/filipebraida/adonisjs-starter-kit/migrations)<a href="https://agentmods.dev/skills/filipebraida/adonisjs-starter-kit/migrations"><img src="https://agentmods.dev/badge/skills/filipebraida/adonisjs-starter-kit/migrations/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/filipebraida/adonisjs-starter-kit/migrations"><img src="https://agentmods.dev/badge/skills/filipebraida/adonisjs-starter-kit/migrations.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00141 | $0.01802 |
| Opus 5.5 | $0.00056 | $0.00721 |
| Sonnet 5.5 | $0.00028 | $0.00360 |
| Haiku 4.5 | $0.00014 | $0.00180 |
Grade A, and why
migrations 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 — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Migrations
Standard Lucid migrations — BaseSchema subclasses in app/<mod>/database/migrations/<ts>_<name>.ts with up() and down(). Three things are specific to this starter kit:
- Assumes no production data. When adding a column to an existing table, edit the existing
create_<table>_table.tsmigration and runpnpm ace migration:freshinstead of layering analter_tablemigration on top. The goal is that every downstream project inherits a clean single migration per table, not a create-then-alter chain. - Migration paths are explicit per module in
apps/web/config/database.ts→connections.postgres.migrations.paths. There is no autoloader. Add the module's path when it first gets a migration ([[module-scaffolding]]). apps/web/app/core/database/schema.tsis auto-generated but committed — models import their schemas from it, soacecannot boot on a fresh checkout without the file. Regenerated onmigration:run/fresh; commit the diff alongside the migration change. Framework-owned — never hand-edit or lint it.
Rules
- Location:
app/<mod>/database/migrations/<unix-ms-timestamp>_<name>.ts. Filename shape mirrorsace make:migrationoutput. up()builds the table usingthis.schema.createTable(...)with knex-style builders. Includeidprimary first, business columns next,created_at(not null) andupdated_at(nullable) at the bottom, plus any indexes.down()drops the table withthis.schema.dropTable(this.tableName).- Edit-in-place for schema evolution — the starter-kit rule. Add the column to
create_<table>_table.ts, thenpnpm ace migration:freshto rebuild. Downstream projects that have production data adopt a stricter policy (alter-in-place chains, tools likepg_dumpfor reversibility). migration:freshis destructive — drops every table, re-runs every migration. Never on shared / production DB.migration:runis additive — only runs migrations that haven't been applied. Use for adding net-new migrations without dropping data.- Migration paths: append
'app/<mod>/database/migrations'toapps/web/config/database.tswhen the module first gets a migration. Same for seeder paths (seeders.paths). - Postgres types:
textfor strings without hard limits,jsonbfor JSON payloads (notjson—jsonbis queryable and indexable),timestampfor datetimes. - Indexes: declare with
table.index([...])in the same migration. For lookup columns (user_id,tenant_id,notifiable_id), always add. - Cross-module FKs live with the table's owner. An
alter_tableor foreign-key column on another module's table belongs in that module's migration, not yours. If ownership is muddy, add a join table in your own module instead — don't reach into a table you don't own.
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 · 110 lines · 141 tokens per session scan A 4fc05867feb9
migrations is a skill published in the GitHub repository filipebraida/adonisjs-starter-kit (96 stars, last pushed 2mo ago), licensed MIT. It adds 141 tokens to every session and 1,802 once invoked, about $0.0006 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-30.
Other skills, from other repositories
ui-beats
Use this skill when users want to add, customize, or troubleshoot UI Beats components in React/Next.js projects. It covers component selection, shadcn registry installation from uibeats.com, the UI Beats MCP server, motion and reduced-motion handling, and integration patterns for animated sections.
tuturuuu-database
Change Tuturuuu migrations, RLS, protected-table access, storage policies, and generated database types.
design-a-schema
Model a new table (or reshape an existing one) in libs/db with Drizzle — normalize by default, add the right constraints, and index deliberately. Use when adding a table/column, deciding on keys and foreign keys, or when a query is slow because the schema or its indexes are wrong. Enforces the stack's "Drizzle is the…
optimize-a-query
Diagnose and fix a slow Postgres query in the builders-stack — read its EXPLAIN plan, find the missing index or the ORM N+1, and confirm the fix. Use when a page or endpoint is slow, a query times out, or pgstatstatements shows a hot query. Pairs with design-a-schema for the index itself.
morphous-catalog
Create or refresh Morphous website design-system/theme bundles from animal, insect, plant, landscape, mineral, weather, or other nature motifs. Use when Codex is asked to generate Morphous motif images, light/dark design-system boards, reusable image prompts, generated web assets, shadcn/tweakcn theme exports, or the…
run-lean-on-neon
Keep Postgres fast under load and inside Neon's free tier. Use when choosing a connection string, worrying about "the DB crashes at load", deciding a session strategy, or trying to stay under Neon's free limits (storage / compute-hours). Corrects the common mistake of reaching for postgresql.conf / PgTune — most of…