db-runtime-clientlisted
Install: claude install-skill rajurayhan/ai-agent-framework
# DB Runtime Client vs Migration Client
Two separate database configs against the same Postgres instance — conflating them causes connection exhaustion under serverless load.
1. **Runtime client** (data-access layer, server handlers): **connection pooler, transaction mode** (e.g. port 6543 on Supabase). Only client application code imports.
2. **Migration client** (migration tooling/CI only): **direct** connection string. Never imported by application code.
## Rules
- One config per purpose; don't leak migration connection into app layer
- "Too many connections" in production → check if direct connection used at runtime by mistake
Cursor equivalent: `.cursor/rules/db-runtime-client.mdc`