AgentSkillsCN

Backend Models

为PostgreSQL(Supabase/Bun.sql)与Firestore(Firebase)定义数据库模型与数据结构,合理选择数据类型、约束条件、关联关系及校验规则。在创建或修改数据库模型、ORM实体定义、Prisma Schema,或Firestore文档结构时,可使用此技能。适用于处理模型文件(models/*.ts、entities/*.ts、schema.prisma、models/*.py、Models/*.cs),定义数据库关联关系、设置校验规则,或落实数据完整性约束。此技能确保SQL采用snake_case命名,NoSQL则使用camelCase;为SQL引入必填的时间戳字段(created_at/updated_at),为SQL使用UUID,为Firestore则采用自动生成的ID;在SQL中建立外键约束并搭配索引列,在Supabase上应用行级安全策略(RLS),为Firestore制定严格的访问控制规则;在SQL中遵循规范化设计(3NF),同时为Firestore的读取性能进行反规范化处理;此外,还需为AI嵌入式向量数据做好pgvector的配置。

SKILL.md
--- frontmatter
name: Backend Models
description: Define database models and schemas with proper data types, constraints, relationships, and validation rules for PostgreSQL (Supabase/Bun.sql) and Firestore (Firebase). Use this skill when creating or modifying database models, ORM entity definitions, Prisma schemas, or Firestore document structures. Apply when working on model files (models/*.ts, entities/*.ts, schema.prisma, models/*.py, Models/*.cs), defining database relationships, setting up validation rules, or implementing data integrity constraints. This skill ensures snake_case naming for SQL and camelCase for NoSQL, required timestamps (created_at/updated_at), UUIDs for SQL and auto-generated IDs for Firestore, foreign key constraints with indexed columns, Row Level Security (RLS) policies for Supabase, strict Firestore security rules, normalized data for SQL (3NF) with denormalization for Firestore read performance, and pgvector setup for AI embeddings.

Backend Models

When to use this skill:

  • When creating new database model or entity definitions
  • When modifying existing ORM models or Prisma schema definitions
  • When working on model files (models/.ts, entities/.ts, schema.prisma, models/.py, Models/.cs)
  • When defining relationships between database entities (one-to-many, many-to-many)
  • When adding database constraints (NOT NULL, UNIQUE, foreign keys)
  • When implementing model-level validation rules
  • When setting up timestamps (created_at, updated_at) on tables
  • When choosing appropriate data types for fields
  • When adding indexes to foreign keys or frequently queried columns
  • When balancing normalization with practical query performance needs
  • When configuring Supabase Row Level Security (RLS) policies
  • When writing Firestore security rules for document validation
  • When setting up pgvector columns and HNSW indexes for AI embeddings
  • When designing Firestore subcollections vs root collections
  • When implementing query-driven data modeling for NoSQL

This Skill provides Claude Code with specific guidance on how to adhere to coding standards as they relate to how it should handle backend models.

Instructions

For details, refer to the information provided in this file: backend models