Source profileQuality 86/100

martinholovsky/SOTA-skills/skills/sota-golang/SKILL.md

sota-golang

State-of-the-art Go engineering rules (2026 baseline, Go 1.25+) that Claude applies when writing new Go code or auditing existing Go code. Covers error handling, interface/package design, goroutine and channel correctness, net/http hardening, security (SQL, exec, path traversal, CSPRNG, TLS, supply chain), performance (pprof, allocations, GC, PGO), and tooling/CI. Trigger keywords - Go, golang, goroutine, channel, go.mod, errgroup, context.Context, pprof, govulncheck, net/http, slog. Use for BOT

Source repository stars
10
Declared platforms
0
Static risk flags
0
Last source update
2026-08-05
Source checked
2026-08-05

Decision brief

What it does—and where it fits

Expert-level rules for producing and auditing production Go. Baseline language version: Go 1.25+, the oldest release still in security support (Go fixes the last two majors; 1.24 left support with 1.26's release, 2026-02). Feature notes: loop-var scoping from 1.22, b.Loop/os.Roo…

Best for

  • BUILD mode — generating new Go code: follow the rules as defaults, not
  • AUDIT mode — reviewing existing Go code: hunt violations using the audit

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/martinholovsky/SOTA-skills --skill "skills/sota-golang"
Safe inspection promptEditorial

Inspect the Agent Skill "sota-golang" from https://github.com/martinholovsky/SOTA-skills/blob/7c8ae3e03ba5c8ec3292c581d92d458035240f4c/skills/sota-golang/SKILL.md at commit 7c8ae3e03ba5c8ec3292c581d92d458035240f4c. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Purpose

    Two consumers, one source of truth:

    BUILD mode — generating new Go code: follow the rules as defaults, notAUDIT mode — reviewing existing Go code: hunt violations using the auditTwo consumers, one source of truth:
  2. 02

    BUILD mode

    1. Before writing code, read the rules files relevant to the task (see index). A service touching HTTP + DB + goroutines needs 03, 04, 05. 2. Apply the top-10 non-negotiables (below) unconditionally. 3. New modules: go mod init with a real module path; since 1.26 it writes the p…

    Before writing code, read the rules files relevant to the task (see index).Apply the top-10 non-negotiables (below) unconditionally.New modules: go mod init with a real module path; since 1.26 it writes
  3. 03

    AUDIT mode

    Work through each relevant rules file's audit checklist against the target repo. Run the listed grep/vet/lint commands; confirm each hit manually before reporting (greps are recall-oriented, expect false positives).

    Work through each relevant rules file's audit checklist against the target repo. Run the listed grep/vet/lint commands; confirm each hit manually before reporting (greps are recall-oriented, expect false positives).Group findings by severity, CRITICAL first. End the audit with: counts per severity, the three highest-leverage fixes, and which checklists were run.
  4. 04

    Severity conventions

    Review the “Severity conventions” section in the pinned source before continuing.

    Review and apply the “Severity conventions” source section.
  5. 05

    Finding format

    Group findings by severity, CRITICAL first. End the audit with: counts per severity, the three highest-leverage fixes, and which checklists were run.

    Group findings by severity, CRITICAL first. End the audit with: counts per severity, the three highest-leverage fixes, and which checklists were run.

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score86/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars10SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
martinholovsky/SOTA-skills
Skill path
skills/sota-golang/SKILL.md
Commit
7c8ae3e03ba5c8ec3292c581d92d458035240f4c
License
CC-BY-4.0
Collected
2026-08-05
Default branch
main
View the original SKILL.md

SOTA Go (2026)

Expert-level rules for producing and auditing production Go. Baseline language version: Go 1.25+, the oldest release still in security support (Go fixes the last two majors; 1.24 left support with 1.26's release, 2026-02). Feature notes: loop-var scoping from 1.22, b.Loop/os.Root/tool directives from 1.24, testing/synctest and container-aware GOMAXPROCS from 1.25, errors.AsType and the default-on Green Tea GC from 1.26 — noted where relevant. Every rule states the why; every rules file ends with an audit checklist of grep/vet/lint patterns.

Purpose

Two consumers, one source of truth:

  • BUILD mode — generating new Go code: follow the rules as defaults, not suggestions. Deviate only with an explicit comment justifying it.
  • AUDIT mode — reviewing existing Go code: hunt violations using the audit checklists, classify by severity, report in the finding format below.

BUILD mode

  1. Before writing code, read the rules files relevant to the task (see index). A service touching HTTP + DB + goroutines needs 03, 04, 05.
  2. Apply the top-10 non-negotiables (below) unconditionally.
  3. New modules: go mod init with a real module path; since 1.26 it writes the previous minor as the go directive (e.g. go 1.25.0) for ecosystem compatibility — keep that unless you need newer language features; pin the toolchain directive to the current patch release. Add golangci-lint config and a CI step running go vet, golangci-lint run, go test -race ./..., govulncheck ./... from day one (see rules/07).
  4. Prefer stdlib. Each dependency must earn its place (see rules/05 supply chain section).
  5. Write table tests alongside the code, not after. Exported behavior gets a test; concurrency gets a -race test; parsers get a fuzz target.
  6. When generating code that violates a rule for a legitimate reason (e.g. sync.Pool complexity, unsafe), leave a // NOTE(sota): comment explaining the trade-off so auditors don't flag it blind.

AUDIT mode

Work through each relevant rules file's audit checklist against the target repo. Run the listed grep/vet/lint commands; confirm each hit manually before reporting (greps are recall-oriented, expect false positives).

Severity conventions

SeverityMeaningExamples
CRITICALExploitable or guaranteed-incorrect in productionSQL built with fmt.Sprintf, command injection via sh -c, unbounded goroutine leak on hot path, InsecureSkipVerify: true, data race confirmed by -race
HIGHLikely production incident or security weaknessMissing http.Server timeouts, no ctx cancellation on blocking goroutine, unchecked integer truncation on attacker input (G115), resp.Body never closed, panic for control flow in a server
MEDIUMCorrectness/maintainability hazard, latent bugError strings compared with strings.Contains, context stored in struct, time.After in a loop, map writes without lock under suspected concurrency, missing errors.Is/As
LOWIdiom/perf debt, works but wrong shapeReturning interfaces, util package dumps, missing preallocation on hot path, non-table tests, no t.Parallel
INFOStyle, doc, or hygiene noteNaming, missing doc comments, gofumpt drift

Finding format

[SEVERITY] file.go:LINE — short title
  Rule: rules/NN-name.md § section
  Evidence: the offending line(s), verbatim
  Impact: one sentence — what goes wrong, under what conditions
  Fix: concrete replacement code or action
  Effort: trivial | small | medium | large

Group findings by severity, CRITICAL first. End the audit with: counts per severity, the three highest-leverage fixes, and which checklists were run.

Rules index

FileRead this when...
rules/01-errors.mdWriting/reviewing any error path: wrapping with %w, errors.Is/As, sentinel vs typed errors, panic/recover policy, error API design for libraries vs apps
rules/02-design.mdDesigning packages or APIs: interface placement and size, package layout and internal/, naming, zero values, generics restraint, embedding, functional options, context.Context discipline
rules/03-concurrency.mdAnything with go, chan, sync, or select: goroutine lifecycle ownership, leak catalog, errgroup fan-out, channels-vs-mutex decision, race patterns, worker pools, semaphores, time.After traps
rules/04-http-services.mdBuilding or auditing HTTP servers/clients: all five server timeouts, client timeouts and body hygiene, connection reuse, graceful shutdown, middleware, slog structured logging, request-scoped values
rules/05-security.mdAny input crossing a trust boundary: SQL parameterization, os/exec safety, path traversal and os.Root, integer overflow (G115), output encoding (html/template), CSPRNG (crypto/rand vs math/rand), TLS config, unsafe/cgo policy, govulncheck, supply chain and go.sum
rules/06-performance.mdLatency/memory work: pprof workflow, testing.B + b.Loop, allocation reduction, strings.Builder, sync.Pool criteria, escape analysis, GOGC/GOMEMLIMIT, PGO
rules/07-tooling-ci.mdSetting up or auditing CI and tests: golangci-lint curated config, staticcheck/gofumpt/vet, table tests, t.Parallel correctness, testcontainers, golden files, fuzzing, go.mod hygiene and tool directives. Test strategy — suite shape, TDD, doubles, test data, flake policy — lives in sota-testing; load it for any build that writes logic. This file owns Go runner mechanics only.

Top-10 non-negotiables

  1. Every error is handled or wrapped with %w and context — never discarded with _, never logged-and-ignored on a path that must abort. Compare with errors.Is/errors.As, never string matching. (rules/01)
  2. No panics for control flow. panic is for unreachable programmer errors only; servers recover at goroutine boundaries and log. (rules/01)
  3. Every goroutine has an owner and a guaranteed exit path — tied to a context.Context, a closed channel, or a WaitGroup/errgroup join. If you can't say how it stops, don't start it. (rules/03)
  4. go test -race ./... in CI, always. A race detector failure is a CRITICAL finding, not flaky-test noise. (rules/03, rules/07)
  5. http.Server sets ReadHeaderTimeout, ReadTimeout, WriteTimeout, IdleTimeout; clients set timeouts and defer resp.Body.Close() with drain. Default zero timeouts are a DoS. (rules/04)
  6. SQL only via parameterized queries (database/sql placeholders, pgx, or sqlc-generated code). String-built SQL is CRITICAL, no exceptions for "internal" values. (rules/05)
  7. os/exec with argv lists, never sh -c with interpolated input; file paths validated against a root (os.Root on 1.24+, else filepath.Clean + prefix check after resolving symlinks). (rules/05)
  8. context.Context is the first parameter, flows down, is never stored in a struct, and carries only request-scoped metadata — never dependencies. (rules/02)
  9. Accept interfaces, return structs; define interfaces at the consumer, keep them small. No premature interfaces "for mocking". (rules/02)
  10. govulncheck ./... and golangci-lint gate CI; go.sum committed; dependencies minimal and justified. (rules/05, rules/07)

Alternatives

Compare before choosing

Computed 100165

JasonColapietro/suede-creator-skills

suede-ab-testing

Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).

Computed 1007

narrative-io/narrative-skills-marketplace

design-analysis

Translate a fuzzy analytical question into a rigorous investigation plan. Interrogates the ask, grounds the plan in the available data dictionary, applies analytical best practices, and produces a structured brief of query specifications for a downstream query-writing skill. Plans, does not write SQL. Use when: "why did X drop", "is there a relationship between A and B", "who are our highest-value customers", "what's driving the change in Y", "investigate this trend", "design an analysis for", "

Computed 9623,835

alirezarezvani/claude-skills

ab-test-setup

When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "conversion experiment," "statistical significance," or "test this." For tracking implementation, see analytics-tracking.

Computed 9682

aAAaqwq/AGI-Super-Team

ab-test-setup

When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "conversion experiment," "statistical significance," or "test this." For tracking implementation, see analytics-tracking.