BeClaude

go-skills

New
11Community RegistryGeneralby cxuu

16 Go skills covering style, naming, error handling, testing, documentation, concurrency, context, interfaces, data structures, control flow, performance, linting, code review, and defensive programming

First seen 5/30/2026

Summary

This skill provides 16 modular Go best practices covering style, naming, error handling, testing, documentation, concurrency, context, interfaces, data structures, control flow, performance, linting, code review, and defensive programming.

  • It helps developers write idiomatic, production-quality Go code by following established style guides and common review patterns.

Overview

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.

Skills Included

SkillDescription
go-code-reviewSystematic checklist for reviewing Go code and PR submissions
go-concurrencyGoroutine lifecycle, channels, mutexes, parallelization, thread-safety
go-contextContext.Context placement, cancellation, deadlines, request-scoped data
go-control-flowIdiomatic conditionals, loops, switch/break behavior, guard clauses
go-data-structuresSlices, maps, arrays — allocation with new vs make, append, copying
go-declarationsVariable/const/type declarations, var vs :=, iota enums, shadowing
go-defensiveAPI boundary hardening, defer cleanup, Must functions, time handling
go-documentationDoc comments, package docs, godoc formatting, runnable examples
go-error-handlingError strategy decisions, wrapping (%v vs %w), sentinels, logging patterns
go-functional-optionsFunctional options pattern for constructors with optional config
go-functionsFunction ordering, signature formatting, Printf verbs, Stringer interface
go-genericsWhen to use generics, constraints, common pitfalls, type aliases
go-interfacesInterface design, abstractions, embedding, "accept interfaces return structs"
go-lintingLinters, golangci-lint setup, nolint directives, CI/CD integration
go-loggingStructured logging with slog, log levels, request-scoped context, migration
go-namingNaming decision flow for packages, types, functions, variables, receivers
go-packagesPackage organization, imports, package size, CLI/flag patterns
go-performanceString optimization, capacity hints, benchmarking, strconv over fmt
go-style-coreFormatting, nesting reduction, style principles, fallback style guide
go-testingTable-driven tests, subtests, test helpers, assertions, test organization

Bundled Scripts

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.

ScriptSkillPurpose
pre-review.shgo-code-reviewRun gofmt + go vet + golangci-lint before review
check-naming.shgo-namingDetect SCREAMING_SNAKE, Get-prefixed getters, bad package names
check-docs.shgo-documentationFind exported symbols missing doc comments
check-errors.shgo-error-handlingCatch bare returns, string comparison on errors, log-and-return
check-interface-compliance.shgo-interfacesFind interfaces missing compile-time verification
bench-compare.shgo-performanceRun benchmarks with optional benchstat comparison
setup-lint.shgo-lintingGenerate .golangci.yml with recommended linters
gen-table-test.shgo-testingScaffold a table-driven test file

Quick Install

Using npx skills (Recommended)

The easiest way to install across any AI coding agent. Supports Cursor, Codex, OpenCode, Cline, GitHub Copilot, Windsurf, Roo Code, and 25+ more agents.

bash
npx skills add cxuu/golang-skills --all

Claude Code

bash
# Add the marketplace (one time)
/plugin marketplace add cxuu/golang-skills

# Install the skills
/plugin install golang-skills@cxuu-golang-skills

Cursor (Native Remote Rule)

  1. Open Cursor Settings (Cmd+Shift+J on Mac, Ctrl+Shift+J on Windows/Linux)
  2. Navigate to RulesAdd RuleRemote Rule (Github)
  3. Enter: https://github.com/cxuu/golang-skills

How It Works

These skills follow the Agent Skills open standard, which works across multiple AI coding tools. When you're writing Go code:

  1. Automatic activation: The AI agent loads relevant skills based on context

(e.g., go-naming when you're writing a new function)

  1. Procedural guidance: Decision trees and step-by-step procedures for

multi-step tasks like code review and error strategy selection

  1. Progressive disclosure: Core rules load immediately; 48 reference files

load on demand when specific situations arise

  1. Automation: 8 bundled scripts handle repetitive checks so the agent

focuses on higher-level guidance

  1. Conditional cross-references: Skills link to each other with "when"

conditions to avoid unnecessary context loading

Project Structure

code
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

License

This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.

Install & Usage

1
Create the skills directory
mkdir -p .claude/skills
2
Download the skill file
mkdir -p .claude/skills && curl -o .claude/skills/go-skills.md https://raw.githubusercontent.com/cxuu/golang-skills/main/SKILL.md
3
Invoke in Claude Code
/go-skills

Use Cases

Review a pull request for Go code to ensure it follows idiomatic style and best practices.
Learn how to properly handle errors and use context in Go applications.
Write concurrent Go code with correct goroutine lifecycle and channel usage.
Improve code quality by applying defensive programming techniques at API boundaries.
Set up consistent naming, documentation, and linting across a Go codebase.

Usage Examples

1

/go-skills go-code-review review this PR for idiomatic Go style

2

Check my Go code for proper error handling and context usage

3

Apply Go best practices to this function: [paste code]

View source on GitHub
testingcode-reviewdocumentation

Security Audits

LicenseUnknownSourceWarnRepositoryPass

Frequently Asked Questions

What is go-skills?

This skill provides 16 modular Go best practices covering style, naming, error handling, testing, documentation, concurrency, context, interfaces, data structures, control flow, performance, linting, code review, and defensive programming. It helps developers write idiomatic, production-quality Go code by following established style guides and common review patterns.

How to install go-skills?

To install go-skills: create the skills directory (mkdir -p .claude/skills), then run: mkdir -p .claude/skills && curl -o .claude/skills/go-skills.md https://raw.githubusercontent.com/cxuu/golang-skills/main/SKILL.md. Finally, /go-skills in Claude Code.

What is go-skills best for?

go-skills is a skill categorized under General. It is designed for: testing, code-review, documentation. Created by cxuu.

What can I use go-skills for?

go-skills is useful for: Review a pull request for Go code to ensure it follows idiomatic style and best practices.; Learn how to properly handle errors and use context in Go applications.; Write concurrent Go code with correct goroutine lifecycle and channel usage.; Improve code quality by applying defensive programming techniques at API boundaries.; Set up consistent naming, documentation, and linting across a Go codebase..