mcpbeat Sign in

Prisma Database Setup Agent Skill

Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.). Use when setting up a new project, changing databases, or troubleshooting connection issues. Triggers on "configure postgres", "connect to mysql", "setup mongodb", "sqlite setup".

6k tokens
context cost
the whole folder, loaded on every use
9
files
instructions only
2
copies elsewhere
how many repositories repackaged it
0
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/prisma/prisma-ai-test --skill prisma-database-setup

What comes with it

17 918 bytes besides the instruction
references/cockroachdb.md
references/mongodb.md
references/mysql.md
references/postgresql.md
references/prisma-client-setup.md
references/prisma-postgres.md
references/sqlite.md
references/sqlserver.md

The instruction itself

16 sections, as written by the author

Prisma Database Setup

Comprehensive guides for configuring Prisma ORM with various database providers.

When to Apply

Reference this skill when:

  • Initializing a new Prisma project
  • Switching database providers
  • Configuring connection strings and environment variables
  • Troubleshooting database connection issues
  • Setting up database-specific features
  • Generating and instantiating Prisma Client

Rule Categories by Priority

| Priority | Category | Impact | Prefix |

|----------|----------|--------|--------|

| 1 | Provider Guides | CRITICAL | provider names |

| 2 | Prisma Postgres | HIGH | prisma-postgres |

| 3 | Client Setup | CRITICAL | prisma-client-setup |

System Prerequisites

  • Node.js 20.19.0+
  • TypeScript 5.4.0+

Bun Runtime

If you're using Bun, run Prisma CLI commands with bunx --bun prisma ... so Prisma uses the Bun runtime instead of falling back to Node.js.

Supported Databases

| Database | Provider String | Notes |

|----------|-----------------|-------|

| PostgreSQL | postgresql | Default, full feature support |

| MySQL | mysql | Widespread support, some JSON diffs |

| SQLite | sqlite | Local file-based, no enum/scalar lists |

| MongoDB | mongodb | Mongo-specific workflow; do not apply SQL driver-adapter guidance |

| SQL Server | sqlserver | Microsoft ecosystem |

| CockroachDB | cockroachdb | Distributed SQL, Postgres-compatible |

| Prisma Postgres | postgresql | Managed serverless database |

Configuration Files

Your configuration shape depends on the provider and Prisma major version:

  • All providers use prisma/schema.prisma.
  • Prisma 7 SQL setups typically use prisma.config.ts for datasource URLs.
  • MongoDB projects should stay on Prisma 6.x, keep url = env("DATABASE_URL") in the schema, and continue using the classic MongoDB setup.

Driver Adapters

The standard SQL workflow uses a driver adapter. Choose the adapter and driver for your database and pass the adapter to PrismaClient.

| Database | Adapter | JS Driver |

|----------|---------|-----------|

| PostgreSQL | @prisma/adapter-pg | pg |

| CockroachDB | @prisma/adapter-pg | pg |

| Prisma Postgres (Node.js) | @prisma/adapter-pg | pg |

| Prisma Postgres (edge/serverless) | @prisma/adapter-ppg | @prisma/ppg |

| MySQL / MariaDB | @prisma/adapter-mariadb | mariadb |

| SQLite | @prisma/adapter-better-sqlite3 | better-sqlite3 |

| SQLite (Turso/LibSQL) | @prisma/adapter-libsql | @libsql/client |

| SQL Server | @prisma/adapter-mssql | node-mssql |

MongoDB should not follow the Prisma 7 SQL adapter workflow. Use the latest Prisma 6.x release for MongoDB projects and do not install a SQL @prisma/adapter-* package for it.

Example (PostgreSQL):

import 'dotenv/config'
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 })

Prisma Client Setup (Required)

Prisma Client must be installed and generated for any database.

  • Install Prisma CLI and Prisma Client:
   npm install prisma --save-dev
   npm install @prisma/client
  • Add a generator block (prisma-client requires an explicit output path):
   generator client {
     provider = "prisma-client"
     output   = "../generated"
   }
  • Generate Prisma Client:
   npx prisma generate
  • For SQL providers, instantiate Prisma Client with the database-specific driver adapter:
   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 })
  • Re-run prisma generate after every schema change.

Quick Reference

PostgreSQL

datasource db {
  provider = "postgresql"
}

generator client {
  provider = "prisma-client"
  output   = "../generated"
}

MySQL

datasource db {
  provider = "mysql"
}

generator client {
  provider = "prisma-client"
  output   = "../generated"
}

SQLite

datasource db {
  provider = "sqlite"
}

generator client {
  provider = "prisma-client"
  output   = "../generated"
}

MongoDB

datasource db {
  provider = "mongodb"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
}

For MongoDB, stay on the latest Prisma 6.x line and keep the connection URL in schema.prisma. Do not move a MongoDB project to the Prisma 7 SQL adapter setup.

Rule Files

See individual rule files for detailed setup instructions:

references/postgresql.md
references/mysql.md
references/sqlite.md
references/mongodb.md
references/sqlserver.md
references/cockroachdb.md
references/prisma-postgres.md
references/prisma-client-setup.md

How to Use

Choose the provider reference file for your database, then apply references/prisma-client-setup.md to complete client generation and adapter setup. For MongoDB, use references/mongodb.md instead of copying the SQL adapter examples or Prisma 7 config pattern.

How to use it

Copy the folder

Take prisma/prisma-ai-test-prisma-database-setup from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference npm, npx. Without those the skill loads but fails at the first command.