From Claude DB
Audits a project's database design against managed platform constraints: version currency, pricing trade-offs, and per-platform feature support (foreign keys, serverless drivers, RLS).
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-db:db-platform-fitThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
M21 audits the project against constraints imposed by the **managed platform**, not the raw engine.
M21 audits the project against constraints imposed by the managed platform, not the raw engine. The same Postgres schema behaves differently on Neon (serverless, scale-to-zero, branching) vs RDS vs Supabase (RLS-centric, PostgREST). Findings feed both axes: feature gaps (FK support, RLS) are design; connection/cold-start/version issues are performance.
confidence: directional. With WebFetch you MAY cite the vendor's published
version page; quote it, don't paraphrase a number you can't source.FOREIGN_KEY_CHECKS
awareness. → design + performance, sev 4 when FKs are declared but unenforceable.PRAGMA foreign_keys must be ON; limited concurrency,
DB size ceilings.db-connection-pooling (M15).db-security-access (M10); RLS-off on an exposed table is sev 5 (design).Detect the platform from references/detection-signals.md signals (supabase/ dir,
@planetscale/database, @neondatabase/serverless, wrangler.toml [[d1_databases]],
@libsql/client, cockroach/yugabyte in connection string/deps). Parse declared engine version from
config/migrations. Cross-reference declared FK constraints against the platform's FK-support reality.
Detect direct-PG drivers (pg, Pool) used in a serverless/edge entrypoint.
SELECT version(); and SHOW server_version;.SELECT VERSION(); and SELECT @@foreign_key_checks;; inspect whether declared
FKs actually exist: SELECT * FROM information_schema.table_constraints WHERE constraint_type='FOREIGN KEY';SELECT relname, relrowsecurity FROM pg_class WHERE relkind='r'; and pg_policies.PRAGMA foreign_keys;. When the engine/platform isn't reachable → needs_api, never a
false pass.Emit per schema/finding.schema.json. Example ids:
M21.platform.fk_unenforced_on_vitess — FK constraints declared but PlanetScale/Vitess won't enforce
them (fail, severity 4, axis both, confidence directional static / established with Tier-1).M21.platform.rls_off_supabase — table exposed via Supabase API with RLS disabled (fail, severity 5,
axis design, confidence established with Tier-1).M21.platform.engine_version_old — clearly-old engine major (warn, severity 3, axis both,
confidence directional; no fabricated EOL date — cite vendor page or defer).M21.platform.serverless_direct_pg — direct long-lived PG connection from edge/serverless (warn,
severity 4, axis performance; cross-ref M15).
Each finding: evidence.observed quotes the real config/DDL/version string verbatim (secrets redacted);
verification.reproduce is a runnable command above using $DATABASE_URL; verification.method is
connection_introspect, schema_introspect, or manual_review; expected_impact carries
{axis, confidence, magnitude, rationale} — banded, never a naked %.WebFetch (quote it) or defer with directional and a "confirm on vendor page" note.directional and never caps. FK-unenforced caps only at sev 4
(not 5) unless it directly enables orphan financial/auth rows. Unreachable platform → needs_api.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.