In short:
ak-databasesdesigns schemas, writes queries, adds indexes, writes migrations and handles backups for the MongoDB or PostgreSQL your project already runs. It sorts each task into 1 of 4 operation types, demands evidence specific to that type, then stops without handing off to another skill. It does not switch your database unless you ask.
Disclosure: I maintain AgentKit and have an affiliate relationship with it: the AgentKit link in this post is an affiliate link; buying through it gets you 30% off.
Summary
Use it when the main work is in the database: designing new tables, fixing a slow query, writing a reporting aggregation, a migration that writes data, a backup or a restore. It is the wrong tool if you expect it to move you to another database on its own: it keeps the one you use unless you clearly ask to switch.
flowchart LR
A["DB work: schema, query, index, migration, backup"] --> B["ak-databases"]
B --> C["Result with evidence for the operation type"]
C --> D["Stop, no handoff"]Four ideas it always sticks to:
| Concept | Question | Example |
|---|---|---|
| Keep the current database | Which database and version does the project run? | If the project uses PostgreSQL 16, the skill only opens PostgreSQL docs and does not suggest MongoDB, unless you ask to switch. |
| Operation type | Is this a read, a performance change, a data write, or backup and admin? | "Add an index to orders" is a performance change. "Fill the phone column from contacts" is a write. "Restore a backup to staging" is admin. |
| Evidence by type | What has to exist before it counts as done? | Performance change: query plan and numbers before and after. Migration: a copy of what will be written, a rollback path, safe to rerun. Restore: right target, checked after restoring. |
| Model by data access | How is the data read and written? | Write-heavy with strict constraints (OLTP): normalized tables. Scan-heavy reporting (OLAP): split fact and dimension tables. Data that grows without limit: split it out and reference it. |
Note: EXPLAIN ANALYZE really runs the query, so when tuning, let it run on a copy instead of production.
Sample prompt (slow query):
/ak-databases The order list page of <app name> takes about 3 seconds.
Query: SELECT * FROM orders WHERE customer_id = $1 ORDER BY created_at DESC LIMIT 20
Constraints: production is PostgreSQL, only run EXPLAIN ANALYZE on the staging copy.
Done when: there is a query plan before and after, and the time drops clearly.This skill has no flags.
Below is the detailed version: how it runs, 5 situations with prompts, change history by ak version, and common pitfalls. The detailed version and the interactive page are for subscribers. Your agent can also search them through the portal's MCP.
Opens when your account has subscriber access
This guide is for subscribers
Once your account has access, the full piece, the interactive visual and the agent call all open.
- Sign in or create a modernEngineer accountReading access belongs to your account email.
- Choose a plan on the pricing page1, 3 or 12 months, paid by VietQR bank transfer. Access opens about a minute after the money arrives.
- Or redeem a Facebook subscriber codePeople supporting the page on Facebook get an activation code by message each month.
Already a subscriber? Sign in to read.
Use this piece in your agent
Get an API keyCopy the text below and paste it into Claude Code, Codex or whichever agent you use. The agent reads the piece and checks it against the repo you have open.
Read "ak-databases: schemas, queries and migrations for MongoDB, PostgreSQL" on modernEngineer and apply it to this repo.
1. Call the content_get tool of the modernengineer MCP server with locale "en", slug "ak-databases". If the modernengineer MCP server is not connected, stop and walk me through connecting it from https://modernengineer.dev/en/mcp.
2. Summarize the main steps of the piece and point out which apply to this repo.
3. Propose concrete changes and ask me before editing any file.Connect MCP in Claude Code (once)
claude mcp add --transport http modernengineer \
https://api.modernengineer.dev/mcp \
--header "Authorization: Bearer <API key>"Reading the full piece over MCP needs an API key from a subscriber account or one that bought this guide. Without access, the agent only gets the opening.
- Version
- v1.0.0
- Updated
- 22/10/2026
- Licence
- All rights reserved
- Slug
- ak-databases


