AI Agent Skills for idiomatic, production-ready Go code, distilled from Google, Uber, Community
npx skills add https://github.com/cxuu/golang-skills --skill go-namingInstall this skill with the CLI and start using the SKILL.md workflow in your workspace.
AI Agent Skills for writing idiomatic,
production-quality Go code. 20 modular skills teach AI coding assistants Go
best practices derived from:
Skills are tuned following
agentskills.io best practices:
content the agent already knows is omitted, procedural decision trees guide
multi-step tasks, 48 reference files load on demand via progressive disclosure,
8 bundled scripts automate common checks, and 4 asset templates ensure
consistent output.
| Skill | Description |
|---|---|
| go-code-review | Systematic checklist for reviewing Go code and PR submissions |
| go-concurrency | Goroutine lifecycle, channels, mutexes, parallelization, thread-safety |
| go-context | Context.Context placement, cancellation, deadlines, request-scoped data |
| go-control-flow | Idiomatic conditionals, loops, switch/break behavior, guard clauses |
| go-data-structures | Slices, maps, arrays — allocation with new vs make, append, copying |
| go-declarations | Variable/const/type declarations, var vs :=, iota enums, shadowing |
| go-defensive | API boundary hardening, defer cleanup, Must functions, time handling |
| go-documentation | Doc comments, package docs, godoc formatting, runnable examples |
| go-error-handling | Error strategy decisions, wrapping (%v vs %w), sentinels, logging patterns |
| go-functional-options | Functional options pattern for constructors with optional config |
| go-functions | Function ordering, signature formatting, Printf verbs, Stringer interface |
| go-generics | When to use generics, constraints, common pitfalls, type aliases |
| go-interfaces | Interface design, abstractions, embedding, "accept interfaces return structs" |
| go-linting | Linters, golangci-lint setup, nolint directives, CI/CD integration |
| go-logging | Structured logging with slog, log levels, request-scoped context, migration |
| go-naming | Naming decision flow for packages, types, functions, variables, receivers |
| go-packages | Package organization, imports, package size, CLI/flag patterns |
| go-performance | String optimization, capacity hints, benchmarking, strconv over fmt |
| go-style-core | Formatting, nesting reduction, style principles, fallback style guide |
| go-testing | Table-driven tests, subtests, test helpers, assertions, test organization |
8 scripts automate common Go checks. All support --help, --json for
structured output, and meaningful exit codes (0 = clean, 1 = issues found,
2 = error). Analysis scripts support --limit to cap output size, and
destructive scripts require --force to overwrite existing files.
| Script | Skill | Purpose |
|---|---|---|
pre-review.sh |
go-code-review | Run gofmt + go vet + golangci-lint before review |
check-naming.sh |
go-naming | Detect SCREAMING_SNAKE, Get-prefixed getters, bad package names |
check-docs.sh |
go-documentation | Find exported symbols missing doc comments |
check-errors.sh |
go-error-handling | Catch bare returns, string comparison on errors, log-and-return |
check-interface-compliance.sh |
go-interfaces | Find interfaces missing compile-time verification |
bench-compare.sh |
go-performance | Run benchmarks with optional benchstat comparison |
setup-lint.sh |
go-linting | Generate .golangci.yml with recommended linters |
gen-table-test.sh |
go-testing | Scaffold a table-driven test file |
The easiest way to install across any AI coding agent. Supports Cursor,
Codex, OpenCode, Cline, GitHub Copilot, Windsurf, Roo Code, and 25+ more
agents.
npx skills add cxuu/golang-skills --all
# Add the marketplace (one time)
/plugin marketplace add cxuu/golang-skills
# Install the skills
/plugin install golang-skills@cxuu-golang-skills
https://github.com/cxuu/golang-skillsThese skills follow the Agent Skills open standard,
which works across multiple AI coding tools. When you're writing Go code:
go-naming when you're writing a new function)skills/
├── go-*/
│ ├── SKILL.md # Core rules (< 225 lines each)
│ ├── references/ # Detailed guidance, loaded on demand
│ ├── scripts/ # Automation scripts (8 skills)
│ └── assets/ # Output templates (4 skills)
├── evals/
│ ├── evals.json # 51 trigger evals + 15 quality evals
│ └── files/ # Sample Go files for quality evals
└── source/ # Original style guide sources
This project is licensed under the Apache License, Version 2.0. See the
LICENSE file for details.