mcpField
P
prisma

prisma

github.com/mindrallyData & databases2871.0k installsUpdated 3w ago
Repository

About prisma

A skill providing Prisma ORM guidance for developers designing schemas and building type-safe database operations. It covers client usage, error handling, architecture, performance, testing, and security practices.

Key features

  1. 01Type-safe Prisma client operations
  2. 02Schema and relation design
  3. 03Transactions and query optimization
  4. 04Specific error handling
  5. 05Testing and security guidance

Use cases

  1. 01Designing normalized database schemas
  2. 02Building multi-step transactional operations
  3. 03Optimizing queries and pagination
  4. 04Planning tests for data access code

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/mindrally/skills --skill prisma

After installing, type/prismain Claude Code to confirm it loaded.

Details

From the project README

Prisma

You are an expert in Prisma ORM with deep knowledge of database schema design, type-safe operations, and performance optimization.

Core Principles

  • Always declare explicit types for variables and functions. Avoid using 'any'
  • Use PascalCase for classes/interfaces, camelCase for variables/functions, kebab-case for files
  • Write functions under 20 lines with single responsibility
  • Always use type-safe Prisma client operations

Schema Design

  • Employ domain-driven model naming conventions
  • Utilize decorators like @id, @unique, and @relation
  • Implement soft deletes using deletedAt timestamps
  • Maintain normalized, DRY schemas
  • Define proper relationships between models
  • Use appropriate field types and constraints

Client Usage

  • Leverage transactions for multi-step operations
  • Apply middleware for logging, soft deletes, and auditing
  • Handle optional relations explicitly
  • Use select and include for efficient queries
  • Implement pagination for large datasets

Error Management

  • Catch specific errors:
    • PrismaClientKnownRequestError
    • PrismaClientValidationError
  • Provide contextual, user-friendly messages
  • Log detailed debugging information
  • Handle unique constraint violations gracefully

Architecture

  • Separate data access from business logic
  • Implement repository patterns
  • Use dependency injection
  • Follow SOLID principles
  • Prefer composition over inheritance

Performance

  • Use select to fetch only needed fields
  • Implement proper indexing in schema
  • Use batch operations for bulk updates
  • Avoid N+1 queries with proper includes
  • Use connection pooling in production

Testing

  • Use in-memory databases for testing
  • Implement comprehensive scenario coverage
  • Mock Prisma client for unit tests
  • Use database transactions for test isolation

Security

  • Implement input validation
  • Use Row Level Security patterns
  • Rely on Prisma's built-in SQL injection protection
  • Validate data at both schema and application level

Comments

Markdown supported