Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

prisma-schema

verified

Prisma schema design patterns

View on GitHub

Marketplace

alphaagent-team

the-answerai/alphaagent-team

Plugin

aai-stack-prisma

stack

Repository

the-answerai/alphaagent-team

plugins/aai-stack-prisma/skills/prisma-schema/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/the-answerai/alphaagent-team/blob/main/plugins/aai-stack-prisma/skills/prisma-schema/SKILL.md -a claude-code --skill prisma-schema

Installation paths:

Claude
.claude/skills/prisma-schema/
Powered by add-skill CLI

Instructions

# Prisma Schema Skill

Patterns for designing Prisma schemas.

## Basic Schema Structure

### Model Definition

```prisma
model User {
  id        String   @id @default(uuid())
  email     String   @unique
  name      String?
  role      Role     @default(USER)
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt

  posts    Post[]
  profile  Profile?
  sessions Session[]

  @@index([email])
  @@map("users")
}

enum Role {
  USER
  ADMIN
  MODERATOR
}
```

### Field Types

```prisma
model Example {
  // Scalar types
  id        String   @id @default(uuid())
  name      String
  bio       String?  // Optional
  age       Int
  price     Float
  active    Boolean  @default(true)
  count     BigInt

  // Dates
  createdAt DateTime  @default(now())
  updatedAt DateTime  @updatedAt
  deletedAt DateTime?

  // Database-specific
  data      Json
  content   String   @db.Text
  amount    Decimal  @db.Decimal(10, 2)
  metadata  Bytes
}
```

### ID Strategies

```prisma
// UUID (recommended for distributed systems)
model User {
  id String @id @default(uuid())
}

// CUID (shorter, URL-safe)
model Post {
  id String @id @default(cuid())
}

// Auto-increment
model Legacy {
  id Int @id @default(autoincrement())
}

// Composite ID
model OrderItem {
  orderId   String
  productId String

  @@id([orderId, productId])
}
```

## Relationships

### One-to-One

```prisma
model User {
  id      String   @id @default(uuid())
  profile Profile?
}

model Profile {
  id     String @id @default(uuid())
  bio    String?
  userId String @unique
  user   User   @relation(fields: [userId], references: [id], onDelete: Cascade)
}
```

### One-to-Many

```prisma
model User {
  id    String @id @default(uuid())
  posts Post[]
}

model Post {
  id       String @id @default(uuid())
  title    String
  authorId String
  author   User   @relation(fields: [authorId], references: [id])

  @@index([authorId])
}
```

### Many-to-Many (Implicit)

```prisma
model Post {
  id         String   

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
4822 chars