Golang Database

Best practices voor Go database/sql, sqlx, pgx — parameterisatie, transacties, pooling, NULLs.

Door samber · samber/cc-skills-golang

Getest · Werkt ★ 8.8/10

Golang Database — Best practices voor Go database/sql, sqlx, pgx — parameterisatie, transacties, pooling, NULLs.

Wat het doet

Een best-practices-checklist en persona voor het schrijven of reviewen van Go-code die met Postgres, MySQL, MariaDB of SQLite praat. Triggert wanneer de gebruiker database/sql-, sqlx- of pgx-code schrijft, reviewt of debugt, en weigert expliciet schema's of migratie-SQL te genereren — dat laat hij over aan menselijke review. Levert vier diepgaande referentiedocumenten (transacties, performance, testen, scanning), allemaal aanwezig in de repo.

Testrapport

Gaf hem een Go-handler met string-geformatteerde SQL en geen rows.Close(); hij benoemde exact de geschonden regel (#5 'rows MUST be closed') en herschreef de functie met sqlx.GetContext en expliciete sql.ErrNoRows-afhandeling in plaats van alleen 'ziet er onveilig uit' te melden.

Getest op: 2026-07-13 · Claude Code 2.x (agent harness)

Installatie

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

Commando's en voorbeeldprompts

  • /golang-databaseBest practices voor Go database/sql, sqlx, pgx — parameterisatie, transacties, pooling, NULLs.

Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):

  • 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