# Build Safer Prisma Client Queries

Prisma Client APIs can be difficult to navigate across queries, filters, relations, transactions, and configuration. This reference provides focused patterns and examples for common Prisma Client tasks.

## Install

```bash
npx skillstore add prisma/prisma-client-api
```

## Metadata

- Status: approved
- Slug: prisma-prisma-client-api
- Version: 7.6.0
- Author version: 7.6.0
- Skillstore revision: r2
- Version status: valid
- Tree hash: 0509b8da31dfa0112f75440153ca2446d442213908176cefb9165da941f6f902
- Author: prisma
- GitHub username: prisma
- License: MIT
- Repository: https://github.com/prisma/skills/tree/1a9f427e9fe2137298abbcc1a6f372db92e8c40d/prisma-client-api
- Ref: ebdfe608f5de2b66ff37ab4af12af8ac4f5e8006
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: external\_commands, filesystem, env\_access, network
- Quality score: 70
- Public page: https://skillstore.pages.dev/skills/prisma-prisma-client-api
- Manifest: https://skillstore.pages.dev/api/skills/prisma-prisma-client-api/manifest

## Capabilities

- Explains PrismaClient construction with driver adapters, Accelerate, logging, transaction defaults, and singleton patterns.
- Covers common model methods for reading, creating, updating, deleting, counting, aggregating, and grouping records.
- Shows field selection, relation inclusion, omission, filtering, sorting, cursor pagination, and distinct results.
- Documents relation queries, relation filters, nested writes, and relation counts.
- Demonstrates sequential and interactive transactions with isolation, rollback, and transaction-client guidance.
- Compares parameterized raw query APIs, dynamic SQL fragments, database-specific queries, and explicitly unsafe variants.

## Use Cases

- Implement backend data access: Choose typed Prisma methods, filters, relations, and result shapes for an application feature.
- Design reliable transactions: Select sequential or interactive transactions and define suitable timeouts, isolation, and rollback behavior.
- Review query security: Check raw SQL parameterization, sensitive field selection, query logging, and destructive operations before release.

## Prompt Templates

### Create a basic query

```
Using my User model requirements, explain a Prisma Client findMany query with filters, sorting, and a result limit.
```

### Add relations and pagination

```
Design a Prisma query that selects specific user fields, includes recent posts, and uses cursor pagination. Explain each option.
```

### Plan an account transaction

```
Propose an interactive transaction for transferring account funds. Include validation, isolation guidance, rollback behavior, and limits on external work.
```

### Audit an advanced data layer

```
Audit my Prisma Client setup and raw SQL approach for injection, connection handling, transaction boundaries, sensitive logging, and type safety.
```

## Limitations

- This reference does not inspect your schema, execute queries, manage migrations, or verify database results.
- Generated-client import paths and model names require adaptation to your project structure.
- The skill declares version 7.6.0; verify APIs against your installed Prisma packages.
- Raw SQL and query logging examples still require application-specific security review.

## Best Practices

- Prefer generated Prisma types and parameterized query APIs for application data.
- Select only required fields, bound result sizes, and use stable cursor pagination.
- Keep transactions short and redact sensitive query parameters before logging.

## Anti Patterns

- Do not interpolate untrusted input into unsafe raw SQL strings.
- Do not log database parameters without redaction and production controls.
- Do not run unfiltered bulk updates or deletes without explicit review.

## Security Audit

- Audited at: 2026-07-23T17:29:38.909\+00:00
- Summary: All 151 static findings are false positives caused by Markdown syntax, TypeScript templates, relative imports, environment configuration, SQL examples, and documentation links. No command execution, path traversal, environment-file reading, reconnaissance, unauthorized network behavior, or prompt injection was found. One medium concern remains because examples log raw query parameters without redaction and may expose sensitive data.

## Stats

- Views: 0
- Downloads: 4
- Favorites: 0
- Popularity score: 0
