Skip to content
Back to skills

Prisma Orm

ASecurity

Models databases and writes type-safe queries with Prisma ORM. Use for modern Node.js/TypeScript database access.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 1, 2026
ai-agentstypescriptgobashsqlnodeapidatabase

Works with

  • cli
  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 2 files and shows the line behind each finding

Scanned October 1, 2026

npx -y skills add ssrjkk/agent-skills --skill prisma-orm --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Prisma Orm?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Prisma Orm
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ssrjkk-prisma-orm-agent-skills/badge)](https://www.skillsdirectory.com/skills/ssrjkk-prisma-orm-agent-skills)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: prisma-orm
description: "Models databases and writes type-safe queries with Prisma ORM. Use for modern Node.js/TypeScript database access."
category: database
tags: [prisma, orm, database, typescript, postgresql]
models: [sonnet, opus]
version: 1.0.0
created: 2026-05-14
updated: 2026-09-29
---
# Prisma ORM

> Type-safe database access with auto-generated queries.

## Quick Start
```prisma
// schema.prisma
model User {
  id    Int     @id @default(autoincrement())
  email String  @unique
  name  String?
  posts Post[]
}

model Post {
  id        Int      @id @default(autoincrement())
  title     String
  content   String?
  author    User     @relation(fields: [authorId], references: [id])
  authorId  Int
}
```

```typescript
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();

// Type-safe query
const user = await prisma.user.create({
  data: {
    email: 'alice@example.com',
    posts: { create: { title: 'Hello Prisma' } }
  },
  include: { posts: true }
});
```

## When to Use
- Type-safe database access
- Rapid schema evolution with migrations
- Not for complex raw SQL queries

## Best Practices
- Define the schema as the single source of truth; generate the client.
- Use migrations for every schema change, committed with the code.
- Select only needed fields (`select`) to avoid over-fetching.
- Use `include`/`relationLoadStrategy` deliberately to prevent N+1.
- Batch writes with `createMany`/`updateMany`.
- Use transactions for multi-step consistency.

## Step-by-Step Instructions
1. Install: `npm install prisma @prisma/client`
2. Init: `npx prisma init`
3. Define models in `schema.prisma`
4. Migrate: `npx prisma migrate dev`
5. Generate client and query with types

## Dependencies
```bash
npm install prisma @prisma/client
npx prisma init
```

## Examples
Input: `prisma.user.findMany({ where: { email: { contains: "@" } } })` → Output: All users with @ in email

```typescript
// Paginated, type-safe query with relations
const page = await prisma.user.findMany({
  where: { role: "member" },
  select: { id: true, email: true, posts: { select: { title: true } } },
  orderBy: { id: "desc" },
  take: 20,
  skip: 40,
});
```
```typescript
// Transaction for consistency
await prisma.$transaction([
  prisma.order.create({ data: { userId, amount } }),
  prisma.user.update({ where: { id: userId }, data: { balance: { decrement: amount } } }),
]);
```

## Resources
- [Prisma Docs](https://www.prisma.io/docs)
- [Examples](./examples/)

## Troubleshooting
- **`PrismaClientInitializationError`** — the schema is out of sync.
  Re-run `npx prisma generate` and check the `DATABASE_URL` is reachable.
- **Introspection overwrites custom types** — treat `prisma db pull` as
  an initial scaffold; re-apply manual types and relations afterwards.
- **Relation queries are slow** — missing index. Add `@@index` on foreign
  keys and use the Prisma Data Platform for query analysis.
- **Migrations drift on team branches** — run `prisma migrate dev` early
  and often; rebase migrations instead of resetting the database.

## Validation
1. Schema validates: `npx prisma validate`
2. Migration applies successfully
3. Generated client is type-safe

Files in this skill

  • SKILL.md3.1 KB
  • SKILL.ru.md4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…