AI Agent Skills for writing idiomatic, production-quality Go code.
> /plugin marketplace add cxuu/golang-skills> /plugin install golang-skills@golang-skills
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)docs/RULE_OWNERSHIP.md keeps duplicated guidance out
of non-owner skills.
├── skills/
│ └── go-*/
│ ├── SKILL.md # Core rules (< 225 lines each)
│ ├── references/ # Detailed guidance, loaded on demand
│ ├── scripts/ # Automation scripts and helpers
│ └── assets/ # Output templates (4 skills)
├── evals/
│ ├── evals.json # Trigger and quality eval definitions
│ ├── files/ # Sample Go files for quality evals
│ └── fixtures/ # Test fixtures for script/eval coverage
├── docs/ # Repository maintenance notes
├── .github/workflows/ # CI validation
└── source/ # Original style guide sources
Bundled upstream source snapshots live under source/. Each source file keeps
its own inline provenance header, and THIRD_PARTY_NOTICES.md
summarizes the source path, upstream project, URL, license, and copyright at the
repository level.
Go-version-sensitive guidance is tracked in COMPATIBILITY.md. When a skill recommends a standard-library API that depends on a specific Go release, the guidance should name the minimum Go version and include an older fallback where that helps users on maintained but older toolchains.
Project-authored skill files, scripts, assets, docs, and evals are licensed
under the Apache License, Version 2.0. See LICENSE for details.
Bundled upstream snapshots under source/ retain their upstream licenses; see
THIRD_PARTY_NOTICES.md.
golang-skills is a Claude Code plugin with 20 hand-picked skills, indexed on Flowy in the Skill Authoring category. Install it with the command on its page. It includes go-code-review, go-concurrency, go-context. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it