From Claude DB
Audits connection management for Postgres — detects serverless functions opening direct connections, transaction-mode pooler misuse, and pool sizing against backend max_connections. Feeds the Performance & Scale score.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-db:db-connection-poolingThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Connection exhaustion is a top cause of production outages and a pure **Performance & Scale** (axis
Connection exhaustion is a top cause of production outages and a pure Performance & Scale (axis
performance) concern. Feeds relational Pooling w10 (and the Conexión category in every NoSQL
profile). The dominant modern failure is serverless functions opening one direct connection each and
saturating the backend.
max_connections. Recommend a transaction-mode pooler or a serverless driver
(Neon/@neondatabase/serverless, Supabase pooler, PlanetScale HTTP).transaction
mode, Supabase port 6543) while relying on session features it breaks: server-side prepared
statements, SET/session GUCs, LISTEN/NOTIFY, advisory-session locks.max × instance count exceeding backend max_connections, or a
pool so small it serializes requests.(cores*2) + effective_spindles as the server-side ceiling on usefully-busy backend
connections — not a per-app-pool target.max_connections — leave superuser_reserved_connections (and room for
other apps/replication) free so an admin can still connect when the pool saturates.SET/session GUCs, LISTEN/NOTIFY, session-scoped advisory locks).Feeds performance only (relational Pooling w10; Conexión/Pooling in NoSQL profiles).
Detect the runtime (serverless markers per references/detection-signals.md) and the client/driver
(pg, postgres, @neondatabase/serverless, @prisma/client, connection URL host/port). Flag direct
connections from serverless, port-6543/pgbouncer=true URLs combined with prepared-statement usage,
and pool config. Backend max_connections and live connection counts are runtime → needs_api at
Tier-0.
SELECT current_setting('max_connections') AS max_conn,
count(*) AS open_conns,
count(*) FILTER (WHERE state = 'idle') AS idle
FROM pg_stat_activity;
Method connection_introspect. open_conns approaching max_conn confirms an exhaustion finding as
established. The serverless-direct and pooler-mode findings are confirmable from config alone
(directional); their impact under load is needs_api without Tier-2.
Emit findings per schema/finding.schema.json. Examples:
M15.app.serverless_direct_pg — serverless function with a direct Postgres connection, no pooler
(severity:4, warn, axis performance, confidence directional, fixable: proposed — switch to
pooler/serverless driver).M15.app.prepared_stmt_on_txn_pooler — server-side prepared statements over a transaction-mode
pooler (severity:3, warn, directional, fixable: proposed).M15.app.pool_exceeds_max_connections — pool × instances > backend max (severity:3, warn,
established Tier-1 / directional, fixable: proposed).Each finding: evidence.observed quotes the connection config / driver import verbatim with the
credential redacted; verification.reproduce is the catalog query above referencing $DATABASE_URL;
expected_impact is banded + confidence-tagged (no naked %).
established.proposed/advisory, never auto.npx claudepluginhub hainrixz/claude-db --plugin claude-dbProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.