What problem does it solve? Go developers often write database code with subtle bugs: leaked connections from unclosed rows, SQL injection from string concatenation, missing context propagation, and unhandled sql.ErrNoRows cases. This Skill enforces safe, explicit database access patterns for PostgreSQL, MySQL, MariaDB, and SQLite without ORM magic. ## Core Features & Use Cases - Safe Query Patterns: Enforces parameterized queries, context propagation, explicit rows.Close(), and sql.ErrNoRows translation into domain errors. - Transactions & Locking: Covers BeginTxx/defer Rollback/Commit flows, isolation levels, and SELECT FOR UPDATE for race-condition-free reads. - Performance & Testing Guidance: Connection pool sizing, batch inserts of 100-1000 rows, pgx COPY protocol, cursor-based pagination, and integration tests with build tags and testcontainers. - Use Case: When asked to write a funds transfer function, the Skill produces a serializable transaction using SELECT FOR UPDATE with deferred rollback, rather than unsafe read-modify-write code. ## Quick Start Ask the agent to write or review a Go repository function that queries PostgreSQL with sqlx, and it will apply these database best practices automatically.