Generated banner for Prisma Client API
Generated logo for Prisma Client API

Prisma Client API

PrismaOfficialCreated by prisma

  • Skill
  • Tool integration
  • Software development
  • MIT
  • No issues found

From the author

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".
— the description by prisma

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The Prisma Client API reference provides developers with essential guidance for interacting with databases using Prisma. It covers the full lifecycle of the Prisma Client, from instantiation and configuration to executing complex CRUD operations, managing transactions, and utilizing advanced features like query extensions and raw SQL execution. This skill serves as a central hub for understanding how to structure queries, apply filters, manage relations, and optimize database interactions within a TypeScript environment.

What it does

  • Provides syntax and usage patterns for CRUD operations like findMany, create, update, and delete.
  • Explains how to configure the PrismaClient instance, including adapters, logging, and transaction settings.
  • Details the use of query options such as select, include, omit, and pagination parameters.
  • Outlines filter operators and relation query patterns for complex data retrieval.
  • Documents client lifecycle methods like $connect, $disconnect, $transaction, and $extends.
  • Offers guidance on using raw SQL queries and type-safe query fragments.

When to use it

  • When writing or debugging database queries in a project using Prisma ORM.
  • When setting up or configuring a new PrismaClient instance.
  • When implementing complex data filtering, sorting, or relational queries.
  • When needing to perform bulk operations or manage database transactions.
  • When extending Prisma Client functionality with custom methods or computed fields.

Advantages

  • Centralized access to official Prisma Client API patterns and best practices.
  • Supports type-safe development through clear examples of TypeScript integration.
  • Simplifies complex tasks like transaction management and relation handling.
  • Provides clear guidance on performance-related configurations like query plan caching.

Usage examples

“How do I find multiple users with a specific role and sort them by creation date?”
The agent provides a findMany query example using the 'where' filter for the role and 'orderBy' for the createdAt field.
“Show me how to create a user and their associated posts in one transaction.”
The agent demonstrates a nested create operation within the data object of a prisma.user.create call.
“How can I log all SQL queries executed by Prisma?”
The agent explains how to configure the 'log' option in the PrismaClient constructor with the 'query' level.
“How do I add a computed field to my user model using $extends?”
The agent provides a code snippet showing the use of $extends with the 'result' property to define a computed fullName field.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/prisma/prisma-client-api/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip prisma-client-api.zip -d .agents/skills

Documentation by prisma

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 field
const user = await prisma.user.findUnique({
  where: { email: '[email protected]' }
})

// Find with filter
const 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 options
references/model-queries.md      - CRUD operations
references/query-options.md      - select, include, omit, where, orderBy
references/filters.md            - Filter conditions and operators
references/relations.md          - Relation queries and nested operations
references/transactions.md       - Transaction API
references/raw-queries.md        - $queryRaw, $executeRaw
references/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

How to Use

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

Files

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
prisma
Publisher
Prisma (Official)
Source
prisma/skills · prisma-client-api · commit 8ea289b
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by prisma.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download prisma-client-api.zip