mcpbeat

Database Design

dokhacgiakhoa/database-design

Database design principles and decision-making.

3k tokens
context cost
the whole folder, loaded on every use
8
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
505
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Dokhacgiakhoa/Agent-Skills-4-Vibe-Coding-CLI --skill database-design

What comes with it

11 654 bytes besides the instruction
database-selection.md
indexing.md
migrations.md
optimization.md
orm-selection.md
schema-design.md
scripts/schema_validator.py

The instruction itself

5 sections, as written by the author

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.

| 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

How to use it

Copy the folder

Take dokhacgiakhoa/database-design from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.