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
- 01Database and ORM selection guidance
- 02Schema design and relationship planning
- 03Indexing and query optimization topics
- 04Migration guidance, including serverless databases
- 05Selective reading through a content map
Use cases
- 01Choose a database and ORM for an application context
- 02Plan schema relationships and indexes
- 03Investigate N+1 queries and query performance
- 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-designAfter installing, type/database-designin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
database-selection.mdindexing.mdmigrations.mdoptimization.mdorm-selection.mdschema-design.mdscripts/schema_validator.pyDetails
From the project READMEDatabase 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.
| File | Description | When to Read |
|---|---|---|
database-selection.md | PostgreSQL vs Neon vs Turso vs SQLite | Choosing database |
orm-selection.md | Drizzle vs Prisma vs Kysely | Choosing ORM |
schema-design.md | Normalization, PKs, relationships | Designing schema |
indexing.md | Index types, composite indexes | Performance tuning |
optimization.md | N+1, EXPLAIN ANALYZE | Query optimization |
migrations.md | Safe migrations, serverless DBs | Schema 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