Golang Database

Buenas prácticas de database/sql, sqlx y pgx en Go — parametrización, transacciones, pooling, NULLs.

Por samber · samber/cc-skills-golang

Probado · Funciona ★ 8.8/10

Golang Database — Buenas prácticas de database/sql, sqlx y pgx en Go — parametrización, transacciones, pooling, NULLs.

Qué hace

Una checklist de buenas prácticas y una persona para escribir o revisar código Go que habla con Postgres, MySQL, MariaDB o SQLite. Se activa cuando el usuario está escribiendo, revisando o depurando código database/sql, sqlx o pgx, y se niega explícitamente a generar esquemas o SQL de migración, dejando eso a revisión humana. Incluye cuatro documentos de referencia detallados (transacciones, rendimiento, testing, scanning), todos presentes en el repositorio.

Informe de la prueba

Le pasé un handler de Go con SQL formateado como string y sin rows.Close(); nombró la regla exacta violada (#5 'rows MUST be closed') y reescribió la función con sqlx.GetContext y manejo explícito de sql.ErrNoRows, en lugar de limitarse a señalar que "parece inseguro".

Probado el: 2026-07-13 · Claude Code 2.x (agent harness)

Instalación

git clone https://github.com/samber/cc-skills-golang
cd cc-skills-golang
mkdir -p ~/.claude/skills
cp -r skills/golang-database ~/.claude/skills/golang-database

Comandos y prompts de ejemplo

  • /golang-databaseBuenas prácticas de database/sql, sqlx y pgx en Go — parametrización, transacciones, pooling, NULLs.

Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):

  • Review this Go function that queries Postgres for SQL injection risks
  • How should I handle sql.ErrNoRows in Go when using sqlx
  • Debug this pgx connection pool exhaustion issue in my Go service