20 modular skills for idiomatic Go — each under 225 lines, backed by 48 reference files, 8 automation scripts (all with --json, --limit, --force), and 4 asset templates. Covers error handling, naming, testing, concurrency, interfaces, generics, documentation, logging, performance, and more. Activates automatically with progressive disclosure and conditional cross-references.
Use when reviewing Go code or checking code against community style standards. Also use proactively before submitting a Go PR or when reviewing any Go code changes, even if the user doesn't explicitly request a style review. Does not cover language-specific syntax — delegates to specialized skills.
Use when writing concurrent Go code — goroutines, channels, mutexes, or thread-safety guarantees. Also use when parallelizing work, fixing data races, or protecting shared state, even if the user doesn't explicitly mention concurrency primitives. Does not cover context.Context patterns (see go-context).
Use when working with context.Context in Go — placement in signatures, propagating cancellation and deadlines, and storing values in context vs parameters. Also use when cancelling long-running operations, setting timeouts, or passing request-scoped data, even if they don't mention context.Context directly. Does not cover goroutine lifecycle or sync primitives (see go-concurrency).
Use when writing conditionals, loops, or switch statements in Go — including if with initialization, early returns, for loop forms, range, switch, type switches, and blank identifier patterns. Also use when writing a simple if/else or for loop, even if the user doesn't mention guard clauses or variable scoping. Does not cover error flow patterns (see go-error-handling).
Use when working with Go slices, maps, or arrays — choosing between new and make, using append, declaring empty slices (nil vs literal for JSON), implementing sets with maps, and copying data at boundaries. Also use when building or manipulating collections, even if the user doesn't ask about allocation idioms. Does not cover concurrent data structure safety (see go-concurrency).
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
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:
npx claudepluginhub yukiteruamano/golang-skillsComprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Lazy senior dev mode. Forces the simplest, shortest solution that actually works: YAGNI, stdlib first, no unrequested abstractions.
Develop, test, build, and deploy Godot 4.x games with Claude Code. Includes GdUnit4 testing, web/desktop exports, CI/CD pipelines, and deployment to Vercel/GitHub Pages/itch.io.
Tools to maintain and improve CLAUDE.md files - audit quality, capture session learnings, and keep project memory current.
A growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.
Matt Pocock's agent skills for real engineering — grilling, spec/ticket flows, TDD, code review, domain modelling and more. Plug-and-play, not vibe coding.