db-skills — Database Management Skill Collection
Author: Simon-Pierre Boucher Contact: contact@spboucher.ai
Ten ultra-sharp database-management skills following the method in
../RESEARCH-SYNTHESIS.md, grounded in current
practice (3NF-first design, measure-before-tuning with EXPLAIN ANALYZE /
pg_stat_statements, index every foreign key, expand→migrate→contract
zero-downtime migrations, 3-2-1 backups with restore drills). PostgreSQL is
the default dialect; deviations for MySQL/SQLite are noted where they matter.
All pass python3 ../tools/validate_skills.py.
The collection and its boundaries
| Skill | Handles | Explicitly does NOT handle |
|---|---|---|
writing-sql-queries |
correct, readable, parameterized SQL; CTEs; window functions; NULL traps | schema design → designing-database-schemas; tuning → optimizing-sql-performance |
designing-database-schemas |
domain modeling, 3NF, keys, types, constraints, naming | query writing; migration mechanics; NoSQL → modeling-nosql-data |
optimizing-sql-performance |
EXPLAIN ANALYZE, indexes, plans, N+1, keyset pagination | incidents → troubleshooting-databases; fresh schema design |
managing-database-migrations |
versioned, immutable, reversible migrations; zero-downtime patterns | target-schema design; one-off data fixes |
backing-up-databases |
scheduled backups, logical vs physical, PITR, 3-2-1, restore drills | HA/replication setup; migrations |
securing-databases |
least-privilege roles, injection defense, secrets, TLS, RLS, auditing | app-level auth (sessions/JWT); general firewalls |
administering-postgresql |
roles, config knobs, autovacuum, monitoring, upgrades | app query tuning; backup strategy |
managing-sqlite |
WAL, pragmas, transactions, safe backup, type affinity | server databases; generic SQL writing |
modeling-nosql-data |
access-pattern-first modeling, embed vs reference, key design, TTL | relational schemas; JSON columns in SQL databases |
troubleshooting-databases |
incident triage runbook: connections → locks → slow queries → disk → replication | proactive tuning; server configuration |
Shared conventions
- Description = WHAT + "Use when …" (literal phrases) + "Do not use for …"
- Measure before changing anything; capture evidence before restarting anything
- One default per decision (tool, key type, journal mode) with an escape hatch
- Every workflow ends with a validation step (test restore, rollback rehearsal, EXPLAIN before/after)
SKILL.md<150 lines; depth inreferences/patterns.md(with TOC)