Claude-skill-registry db-designer

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/db-designer" ~/.claude/skills/majiayu000-claude-skill-registry-db-designer && rm -rf "$T"
manifest: skills/data/db-designer/SKILL.md
source content

Database Designer

Infer schema from requirements. User never writes SQL.

Process

  1. Analyze requirements

    • "Users can save expenses" → users, expenses tables
    • "Track categories" → categories table
    • "Monthly reports" → consider aggregation
  2. Design schema

    • Tables and columns
    • Relationships (1:1, 1:N, N:M)
    • Indexes for performance
  3. Generate migration

    • Create migration file
    • Apply to database
    • Update ORM models

Schema Patterns

FeatureTables
Authusers, sessions
Blogposts, comments, tags
E-commerceproducts, orders, order_items
Taskstasks, projects, labels
Socialusers, posts, follows, likes

Template-Specific

Supabase (nextjs-supabase)

-- Auto-generated, user doesn't see
create table expenses (
  id uuid primary key default gen_random_uuid(),
  user_id uuid references users(id),
  amount decimal not null,
  category text,
  created_at timestamptz default now()
);

PostgreSQL (fastapi-postgres)

# Alembic migration auto-generated
class Expense(Base):
    id = Column(UUID, primary_key=True)
    user_id = Column(UUID, ForeignKey('users.id'))
    amount = Column(Numeric, nullable=False)

Drizzle (hono-drizzle)

// Schema auto-generated
export const expenses = pgTable('expenses', {
  id: uuid('id').primaryKey().defaultRandom(),
  userId: uuid('user_id').references(() => users.id),
  amount: numeric('amount').notNull(),
});

User Experience

User: "I want to track expenses by category"

Internally:

  1. Create expenses table
  2. Create categories table
  3. Add foreign key
  4. Generate models
  5. Create migration
  6. Apply to database

User sees: "✅ Ready to save expenses"