prisma-8

Guides contract-first Prisma 8 development across contracts, migrations, queries, runtime wiring, and debugging.

Updated Sep 15, 2026
One-click install
npx skills add https://github.com/Furqan-7/bms-app --skill prisma-8-furqan-7
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: prisma-8
Source: https://github.com/Furqan-7/bms-app/tree/main/packages/prisma/.cursor/skills/prisma-8
Command: npx skills add https://github.com/Furqan-7/bms-app --skill prisma-8-furqan-7

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Prisma 8 (formerly Prisma Next) introduces a contract-first data layer that differs fundamentally from Prisma 7, and most training data about it is outdated. This Skill ships inside the installed Prisma packages and routes every Prisma 8 task to version-accurate reference documentation, preventing agents from applying stale Prisma 7 patterns that would break a Prisma 8 project. ## Core Features & Use Cases - Task routing to verified references: A routing table maps tasks (contract editing, migration authoring, query writing, runtime wiring, build integration, Supabase/RLS, debugging, upgrades, feedback) to dedicated reference files that carry the exact API surface of the installed version. - Contract-first workflow guidance: Covers editing contract.prisma or contract.ts, running prisma contract emit, planning and applying migrations, writing db.orm / db.sql queries, and wiring db.ts with middleware. - Structured error debugging: Teaches agents to read CLI and runtime error envelopes, route on dotted codes like MIGRATION.HASH_MISMATCH or BUDGET.TIME_EXCEEDED, and chain to the correct fix workflow. - Use Case: A developer asks how to add a pgvector embedding column to their Prisma 8 app. The Skill routes to the contract reference, which shows registering the pgvector extension descriptor in prisma.config.ts and declaring pgvector.Vector(length: 1536) in the contract source. ## Quick Start Ask the assistant to help with any Prisma 8 task, such as adding a model to your data contract or planning a migration, and it will open the matching reference file before writing code.

Frequently Asked Questions about prisma-8

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a model or field in Prisma 8?

Edit the data contract source (contract.prisma in PSL or contract.ts with the TypeScript builder), then run prisma contract emit to regenerate contract.json and contract.d.ts. The framework plans migrations from the contract diff automatically.

What is the difference between Prisma 8 and Prisma 7?

Prisma 8 is a contract-first data layer using contract.prisma or contract.ts with emitted contract.json and contract.d.ts artifacts, while Prisma 7 uses schema.prisma with @prisma/client. This Skill does not apply to Prisma 7 projects and its instructions would break them.

Does Prisma 8 support Next.js or Webpack build integration?

Only a first-party Vite plugin exists, supporting Vite 7 and 8 for dev-time contract emit. For Next.js, Webpack, esbuild, Rollup, or Turbopack, run prisma contract emit from a prebuild script as the documented workaround.

Why does my Prisma 8 query throw RUNTIME.TEMPORAL_UNAVAILABLE?

Temporal-backed columns require a global Temporal object, which only Node.js 26.8.2 and later ship natively. On earlier runtimes, import temporal-polyfill/full/global before the first query or author the column as DateString or TimestampString.

How do I fix MIGRATION.HASH_MISMATCH in Prisma 8?

This error means ops.json or migration.json were edited without self-emitting the migration package. Run node migrations/app/<dir>/migration.ts to re-emit the artifacts and restore hash consistency.

When should I not use this Prisma 8 skill?

Do not use it for projects on Prisma ORM 7 or earlier, which use schema.prisma and @prisma/client. Also verify the skill's library_version metadata matches the installed @prisma/orm-* version, running prisma skills sync if they differ.