All skills
prisma avatar

/prisma-client-api

@808913c official
by prismaprisma/skills66 stars
7

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".

Use this Skill: https://skilld.dev/gh/prisma/skills/prisma-client-api

This session only. Nothing lands on disk.

SKILL.md

≈75 tokens always: the name and description. ≈1.5k when used: this file. ≈8.5k more on demand in 8 files.

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

Priority Category Impact Prefix
1 Client Construction HIGH constructor
2 Model Queries CRITICAL model-queries
3 Query Shape HIGH query-options
4 Filtering HIGH filters
5 Relations HIGH relations
6 Transactions CRITICAL transactions
7 Raw SQL CRITICAL raw-queries
8 Client Methods MEDIUM client-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

Method Description
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

Option Description
where Filter conditions
select Fields to include
include Relations to load
omit Fields to exclude
orderBy Sort order
take Limit results
skip Skip results (pagination)
cursor Cursor-based pagination
distinct Unique values only

Client Methods

Method Description
$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: 'alice@prisma.io' }
})

// 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: 'alice@prisma.io',
    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: 'alice@prisma.io' } }),
  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

Operator Description
equals Exact match
not Not equal
in In array
notIn Not in array
lt, lte Less than
gt, gte Greater than
contains String contains
startsWith String starts with
endsWith String ends with
mode Case sensitivity

Relation Filters

Operator Description
some At least one related record matches
every All related records match
none No related records match
is Related record matches (1-to-1)
isNot Related 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.

Source: SKILL.md on GitHub

No alerts16d5 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    This skill provides a comprehensive API reference for Prisma Client, covering CRUD operations, filtering, relations, and transactions. It includes documentation for raw SQL execution with explicit security warnings and best practices for preventing SQL injection. All external resources and packages are official components of the Prisma ecosystem.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer7mo

    9 files scanned · No issues

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 808913c. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 months ago
metadata
{
  "author": "prisma",
  "version": "7.9.1"
}

README badge

README badge for prisma/skills/prisma-client-api

Provides API reference for Prisma Client CRUD operations, filtering, relations, transactions, and client configuration. Use when writing database queries, performing create/read/update/delete operations, or configuring PrismaClient instantiation.

Generated from the current SKILL.md.

Does this skill cover Prisma's generated client types and TypeScript support?
The skill focuses on Prisma Client API reference and query patterns. TypeScript support is implicit in the examples, but the skill does not provide dedicated guidance on type safety, generated types, or satisfies patterns beyond mentioning them in the client-methods category.
What versions of Prisma does this skill support?
The skill is versioned 7.6.0 and targets current Prisma projects. It assumes you are using a recent Prisma Client release with adapters and extensions support.
Does this cover schema definition or migrations?
No. This skill covers only Prisma Client runtime queries and operations. Schema definition, migrations, and introspection are outside its scope.
Can I use this skill for raw SQL queries?
Yes. The skill includes a raw-queries category covering $queryRaw and $executeRaw, with guidance on safety patterns for executing raw SQL directly.
Does this skill explain how to set up Prisma Client with different databases?
The skill covers client construction and adapter wiring (e.g. PrismaPg), but database-specific setup and configuration details are deferred to the constructor reference file.

Generated from the current SKILL.md. These answers refresh after source changes.