Golang Database

Dobre praktyki Go database/sql, sqlx, pgx — parametryzacja, transakcje, pulowanie połączeń, wartości NULL.

Autor: samber · samber/cc-skills-golang

Testowano · Działa ★ 8.8/10

Golang Database — Dobre praktyki Go database/sql, sqlx, pgx — parametryzacja, transakcje, pulowanie połączeń, wartości NULL.

Co robi ten skill

Lista dobrych praktyk i persona do pisania lub przeglądu kodu Go łączącego się z Postgres, MySQL, MariaDB lub SQLite. Uruchamia się, gdy użytkownik pisze, przegląda lub debuguje kod database/sql, sqlx lub pgx, i jawnie odmawia generowania schematów czy SQL-a migracyjnego, pozostawiając to do przeglądu przez człowieka. Zawiera cztery dogłębne dokumenty referencyjne (transakcje, wydajność, testowanie, skanowanie), wszystkie obecne w repo.

Raport z testu

Podano mu handler Go z SQL-em budowanym przez formatowanie łańcuchów i bez rows.Close(); wskazał dokładnie naruszoną regułę (#5 'rows MUSZĄ być zamykane') i przepisał funkcję z użyciem sqlx.GetContext oraz jawnej obsługi sql.ErrNoRows, zamiast po prostu oznaczyć to jako 'wygląda niebezpiecznie'.

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

Instalacja

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

Komendy i przykładowe prompty

  • /golang-databaseDobre praktyki Go database/sql, sqlx, pgx — parametryzacja, transakcje, pulowanie połączeń, wartości NULL.

Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):

  • 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