option
HomeHome Skill Web Development prisma-client-api

prisma-client-api

prisma/skills prisma/skills

Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".

...Expand all
58
Updated time June 29, 2026

About prisma-client-api

The prisma-client-api skill provides a comprehensive reference for interacting with databases using Prisma Client. It streamlines the process of constructing queries, performing CRUD operations, applying filters, managing relations, and handling transactions within Prisma projects. By offering detailed guidance on client instantiation, model queries, query options, and raw SQL execution, this skill helps developers reduce errors and improve efficiency when working with relational databases. It is particularly useful for ensuring that queries are structured correctly and that advanced operations like nested writes and transactions are handled safely and effectively.

This skill covers a wide range of capabilities including model query methods such as findUnique, findMany, create, update, delete, upsert, and aggregation functions like count, aggregate, and groupBy. It also provides extensive support for query options, allowing developers to filter, select, include, omit, sort, paginate, and enforce distinct values. Prisma Client methods for lifecycle management, event subscriptions, raw SQL execution, and client extensions are also included. The skill ensures safe execution of raw SQL queries and provides guidance on using transactions, both array-based and interactive, to maintain data integrity.

Target users include backend developers, database administrators, and full-stack engineers working with JavaScript or TypeScript who need to efficiently interact with databases via Prisma. Typical use cases involve building web applications, APIs, and microservices where precise data retrieval, manipulation, and aggregation are critical. It is also suitable for teams that require a standard reference for consistent query patterns and best practices when implementing complex relational logic or performing batch operations in production environments.

FAQ

How do I instantiate a Prisma Client with a custom adapter?

You can instantiate Prisma Client by importing PrismaClient and your adapter, then passing the adapter configuration to the client constructor, as shown in the provided TypeScript example.

Which database operations are supported by Prisma Client?

Prisma Client supports full CRUD operations including findUnique, findMany, create, createMany, update, updateMany, upsert, delete, and deleteMany. It also supports aggregation and grouping methods.

Can Prisma Client handle transactions?

Yes, Prisma Client supports both array-based and interactive transactions using the $transaction method, allowing multiple queries to be executed safely within a single transaction.

Is raw SQL supported and safe to use?

Prisma Client provides $queryRaw and $executeRaw methods for executing raw SQL queries. These should be used carefully to avoid SQL injection, and the documentation provides guidance for safe usage.

What are the requirements to use this Prisma Client API skill?

You need a Prisma project with a generated client, a supported database, and an appropriate adapter. TypeScript or JavaScript environments are required for client instantiation and query execution.

View on GitHub

Prisma Client API Reference

Complete API reference for Prisma Client. This skill provides guidance on model queries, filtering, relations, and client methods for current Prisma projects.

When to Apply

Reference this skill when:

  • Writing database queries with Prisma Client
  • Performing CRUD operations (create, read, update, delete)
  • Filtering and sorting data
  • Working with relations
  • Using transactions
  • Configuring client options

Rule Categories by Priority

PriorityCategoryImpactPrefix
1Client ConstructionHIGHconstructor
2Model QueriesCRITICALmodel-queries
3Query ShapeHIGHquery-options
4FilteringHIGHfilters
5RelationsHIGHrelations
6TransactionsCRITICALtransactions
7Raw SQLCRITICALraw-queries
8Client MethodsMEDIUMclient-methods

Quick Reference

  • constructor - PrismaClient setup, adapter wiring, logging, and SQL commenter plugins
  • model-queries - CRUD operations and bulk operations
  • query-options - select, include, omit, sort, pagination
  • filters - scalar and logical filter operators
  • relations - relation reads and nested writes
  • transactions - array and interactive transaction patterns
  • raw-queries - $queryRaw and $executeRaw safety
  • client-methods - lifecycle methods, extensions, and satisfies patterns for prisma-client

Client Instantiation

import { PrismaClient } from '../generated/client'import { PrismaPg } from '@prisma/adapter-pg'const adapter = new PrismaPg({  connectionString: process.env.DATABASE_URL})const prisma = new PrismaClient({ adapter })

Model Query Methods

MethodDescription
findUnique()Find one record by unique field
findUniqueOrThrow()Find one or throw error
findFirst()Find first matching record
findFirstOrThrow()Find first or throw error
findMany()Find multiple records
create()Create a new record
createMany()Create multiple records
createManyAndReturn()Create multiple and return them
update()Update one record
updateMany()Update multiple records
updateManyAndReturn()Update multiple and return them
upsert()Update or create record
delete()Delete one record
deleteMany()Delete multiple records
count()Count matching records
aggregate()Aggregate values (sum, avg, etc.)
groupBy()Group and aggregate

Query Options

OptionDescription
whereFilter conditions
selectFields to include
includeRelations to load
omitFields to exclude
orderBySort order
takeLimit results
skipSkip results (pagination)
cursorCursor-based pagination
distinctUnique values only

Client Methods

MethodDescription
$connect()Explicitly connect to database
$disconnect()Disconnect from database
$transaction()Execute transaction
$queryRaw()Execute raw SQL query
$executeRaw()Execute raw SQL command
$on()Subscribe to events
$extends()Add extensions

Quick Examples

Find records

// Find by unique fieldconst user = await prisma.user.findUnique({  where: { email: '[email protected]' }})// Find with filterconst users = await prisma.user.findMany({  where: { role: 'ADMIN' },  orderBy: { createdAt: 'desc' },  take: 10})

Create records

const user = await prisma.user.create({  data: {    email: '[email protected]',    name: 'Alice',    posts: {      create: { title: 'Hello World' }    }  },  include: { posts: true }})

Update records

const user = await prisma.user.update({  where: { id: 1 },  data: { name: 'Alice Smith' }})

Delete records

await prisma.user.delete({  where: { id: 1 }})

Transactions

const [user, post] = await prisma.$transaction([  prisma.user.create({ data: { email: '[email protected]' } }),  prisma.post.create({ data: { title: 'Hello', authorId: 1 } })])

Rule Files

Detailed API documentation:

references/constructor.md        - PrismaClient constructor optionsreferences/model-queries.md      - CRUD operationsreferences/query-options.md      - select, include, omit, where, orderByreferences/filters.md            - Filter conditions and operatorsreferences/relations.md          - Relation queries and nested operationsreferences/transactions.md       - Transaction APIreferences/raw-queries.md        - $queryRaw, $executeRawreferences/client-methods.md     - $connect, $disconnect, $on, $extends

Filter Operators

OperatorDescription
equalsExact match
notNot equal
inIn array
notInNot in array
lt, lteLess than
gt, gteGreater than
containsString contains
startsWithString starts with
endsWithString ends with
modeCase sensitivity

Relation Filters

OperatorDescription
someAt least one related record matches
everyAll related records match
noneNo related records match
isRelated record matches (1-to-1)
isNotRelated record doesn't match

Resources

  • Prisma Client API Reference
  • CRUD Operations
  • Filtering and Sorting

How to Use

Pick the category from the table above, then open the matching reference file for implementation details and examples.

Install prisma-client-api

Download and extract the skill files to your .claude/skills/ directory.

Download ZIP

Clone the repository and copy the skill files to your project.

git clone https://github.com/prisma/skills/blob/main/prisma-client-api/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Copy Copy
Quick Setup: Copy the skill folder to .claude/skills/Claude will automatically detect and use the skill
Repository prisma/skills

Related Skills

github-code-search
Updated time June 29, 2026
drizzle-orm
Updated time June 29, 2026
clickhouse-io
Updated time June 29, 2026
coding-standards
Updated time June 29, 2026
OR