PostgreSQL and Drizzle ORM

SkillDatabases & data

Proactively apply when creating APIs, backends, or data models. Triggers on PostgreSQL, Postgres, Drizzle, drizzle-orm, drizzle-kit, database, schema, pgTable, tables, columns, indexes, queries, migrations, ORM, relations, relational queries, joins, transactions, SQL, connection pooling, PgBouncer,

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the PostgreSQL and Drizzle ORM skill

What this skill tells your AI

The instructions your AI receives, as published by ccheney/robust-skills in skills/postgres-drizzle/SKILL.md and read by ahel’s review.

Match database work to the project's installed API and deployment context. The user's explicit instructions take precedence over this skill's guidelines.

Establish the database contract

Use the relevant schema/query, migration history, and requested behavior as input. For Drizzle code, inspect installed drizzle-orm/drizzle-kit versions and the driver; for SQL, establish the PostgreSQL version when a version-specific feature matters.

The references cover PostgreSQL 17/18 and distinguish Drizzle's 0.x relations() API from the v1 defineRelations() API. Do not mix them or infer the installed API from an npm dist-tag. When the version is unknown, use imports/lockfiles or ask for the missing version before giving version-dependent code.

Keep changes consistent

  • Declare database foreign keys separately from ORM relation metadata. Match nullability, uniqueness, and delete behavior to the actual relationship.
  • Use the transaction handle for every statement in that transaction; a query through the outer connection can escape it.
  • Diagnose slow queries from plans and workload evidence. Evaluate indexes on referencing columns; PostgreSQL does not create them automatically.
  • Generate and inspect migration SQL for schema changes. Preserve applied migration history; use a new migration for subsequent changes.
  • Establish the target before applying migrations or push. Authoring or reviewing SQL does not itself require executing it against a database. Continue execution when the user has already authorized that target and action.
  • Treat EXPLAIN ANALYZE as query execution, including writes. Use a suitable test target or non-executing plan when execution is outside the task.

Deliver the requested SQL/code, migration, or diagnosis, with compatibility assumptions and relevant verification. If execution is requested but the target is missing, prepare the change and ask only for that missing target.

References

Read the topic required for the current operation.

TaskReference
Tables, types, constraints, indexes, generated columnsSCHEMA.md
Reads, writes, joins, transactions, prepared queriesQUERIES.md
Relationships and version-specific relational query APIsRELATIONS.md
drizzle-kit configuration, migration generation and rolloutMIGRATIONS.md
PostgreSQL features, RLS, partitioning, JSONB, full-text searchPOSTGRES.md
Query plans, indexing, pooling, pagination, bulk workPERFORMANCE.md
Compact syntax or connection setup lookupCHEATSHEET.md

For APIs or support not established by the installed project and references, consult version-matched Drizzle and PostgreSQL documentation.

Signals

GitHub stars
59
Forks
3
Last commit
Sep 2026

ahel review

  • S4info
    community integration — published by ccheney, not postgres

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Catalog kind
skill
Gateway key
postgres-drizzle
Source
github.com/ccheney/robust-skills