mcpField
D
database-design

database-design

github.com/vudovnData & databases8.2k255 installsUpdated 9w ago
Repository

About database-design

A database-design skill for developers planning schemas, choosing databases or ORMs, and tuning queries. It emphasizes context-based decisions, user preferences, and selective reading of focused references.

Key features

  1. 01Database and ORM selection guidance
  2. 02Schema design and relationship planning
  3. 03Indexing and query optimization topics
  4. 04Migration guidance, including serverless databases
  5. 05Selective reading through a content map

Use cases

  1. 01Choose a database and ORM for an application context
  2. 02Plan schema relationships and indexes
  3. 03Investigate N+1 queries and query performance
  4. 04Prepare schema changes and migrations

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/vudovn/ag-kit --skill database-design

After installing, type/database-designin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

database-selection.md
indexing.md
migrations.md
optimization.md
orm-selection.md
schema-design.md
scripts/
schema_validator.py

Details

From the project README

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

Comments

Markdown supported