db-enforcer
Enforces database integrity for PostgreSQL and Prisma systems. Use when designing schemas, writing migrations, or configuring Row-Level Security. Use for type-safe SQL, naming alignment, constraint validation, zero-trust RLS policies, UUIDv7 primary keys, and zero-downtime deployments.
What this skill does
# DB Enforcer ## Overview Enforces data integrity and architectural consistency between the TypeScript application layer and the PostgreSQL persistence layer. Prevents type drift by ensuring CHECK constraints mirror TypeScript types, migrations are generated before applying changes, and Row-Level Security protects every table. **When to use:** Schema design, migration planning, RLS policy authoring, Prisma model mapping, constraint auditing, zero-downtime deployments. **When NOT to use:** Application-level business logic, frontend state management, non-PostgreSQL databases. For full RLS auditing, performance tuning, and compliance validation, use the `database-security` skill instead. ## Quick Reference | Pattern | API/Tool | Key Points | | --------------------- | ----------------------------------- | ---------------------------------------------------- | | Type-to-DB sync | `prisma migrate dev --create-only` | Generate SQL before applying changes | | Naming alignment | `@map` / `@@map` | snake_case in SQL, camelCase in TS | | Primary keys | `DEFAULT uuidv7()` | Sequential, globally unique, fast indexing (PG 18+) | | Virtual columns | `GENERATED ALWAYS AS (...) VIRTUAL` | Zero disk cost, computed on read (PG 18+) | | Temporal uniqueness | `EXCLUDE USING gist` | Prevent overlapping ranges natively | | NOT VALID constraints | `ADD CONSTRAINT ... NOT VALID` | Add constraints without table locks | | TypedSQL | `prisma.$queryRawTyped()` | Type-safe raw SQL via `.sql` files | | Relation emulation | `relationMode = "prisma"` | Integrity in FK-less environments (GA since 4.8.0) | | Soft deletes | Prisma `$extends` | Cross-cutting concern via client extensions | | RLS standard | `(select auth.uid()) = user_id` | Default own-data access policy with initPlan caching | | Team RLS | `EXISTS` subquery | Permission checks via join tables | | Column-level security | PostgreSQL Views | Hide sensitive columns from public APIs | ## Synchronization Protocol Every schema modification MUST follow these steps: 1. **Type-to-DB Verification**: When adding an enum or union in TS, verify the equivalent CHECK constraint in SQL 2. **Migration-First Generation**: Generate SQL migrations using `prisma migrate dev --create-only` BEFORE applying 3. **Naming Alignment**: Enforce snake_case in SQL and camelCase in TS via explicit `@map`/`@@map` directives 4. **Integrity Audit**: Run `prisma validate` and check for missing indices on relation scalars 5. **RLS Verification**: Confirm every new table has RLS enabled with appropriate policies 6. **Lock Assessment**: Evaluate whether migration requires `CREATE INDEX CONCURRENTLY` or `NOT VALID` patterns ## PostgreSQL Version Requirements Several patterns in this skill require specific PostgreSQL versions: | Feature | Minimum Version | Fallback | | ------------------ | --------------- | --------------------------------------------- | | `uuidv7()` | PostgreSQL 18 | `gen_random_uuid()` (UUIDv4) via `pgcrypto` | | Virtual columns | PostgreSQL 18 | `STORED` generated columns (PG 12+) | | `EXCLUDE USING` | PostgreSQL 9.0 | Application-level overlap checks | | `NOT VALID` | PostgreSQL 9.1 | Schedule constraint addition during downtime | | `security_invoker` | PostgreSQL 15 | Use `security_definer` with restricted grants | ## Common Mistakes | Mistake | Correct Pattern | | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | | Running SQL changes manually without migrations | Generate numbered migrations with `prisma migrate dev --create-only` before applying | | Using auto-increment or raw IDs exposed in URLs | Use UUIDv7 for globally unique, non-enumerable identifiers | | Skipping CHECK constraints on enums or unions | Add database-level CHECK constraints that mirror TypeScript types | | Mixing snake_case and camelCase without explicit mapping | Use `@map` and `@@map` to enforce snake_case in SQL and camelCase in TypeScript | | Tables without Row-Level Security policies | Apply RLS policies to every table, defaulting to `(select auth.uid()) = user_id` | | DROP or RENAME column in a single deployment | Use expand-and-contract: add new column, dual-write, backfill, switch reads, drop old | | Adding NOT NULL to large tables with full lock | Add column as NULL first, backfill, then add NOT NULL with NOT VALID | | Creating indices without CONCURRENTLY | Use `CREATE INDEX CONCURRENTLY` in raw SQL migrations to avoid table locks | | Using `auth.uid()` directly in RLS without subselect | Wrap in `(select auth.uid())` to trigger initPlan caching | | Assuming `uuidv7()` works on all PG versions | Verify PostgreSQL 18+; fall back to `gen_random_uuid()` on older versions | ## Naming Conventions Prisma models use camelCase in TypeScript and must map to snake_case in PostgreSQL: | Layer | Convention | Enforced By | | ---------- | ----------- | ------------------------ | | TypeScript | camelCase | Prisma model field names | | PostgreSQL | snake_case | `@map` / `@@map` | | Enums | UPPER_SNAKE | CHECK constraints | | Indices | snake_case | `idx_table_column` | ## Deployment Pipeline Migrations follow a strict pipeline order: 1. `prisma migrate dev --create-only` -- generate and review SQL locally 2. `prisma validate` -- verify schema consistency 3. Apply to staging/preview database and run integration tests 4. `prisma migrate deploy` -- apply in CI/CD pipeline to production 5. Monitor for lock contention and query plan regressions ## Relationship to Other Skills - **`database-security`**: Covers full RLS auditing, PGAudit configuration, Supabase-specific patterns, Convex auth guards, and compliance validation. Use `database-security` for in-depth policy review and access simulation. Use `db-enforcer` for schema design and migration patterns that include RLS as part of the integrity workflow. ## Delegation - **Audit existing schema for missing constraints or indices**: Use `Explore` agent - **Plan a zero-downtime migration strategy for production databases**: Use `Plan` agent - **Execute a full schema refactor with type alignment and RLS setup**: Use `Task` agent - **Review RLS policies for bypasses and performance issues**: Use `database-security` skill ## References - [PostgreSQL integrity patterns, UUIDv7, virtual columns, and temporal constraints](references/postgres-integrity.md) - [Prisma architecture, TypedSQL, extensions, and edge-first patterns](references/prisma-architecture.md) - [Migration safety protocols, destructive changes, and rollback strategies](references/migration-safety.md) - [Row-Level Security, column-level security, and audit logging](references/rls-security.md)
Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.