# 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](../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 in `references/patterns.md` (with TOC)