api-database-prismalisted
Install: claude install-skill agents-inc/skills
# Database with Prisma ORM
> **Quick Guide:** Use Prisma ORM for type-safe database queries with auto-generated TypeScript types. Schema-first design with declarative migrations. Use `include` for relations, `$transaction` for atomic operations. Singleton pattern required in development to avoid connection exhaustion. Always use `tx` (not `prisma`) inside interactive transaction callbacks.
---
<critical_requirements>
## CRITICAL: Before Using This Skill
> **All code must follow project conventions in CLAUDE.md** (kebab-case, named exports, import ordering, `import type`, named constants)
**(You MUST use the singleton pattern for PrismaClient in development to prevent connection exhaustion from hot reloading)**
**(You MUST use `tx` parameter (NOT `prisma`) inside interactive transaction callbacks to ensure atomicity)**
**(You MUST use `include` or nested `select` for relational queries - avoid N+1 by fetching relations in the same query)**
**(You MUST define `@relation` with explicit `fields` and `references` for all foreign key relationships)**
</critical_requirements>
---
**Auto-detection:** prisma, @prisma/client, PrismaClient, prisma.schema, prisma migrate, findUnique, findMany, include, $transaction
**When to use:**
- Type-safe database queries with auto-generated TypeScript types
- Schema-first development with declarative migrations
- Applications requiring strong relational data modeling
- Rapid prototyping with Prisma Studio GUI
**When NOT to use:**
-