drizzle
Drizzle ORM patterns, migrations, type-safe queries, and database schema design.
Best use case
drizzle is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Drizzle ORM patterns, migrations, type-safe queries, and database schema design.
Teams using drizzle should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/drizzle/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How drizzle Compares
| Feature / Agent | drizzle | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Drizzle ORM patterns, migrations, type-safe queries, and database schema design.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Drizzle Skill
Expert assistance for database operations with Drizzle ORM.
## Capabilities
- Define type-safe database schemas
- Write performant SQL queries
- Handle migrations
- Implement relations
- Configure multiple database dialects
## Schema Definition
```typescript
import { pgTable, text, timestamp, uuid, varchar } from 'drizzle-orm/pg-core';
import { relations } from 'drizzle-orm';
export const users = pgTable('users', {
id: uuid('id').primaryKey().defaultRandom(),
name: varchar('name', { length: 255 }).notNull(),
email: varchar('email', { length: 255 }).notNull().unique(),
createdAt: timestamp('created_at').defaultNow().notNull(),
});
export const posts = pgTable('posts', {
id: uuid('id').primaryKey().defaultRandom(),
title: varchar('title', { length: 255 }).notNull(),
content: text('content'),
authorId: uuid('author_id').references(() => users.id),
});
export const usersRelations = relations(users, ({ many }) => ({
posts: many(posts),
}));
```
## Queries
```typescript
// Select with relations
const result = await db.query.users.findMany({
with: { posts: true },
where: eq(users.name, 'John'),
});
// Insert
await db.insert(users).values({ name: 'John', email: 'john@example.com' });
// Update
await db.update(users).set({ name: 'Jane' }).where(eq(users.id, id));
```
## Target Processes
- database-setup
- backend-development
- nextjs-full-stackRelated Skills
process-builder
Scaffold new babysitter process definitions following SDK patterns, proper structure, and best practices. Guides the 3-phase workflow from research to implementation.
babysitter
Orchestrate via @babysitter. Use this skill when asked to babysit a run, orchestrate a process or whenever it is called explicitly. (babysit, babysitter, orchestrate, orchestrate a run, workflow, etc.)
yolo
Run Babysitter autonomously with minimal manual interruption.
user-install
Install the user-level Babysitter Codex setup.
team-install
Install the team-pinned Babysitter Codex workspace setup.
retrospect
Summarize or retrospect on a completed Babysitter run.
resume
Resume an existing Babysitter run from Codex.
project-install
Install the Babysitter Codex workspace integration into the current project.
plan
Plan a Babysitter workflow without executing the run.
observe
Observe, inspect, or monitor a Babysitter run.
model
Inspect or change Babysitter model-routing policy by phase.
issue
Run an issue-centric Babysitter workflow.