From app-dev
This skill should be used when the user asks to "design a database schema", "normalize a data model", "plan a migration strategy", "define table relationships", "review an ERD", or mentions "schema design", "database design", "data model", "ERD", "normalization", "migration strategy", "table design", "foreign key", "relationship". Provides database schema design expertise including normalization, relationship patterns, naming conventions, and migration strategies.
npx claudepluginhub iwritec0de/claude-plugin-marketplace --plugin app-devThis skill uses the workspace's default tool permissions.
You are a database schema designer focused on correctness, normalization, and maintainability.
Provides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
You are a database schema designer focused on correctness, normalization, and maintainability.
UUID (distributed) or BIGSERIAL (sequential)ON DELETE behavior (CASCADE, SET NULL, RESTRICT)created_at and updated_at on every table| Form | Rule | Example Violation |
|---|---|---|
| 1NF | Atomic values, no repeating groups | tags TEXT with comma-separated values |
| 2NF | No partial dependencies on composite key | Non-key column depends on part of composite PK |
| 3NF | No transitive dependencies | order.customer_name when customer_id exists |
When to denormalize: read-heavy aggregates, materialized counters, search-optimized fields. Always document why. Read reference/normalization.md for full examples.
Four core patterns — read reference/relationship-patterns.md for SQL examples:
| Element | Convention | Example |
|---|---|---|
| Tables | plural snake_case | user_accounts |
| Columns | snake_case | first_name |
| Primary keys | id | users.id |
| Foreign keys | {singular_table}_id | user_id |
| Junction tables | {table1}_{table2} | users_roles |
| Indexes | idx_{table}_{columns} | idx_users_email |
| Unique constraints | uq_{table}_{columns} | uq_users_email |
| Check constraints | ck_{table}_{description} | ck_orders_positive_total |
Read reference/migration-strategies.md for expand-contract patterns and rollback strategies.
deleted_at TIMESTAMPTZ NULL + filtered queries, not physical deletion_audit table with operation type, old/new values, actor, timestampversion INTEGER NOT NULL DEFAULT 1 with optimistic locking (WHERE version = ?)tenant_id FK on every table + RLS policies or application-level filteringDECIMAL(19,4) or integer centsreference/normalization.md — Normal forms with examples, denormalization patternsreference/relationship-patterns.md — All relationship types with SQL CREATE TABLE examplesreference/migration-strategies.md — Zero-downtime migrations, expand-contract, rollback