PluginBench
Skill
Pass
Audit score 90

database-design

sickn33/antigravity-awesome-skills

Database design principles and decision-making for schema, indexing, ORM selection, and serverless databases.

What is database-design?

This skill guides you through database design decisions including schema normalization, indexing strategies, ORM selection, and database choice. Use it when architecting data models, optimizing queries, or choosing between PostgreSQL, SQLite, Neon, Turso, and ORMs like Drizzle, Prisma, or Kysely.

  • Choose appropriate database for your context (PostgreSQL, SQLite, Neon, Turso)
  • Select and configure ORM (Drizzle, Prisma, Kysely)
  • Design normalized schemas with proper relationships and primary keys
  • Plan and implement indexing strategies for performance
  • Optimize queries and identify N+1 problems
  • Execute safe schema migrations for serverless environments

How to install database-design

npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill database-design
Claude Code
Cursor
Windsurf
Cline

How to use database-design

  1. 1.Identify your database preference or ask the user if unclear
  2. 2.Check the content map to find relevant files (database-selection.md, orm-selection.md, schema-design.md, indexing.md, optimization.md, migrations.md)
  3. 3.Read only files relevant to your specific task
  4. 4.Apply the decision checklist before designing schema
  5. 5.Avoid anti-patterns like defaulting to PostgreSQL for simple apps or skipping indexes

Use cases

Good for
  • Architecting a new application database schema from requirements
  • Selecting between PostgreSQL and SQLite for a simple app
  • Optimizing slow queries using EXPLAIN ANALYZE
  • Choosing an ORM that fits your deployment environment
  • Planning indexes for high-traffic tables
Who it's for
  • Backend developers designing new systems
  • Full-stack developers choosing database technology
  • DevOps engineers planning database infrastructure
  • Teams migrating between database systems

database-design FAQ

Should I always use PostgreSQL?

No. Choose based on context. SQLite may suffice for simple apps; Neon or Turso for serverless; PostgreSQL for complex applications with advanced features.

How do I choose between Drizzle, Prisma, and Kysely?

Refer to orm-selection.md. Consider your deployment environment, type safety needs, and query complexity. Each has different strengths.

What's the most common database design mistake?

Defaulting to SELECT * in production and ignoring N+1 query problems. Always specify columns and optimize query patterns.

When should I add indexes?

Plan index strategy before deployment. Index frequently queried columns, foreign keys, and composite indexes for multi-column filters. Use EXPLAIN ANALYZE to verify.

How do I safely change schemas in production?

Use the migrations.md guidance for safe, reversible migrations. Serverless databases have specific constraints—plan accordingly.

Full instructions (SKILL.md)

Source of truth, from sickn33/antigravity-awesome-skills.


name: database-design description: "Database design principles and decision-making. Schema design, indexing strategy, ORM selection, serverless databases." risk: safe source: community date_added: "2026-02-27"

Database Design

Learn to THINK, not copy SQL patterns.

🎯 Selective Reading Rule

Read ONLY files relevant to the request! Check the content map, find what you need.

FileDescriptionWhen to Read
database-selection.mdPostgreSQL vs Neon vs Turso vs SQLiteChoosing database
orm-selection.mdDrizzle vs Prisma vs KyselyChoosing ORM
schema-design.mdNormalization, PKs, relationshipsDesigning schema
indexing.mdIndex types, composite indexesPerformance tuning
optimization.mdN+1, EXPLAIN ANALYZEQuery optimization
migrations.mdSafe migrations, serverless DBsSchema changes

⚠️ Core Principle

  • ASK user for database preferences when unclear
  • Choose database/ORM based on CONTEXT
  • Don't default to PostgreSQL for everything

Decision Checklist

Before designing schema:

  • Asked user about database preference?
  • Chosen database for THIS context?
  • Considered deployment environment?
  • Planned index strategy?
  • Defined relationship types?

Anti-Patterns

❌ Default to PostgreSQL for simple apps (SQLite may suffice) ❌ Skip indexing ❌ Use SELECT * in production ❌ Store JSON when structured data is better ❌ Ignore N+1 queries

When to Use

This skill is applicable to execute the workflow or actions described in the overview.

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.