database-design

Guide database design, technology selection, and schema optimization.

6|Updated Feb 6, 2026
One-click install
npx skills add https://github.com/paulojalowyj/openkit --skill database-design-paulojalowyj
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: database-design
Source: https://github.com/paulojalowyj/openkit/tree/main/.opencode/skills/database-design
Command: npx skills add https://github.com/paulojalowyj/openkit --skill database-design-paulojalowyj

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires python3, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill guides users through the complex process of database design, ensuring optimal schema structure, efficient indexing, and appropriate technology choices for their specific application needs.

Core Features & Use Cases

  • Technology Selection: Helps choose between relational, serverless, and edge databases (PostgreSQL, Neon, Turso, SQLite).
  • ORM Guidance: Assists in selecting the right Object-Relational Mapper (Drizzle, Prisma, Kysely).
  • Schema Design: Provides principles for normalization, primary keys, and relationships.
  • Performance Tuning: Offers strategies for indexing and query optimization, including avoiding N+1 problems.
  • Safe Migrations: Outlines best practices for schema changes with zero downtime.

Quick Start

Use the database-design skill to help select the best database for a new web application.

Frequently Asked Questions about database-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose between PostgreSQL, Neon, Turso, and SQLite for my application's database design?

Database design technology selection depends on your deployment context: PostgreSQL suits traditional relational workloads, Neon offers serverless scaling, Turso targets edge environments, and SQLite provides embedded local storage. Evaluate your application's latency and scaling requirements to select the appropriate database technology.

What is the best way to prevent N+1 query problems and optimize database indexing?

Database indexing and query optimization prevent N+1 problems by strategically applying indexes to foreign keys and frequently filtered columns. Proper schema design combined with ORM eager loading configurations eliminates redundant queries and significantly improves database performance.

How do I perform safe schema migrations with zero downtime during database design?

Safe schema migrations with zero downtime require applying database design best practices like expanding schemas in phases, dual-writing during transitions, and backfilling data before removing old columns. This ensures database availability while executing structural changes.

Should I use Drizzle, Prisma, or Kysely as my ORM for database schema design?

ORM selection for database schema design depends on your control needs: Drizzle offers SQL-like flexibility, Prisma provides a strongly typed schema-first workflow, and Kysely delivers pure TypeScript query building. Match the ORM to your team's preferred database abstraction level.

Do I need Python3 to run the database-design skill for schema optimization?

Python3 is required to run the database-design skill's scripts and access its references. Ensure your environment has Python3 installed to execute the schema optimization, indexing, and migration guidance workflows.

What are the core principles of database schema design for normalization and primary keys?

Database schema design principles for normalization involve reducing data redundancy by structuring relationships properly, selecting appropriate primary keys, and ensuring referential integrity. Correct normalization balances query performance against data integrity requirements.