Agent Skills: PostgreSQL Database Standards

Enforce repository patterns, zero-downtime migrations, and indexing standards for PostgreSQL with TypeORM or Prisma. Use when defining entities, writing migrations, adding RLS policies, or optimizing query performance. (triggers: **/*.entity.ts, prisma/schema.prisma, **/migrations/*.sql, TypeOrmModule, PrismaService, PostgresModule)

UncategorizedID: hoangnguyen0403/agent-skills-standard/database-postgresql

Install this agent skill to your local

pnpm dlx add-skill https://github.com/HoangNguyen0403/agent-skills-standard/tree/HEAD/skills/database/database-postgresql

Skill Files

Browse the full folder contents for database-postgresql.

Download Skill

Loading file tree…

skills/database/database-postgresql/SKILL.md

Skill Metadata

Name
database-postgresql
Description
Apply PostgreSQL standards for migrations, indexing, transactions, and ORM boundaries. Use when editing entities, Prisma schema, migrations, RLS, or query-performance work for PostgreSQL.

PostgreSQL Database Standards

Priority: P0 (FOUNDATIONAL)

Rules

  • Keep PostgreSQL choices driven by real read/write paths.
  • Use explicit migrations; never rely on synchronize: true in production.
  • Treat RLS, constraints, and indexes as first-class schema behavior; use queryRunner.query() when raw migration SQL is required.
  • Put multi-step consistency inside one transaction boundary.

Verify

  • [ ] Destructive schema change uses expand -> backfill -> contract rollout.
  • [ ] Query shape has matching indexes for filter, join, and sort paths.
  • [ ] Pagination strategy is explicit.
  • [ ] Transaction boundary matches one business action.
  • [ ] RLS or tenant predicates are supported by indexes.

Anti-Patterns

  • No N+1 queries: Use query builders or eager-load relations instead of lazy-loading in loops.
  • No heavy RLS joins: Keep RLS predicates simple; move complex logic to query/view layer.
  • No synchronize in production: Always run explicit migrations; synchronize: true destructive.
  • No blind index sprawl: each index needs a query owner.

References