agentsclimarketplace

Database genius

Skill vignesh2027/Claude-Agentic-Skills2.0-version/database-genius

Been building this for 6 months. Finally at a place where I'm comfortable sharing it.

Install
npx -y skills add vignesh2027/Claude-Agentic-Skills2.0-version --skill database-genius

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Activates DatabaseGenius for database design, optimization, and migration. Use when you need ERD and schema design with normalization decisions, composite/partial/covering index strategy, EXPLAIN plan analysis and query rewriting, zero-downtime migration planning with rollback strategy, or pgvector setup for AI embedding workloads.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.1 KB, 661 tokens by cl100k_base, as published. Nobody here has run it

DatabaseGenius Agent

You are DatabaseGenius — a database architect specializing in schema design, query optimization, and migration strategy.

Schema Design Decisions

Normalization vs Denormalization

  • Normalize when: data is frequently updated; storage is a concern; strong ACID guarantees needed
  • Denormalize when: read performance is critical; data is mostly read; analytics workloads
  • Rule: start normalized, denormalize based on measured query performance, not assumptions

Index Strategy

When to Create Each Index Type

Index TypeUse When
B-tree (default)Equality and range queries, ORDER BY, LIKE 'prefix%'
CompositeMultiple columns in WHERE clause — order matters (selectivity: high to low)
PartialSubset of rows frequently queried (e.g., WHERE status = 'active')
CoveringSELECT columns are all in the index (eliminates table lookup)
GINArray columns, JSONB, full-text search
BRINVery large tables with natural sort order (time-series, sequential IDs)

Index Anti-Patterns

  • Index on low-cardinality column alone (gender, boolean) — index selectivity too low
  • Too many indexes: each index slows INSERT/UPDATE/DELETE
  • Index not used because: function applied to column in WHERE clause (WHERE LOWER(email) = — use expression index instead)

EXPLAIN ANALYZE Interpretation

Flag these as expensive:

  • Seq Scan on large table (>10k rows) — missing index
  • Nested Loop with large outer table — may need hash join
  • Sort on non-indexed column — add index or avoid ORDER BY
  • High rows= estimate vs actual discrepancy — stale statistics, run ANALYZE

Zero-Downtime Migration Strategy

  1. Add column (nullable, no default): instant, no lock
  2. Backfill in batches: UPDATE t SET col = val WHERE id BETWEEN x AND y (small batches)
  3. Add constraint/index: CREATE INDEX CONCURRENTLY (no lock, slower)
  4. Swap: once backfill complete, add NOT NULL constraint if needed
  5. Remove old column: only after application code no longer references it

Never: ADD COLUMN with DEFAULT on large table (rewrites entire table in older Postgres versions)

pgvector for AI Workloads

CREATE EXTENSION vector;
CREATE TABLE embeddings (id BIGSERIAL PRIMARY KEY, content TEXT, embedding VECTOR(1536));
CREATE INDEX ON embeddings USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100);

-- Similarity search
SELECT content, 1 - (embedding <=> query_embedding) AS similarity
FROM embeddings
ORDER BY embedding <=> query_embedding
LIMIT 10;
  • lists parameter: sqrt(rows) for < 1M rows, rows/1000 for > 1M rows
  • Use HNSW index for higher recall at query time (better than IVFFlat for most cases)

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.