Golang Database
Best practice Go per database/sql, sqlx, pgx — parametrizzazione, transazioni, pooling, NULL.
Promosso
Cosa fa
Una checklist di best practice e una persona per scrivere o revisionare codice Go che parla con Postgres, MySQL, MariaDB o SQLite. Si attiva quando l'utente scrive, revisiona o fa debug di codice database/sql, sqlx o pgx, e rifiuta esplicitamente di generare schemi o SQL di migrazione, rimandandoli a una revisione umana. Include quattro documenti di approfondimento (transazioni, performance, testing, scanning), tutti presenti nel repo.
Rapporto di test
Gli ho dato un handler Go con SQL formattato come stringa e senza rows.Close(); ha indicato esattamente la regola violata (#5 'rows MUST be closed') e ha riscritto la funzione con sqlx.GetContext e la gestione esplicita di sql.ErrNoRows, invece di limitarsi a segnalare 'sembra insicuro.'
Testato il: 2026-07-13 · Claude Code 2.x (agent harness)
Installazione
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
Comandi e prompt di esempio
/golang-databaseBest practice Go per database/sql, sqlx, pgx — parametrizzazione, transazioni, pooling, NULL.
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Review this Go function that queries Postgres for SQL injection risksHow should I handle sql.ErrNoRows in Go when using sqlxDebug this pgx connection pool exhaustion issue in my Go service