Token导航 LogoToken导航

Agent Skill · 研究检索

drizzle-orm(Drizzle ORM)

用于辅助数据库表结构、查询语句、迁移脚本和数据维护任务。它适合让 Agent 分析 schema、编写 SQL、排查查询问题、整理索引或生成迁移建议。使用时需要明确数据库类型、连接环境和目标表,区分只读分析与写入变更;涉及删除、更新、迁移和批量导入时,应优先 dry-run、备份或事务保护,避免误操作。

drizzle-orm 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证为 MIT,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 16,563。

总安装 7,109周安装 303GitHub Stars 88下载 3,518核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:drizzle-orm(Drizzle ORM)
来源仓库:https://github.com/blockmatic/basilic
仓库路径:skills/drizzle-orm
安装命令:
npx skills add https://github.com/blockmatic/basilic --skill 'Drizzle ORM'
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/blockmatic/basilic --skill 'Drizzle ORM'

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

Drizzle ORM v0.44+ 的官方支持技能,助力 PostgreSQL/MySQL/SQLite 数据建模。提供 schema 定义、关系映射、迁移脚本生成与类型安全查询编写指导。强调 dry-run 优先原则,重大变更前务必备份数据库并启用事务保护。不支持驱动配置与连接池设置,需另行处理基础设施层问题。

drizzle-orm 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/drizzle-orm

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/blockmatic/basilic --skill 'Drizzle ORM';命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

drizzle-orm 怎么安装?

在终端执行 npx skills add https://github.com/blockmatic/basilic --skill 'Drizzle ORM'。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

drizzle-orm 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

drizzle-orm 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

drizzle-orm 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

drizzle-orm 用的人多吗?

公开数据是累计安装 7,109 次,近一周安装 303 次,下载 3,518 次,GitHub 88 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

drizzle-orm 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
drizzle-orm

Drizzle ORM · 本页

7,10988需要联网MIT通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Skill: drizzle-orm

Scope

  • Applies to: Drizzle ORM v0.44+ for PostgreSQL, MySQL, SQLite - schema definitions, type-safe queries, migrations, relations
  • Does NOT cover: Database driver setup, connection pooling configuration, other ORMs

Assumptions

  • Drizzle ORM v0.44+
  • Drizzle Kit v0.31+ (dev dependency) for migrations
  • PostgreSQL, MySQL, or SQLite database
  • TypeScript v5+ with strict mode
  • ESM module system

Principles

  • Schemas defined using table builders (pgTable, mysqlTable, sqliteTable) with typed columns
  • Column types match database constraints (varchar with length, timestamp with mode)
  • Indexes defined in table definition second parameter using index() helper
  • Identity columns (generatedAlwaysAsIdentity) preferred over serial in PostgreSQL
  • Query helpers (eq, and, or, like) provide type-safe SQL construction
  • Relational query builder (db.query.*) preferred for complex relations
  • Type inference via $inferSelect and $inferInsert eliminates manual types
  • Migrations generated with drizzle-kit generate (not push in production)
  • Prepared statements optimize frequently executed queries
  • Schemas organized by domain (one file per entity/table)
  • Transactions (db.transaction) ensure atomic multi-step operations

Constraints

MUST

  • Use Drizzle Kit for migrations (drizzle-kit generate, drizzle-kit migrate)
  • Define column types matching database constraints
  • Use query helpers instead of raw SQL

SHOULD

  • Use relations for type-safe joins
  • Use relational query builder for complex relations
  • Use transactions for multi-step operations
  • Use prepared statements for frequently executed queries
  • Export types via $inferSelect and $inferInsert
  • Handle DrizzleQueryError for structured error handling
  • Organize schemas by domain (one file per entity)
  • Use selective field loading (not full rows)
  • Use identity columns over serial in PostgreSQL
  • Specify length for varchar columns
  • Use index() helper in table definitions
  • Use PGLite for testing PostgreSQL schemas

AVOID

  • Raw SQL unless necessary
  • Manual type assertions (use inferred types)
  • Skipping migration generation
  • serial in new PostgreSQL tables (use identity columns)
  • Over-indexing (index only where queries justify)
  • Fetching full rows when only few columns needed
  • push in production (use generate + migrate)
  • String-based timestamp mode when DB supports date/time types

Interactions

  • Works with nextjs Server Components and API routes
  • Complements fastify for API development

Patterns

Schema Definition

import { index, pgTable, text, timestamp, varchar } from 'drizzle-orm/pg-core'

export const users = pgTable(
  'users',
  {
    id: text('id').primaryKey(),
    email: varchar('email', { length: 255 }).notNull().unique(),
    createdAt: timestamp('created_at').defaultNow().notNull(),
    updatedAt: timestamp('updated_at').defaultNow().notNull(),
  },
  table => [index('users_email_idx').on(table.email)],
)

export type User = typeof users.$inferSelect
export type NewUser = typeof users.$inferInsert

Identity Columns

import { pgTable, integer, generatedAlwaysAsIdentity } from 'drizzle-orm/pg-core'

export const posts = pgTable('posts', {
  id: integer('id').primaryKey().generatedAlwaysAsIdentity(),
})

Query Builder

import { eq } from 'drizzle-orm'

const user = await db
  .select()
  .from(users)
  .where(eq(users.id, userId))
  .limit(1)

const userWithPosts = await db.query.users.findFirst({
  where: eq(users.id, userId),
  with: { posts: true },
})

const userEmail = await db
  .select({ email: users.email })
  .from(users)
  .where(eq(users.id, userId))

Transactions

await db.transaction(async (tx) => {
  const [user] = await tx.insert(users).values(userData).returning()
  await tx.insert(profiles).values({ userId: user.id, ...profileData })
})

Prepared Statements

import { placeholder } from 'drizzle-orm'

const getUserByEmail = db
  .select()
  .from(users)
  .where(eq(users.email, placeholder('email')))
  .prepare('get_user_by_email')

const user = await getUserByEmail.execute({ email: 'user@example.com' })

Error Handling

import { DrizzleQueryError } from 'drizzle-orm'

try {
  const user = await db.select().from(users).where(eq(users.id, userId))
} catch (error) {
  if (error instanceof DrizzleQueryError) {
    if (error.cause?.code === '23505') {
      throw new Error('User already exists')
    }
  }
  throw error
}

Relations

import { relations } from 'drizzle-orm'

export const usersRelations = relations(users, ({ many }) => ({
  posts: many(posts),
}))

export const postsRelations = relations(posts, ({ one }) => ({
  author: one(users, {
    fields: [posts.authorId],
    references: [users.id],
  }),
}))

Database Connection

import { drizzle } from 'drizzle-orm/node-postgres'
import { Pool } from 'pg'
import * as schema from './schema'

const pool = new Pool({ connectionString: process.env.DATABASE_URL })
export const db = drizzle(pool, { schema })

Drizzle Kit Config

import { defineConfig } from 'drizzle-kit'

export default defineConfig({
  dialect: 'postgresql',
  schema: './src/db/schema/index.ts',
  out: './src/db/migrations',
  dbCredentials: { url: process.env.DATABASE_URL! },
  migrations: {
    table: '__drizzle_migrations',
    schema: 'public',
  },
  verbose: true,
  strict: true,
})

References

平台分布

Claude Code

25.51%
按下载量换算897

windsurf

25.18%
按下载量换算886

trae

18.36%
按下载量换算646

OpenCode

11.9%
按下载量换算419

Codex

7.71%
按下载量换算271

Antigravity

3.05%
按下载量换算107

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

继续浏览同类 Skills