AI agent skills are reusable instruction sets that extend your coding assistant with domain-specific expertise, loaded on demand so they don't bloat your context. This repository covers Go-specific skills only (language, testing, security, observability, etc.); for dev workflow skills (git conventions, CI/CD, PR reviews) you'll want to add a separate skills plugin.
For non-Golang skills, please visit cc-skills.
Important
Bootstrapped with Claude Code by distilling my Go project commits. Edited, tested, reviewed and reworked by a human.
No AI slop here. AI-made skills are useless.
Built for Claude Code, Codex, Gemini, Copilot, Antigravity, Cursor...
Install with skills CLI (universal, works with any Agent Skills-compatible tool):
npx skills add https://github.com/samber/cc-skills-golang --all
# or a single skill:
npx skills add https://github.com/samber/cc-skills-golang --skill golang-performanceClaude Code
/plugin marketplace add samber/cc
/plugin install cc-skills-golang@samberOpenclaw
Copy skills into the cross-client discovery directory:
git clone https://github.com/samber/cc-skills-golang.git ~/.openclaw/skills/cc-skills-golang
# or in workspace:
git clone https://github.com/samber/cc-skills-golang.git ~/.openclaw/workspace/skills/cc-skills-golangGemini CLI
gemini extensions install https://github.com/samber/cc-skills-golangUpdate with gemini extensions update cc-skills-golang.
Cursor
Copy skills into the cross-client discovery directory:
git clone https://github.com/samber/cc-skills-golang.git ~/.cursor/skills/cc-skills-golangCursor auto-discovers skills from .agents/skills/ and .cursor/skills/.
Copilot
Copy skills into the cross-client discovery directory:
/plugin install https://github.com/samber/cc-skills-golang
# or
git clone https://github.com/samber/cc-skills-golang.git ~/.copilot/skills/cc-skills-golangCopilot auto-discovers skills from .copilot/skills/.
OpenCode
Copy skills into the cross-client discovery directory:
git clone https://github.com/samber/cc-skills-golang.git ~/.agents/skills/cc-skills-golangOpenCode auto-discovers skills from .agents/skills/, .opencode/skills/, and .claude/skills/.
Codex (OpenAI)
Install the plugin via the Codex CLI:
codex plugin add github:samber/cc-skillsUpdate with codex plugin update cc-skills. Falls back to a manual clone if the marketplace path is unavailable:
git clone https://github.com/samber/cc-skills.git ~/.agents/skills/cc-skillsCodex auto-discovers skills from ~/.agents/skills/ and .agents/skills/.
Antigravity
Clone and symlink into the cross-client discovery path:
git clone https://github.com/samber/cc-skills-golang.git ~/.antigravity/skills/cc-skills-golangUpdate with cd ~/.antigravity/skills/cc-skills-golang && git pull.
These skills are designed as atomic, cross-referencing units. A skill may reference conventions defined in another (e.g. error-handling rules that affect logging live in golang-error-handling, not golang-observability). Installing only a subset will give you a partial and potentially inconsistent view of the guidelines. For best results, install all general-purpose skills together.
ββββββββββββββββββββββββββββββββββββββββββ
β Golang Skills β
ββββββββββββββββββββ¬ββββββββββββββββββββββ
β
βββββββββββββββββββ¬βββββββββββββββββββββββΌβββββββββββββββββββββββ
βΌ βΌ βΌ βΌ
ββββββββββββββββ ββββββββββββββββ βββββββββββββββββββ ββββββββββββββββββββββββ
β Code Quality β β Arch & Designβ β QA & Perf β β Project Start β
ββββββββββββββββ€ ββββββββββββββββ€ βββββββββββββββββββ€ ββββββββββββββββββββββββ€
β code-style β β design-patt β β testing β β project-layout β
β naming β β concurrency β β benchmark β β popular-libs β
β error-handl β β context β β performance β β cli β
β safety β β dep-inject β β troubleshoot β β continuous-integ. β
β structs-ifaceβ β data-structs β β observability β β stay-updated β
β documentationβ β database β β β β dep-management β
β lint β β modernize β β β β gopls β
β security β β refactoring β β β β pkg-go-dev β
ββββββββββββββββ ββββββββββββββββ βββββββββββββββββββ ββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Framework / Library Skills β
ββββββββββββββββ¬βββββββββββββββββ¬βββββββββββββββ¬ββββββββββββββ¬ββββββββββββ€
β APIs β DI β Frameworks β samber/* β Testing β
ββββββββββββββββΌβββββββββββββββββΌβββββββββββββββΌββββββββββββββΌββββββββββββ€
β grpc β google-wire β spf13-cobra β samber-lo β stretchr- β
β graphql β uber-dig β spf13-viper β samber-mo β testify β
β swagger β uber-fx β β samber-ro β β
β β β β samber-do β β
β β β β samber-hot β β
β β β β samber-slog β β
β β β β samber-oops β β
ββββββββββββββββ΄βββββββββββββββββ΄βββββββββββββββ΄ββββββββββββββ΄ββββββββββββ
- βοΈ Recommended
- β Published
- π· Work in progress
- β To-do
- β‘ Command available
- π§ Ultrathink automatically
- π€ Ultracode automatically
- βοΈ Overridable (see doc below)
- Description (tok): weight of the
descriptionfield from YAML frontmatter, always loaded into Claude's context for skill triggering - SKILL.md (tok): weight of the full
SKILL.mdfile loaded when the skill triggers - Directory (tok): weight of all files in the skill directory (SKILL.md + referenced markdown files)
General purpose:
| Skill | Flags | Error rate gap | Description (tok) | SKILL.md (tok) | Directory (tok) | |
|---|---|---|---|---|---|---|
| βοΈ | β
golang-code-style |
β‘ π€ βοΈ | -40% | 114 | 2,358 | 2,974 |
| βοΈ | β
golang-data-structures |
β‘ | -39% | 93 | 2,608 | 6,327 |
| βοΈ | β
golang-database |
β‘ βοΈ | -38% | 97 | 2,721 | 7,243 |
| βοΈ | β
golang-design-patterns |
β‘ βοΈ | -37% | 80 | 2,694 | 9,400 |
| βοΈ | β
golang-documentation |
β‘ π€ βοΈ | -53% | 75 | 3,163 | 11,876 |
| βοΈ | β
golang-error-handling |
β‘ π€ βοΈ | -26% | 141 | 1,734 | 4,693 |
| βοΈ | β
golang-how-to |
β‘ | β | 184 | 4,210 | 17,583 |
| βοΈ | β
golang-modernize |
β‘ π€ | -43% | 104 | 3,486 | 15,145 |
| βοΈ | β
golang-naming |
β‘ βοΈ | -23% | 159 | 3,031 | 7,399 |
| βοΈ | β
golang-refactoring |
β‘ π§ π€ βοΈ | β | 245 | 3,835 | 20,392 |
| βοΈ | β
golang-safety |
β‘ | -58% | 78 | 2,614 | 5,384 |
| βοΈ | β
golang-testing |
β‘ π§ π€ βοΈ | -32% | 115 | 4,270 | 8,822 |
| βοΈ | β
golang-troubleshooting |
β‘ π§ π€ | -32% | 173 | 2,993 | 18,035 |
| βοΈ | β
golang-security |
β‘ π§ π€ | -32% | 85 | 3,187 | 21,623 |
β
golang-benchmark |
β‘ π§ | -50% | 102 | 3,153 | 33,396 | |
β
golang-cli |
β‘ | -43% | 125 | 2,338 | 6,153 | |
β
golang-concurrency |
β‘ π€ βοΈ | -39% | 72 | 2,196 | 6,826 | |
β
golang-context |
β‘ βοΈ | -34% | 82 | 1,211 | 4,021 | |
β
golang-continuous-integration |
β‘ | -59% | 177 | 3,542 | 12,804 | |
β
golang-dependency-injection |
β‘ π€ βοΈ | -47% | 178 | 3,016 | 5,287 | |
β
golang-dependency-management |
β‘ | -54% | 77 | 2,407 | 5,545 | |
β
golang-structs-interfaces |
β‘ βοΈ | -35% | 111 | 3,076 | 3,076 | |
β
golang-lint |
β‘ π€ | -41% | 98 | 1,877 | 6,295 | |
β
golang-observability |
β‘ π€ βοΈ | -37% | 164 | 3,128 | 19,583 | |
β
golang-performance |
β‘ π§ π€ | -39% | 130 | 2,226 | 19,820 | |
β
golang-gopls |
β‘ | β | 219 | 2,317 | 12,312 | |
β
golang-pkg-go-dev |
β‘ | β | 170 | 3,442 | 5,386 | |
β
golang-popular-libraries |
β‘ | -30% | 156 | 1,181 | 5,093 | |
β
golang-project-layout |
β‘ | -38% | 105 | 1,761 | 6,257 | |
β
golang-stay-updated |
β‘ | -56% | 44 | 1,802 | 1,802 |
Tools:
| Skill | Flags | Error rate gap | Description (tok) | SKILL.md (tok) | Directory (tok) |
|---|---|---|---|---|---|
β
golang-google-wire |
β‘ | -16% | 122 | 2,670 | 7,400 |
β
golang-graphql |
-16% | 76 | 3,070 | 7,941 | |
β
golang-grpc |
β‘ | -41% | 70 | 2,341 | 5,157 |
β
golang-spf13-cobra |
β‘ | β | 176 | 2,580 | 7,351 |
β
golang-spf13-viper |
β‘ | β | 170 | 2,551 | 7,098 |
β
golang-swagger |
β‘ | β | 144 | 2,342 | 3,347 |
β
golang-uber-dig |
β‘ | -10% | 107 | 2,585 | 6,257 |
β
golang-uber-fx |
β‘ | -5% | 118 | 2,825 | 7,060 |
β
golang-samber-do |
β‘ | -81% | 71 | 2,145 | 3,660 |
β
golang-samber-hot |
β‘ | -54% | 119 | 1,986 | 7,416 |
β
golang-samber-lo |
β‘ | -40% | 166 | 2,610 | 10,288 |
β
golang-samber-mo |
β‘ π§ | -48% | 82 | 2,967 | 11,382 |
β
golang-samber-oops |
β‘ | -59% | 70 | 2,544 | 2,856 |
β
golang-samber-ro |
β‘ π§ | -50% | 153 | 2,976 | 11,192 |
β
golang-samber-slog |
β‘ | -19% | 119 | 3,120 | 9,842 |
β golang-temporal |
β | 0 | 0 | 0 | |
β
golang-stretchr-testify |
β‘ | -47% | 92 | 1,858 | 2,677 |
| With Skill | Without Skill | Delta | |
|---|---|---|---|
| Overall | 3348/3439 (97%) | 1957/3439 (57%) | +40pp |
See EVALUATIONS.md for the full per-skill breakdown.
Go code formatting and conventions. gofmt, goimports, linting rules, comment conventions, and project-level style consistency. Overridable by company skills.
Go documentation standards. Package docs, godoc conventions, code comments, example functions, README structure, and API reference generation. Overridable.
Go error handling best practices. Error creation, wrapping with fmt.Errorf and errors.Is/As, sentinel errors, custom error types, error codes, and panic recovery. Overridable.
Go linting best practices and golangci-lint configuration. Presets, custom rules, CI integration, inline suppression, and output interpretation.
Go naming conventions across all identifier types. Packages, constructors, structs, interfaces, constants, errors, receivers, acronyms, test functions. Covers MixedCaps rules, Get-prefix, and utils/helpers anti-patterns. Overridable.
Defensive Go coding. Prevents panics, silent data corruption, and runtime bugs. nil safety, append aliasing, map concurrent access, float comparison, zero-value design, numeric overflow.
Go security best practices. Injection prevention (SQL, command, XSS), cryptography, filesystem/network safety, secrets management, cookie security, and tool configuration. Audit and review modes.
Go struct and interface design. Composition, embedding, type assertions, interface segregation, struct tags (JSON/YAML/DB), pointer vs value receivers. Overridable.
Go concurrency patterns. Goroutines, channels, sync primitives, context cancellation, worker pools, fan-out/fan-in, pipelines. Overridable.
Idiomatic context.Context usage. Creation, cancellation, timeouts, values, propagation patterns, and common anti-patterns. Overridable.
Go data structures internals and usage. Slices (capacity growth, append aliasing), maps, channels, sync primitives, and when to use each.
Go database access patterns. Parameter binding, connection pooling, transactions, migrations, sqlboiler/sqlc code generation, query builders. Overridable.
Dependency injection patterns in Go. Constructor injection, interface-based DI, wire/dig/fx comparison, and when DI is worth the complexity. Overridable.
Idiomatic Go design patterns. Functional options, constructors, builder pattern, middleware chains, circuit breaker, and architecture guides with file trees and code. Overridable.
Modernize Go code to use recent language features. Range-over-int, min/max builtins, iterators, slices/maps/cmp/slog stdlib packages, testing patterns (t.Context, b.Loop, synctest), and tooling upgrades.
Safe, at-scale refactoring process for existing Go code. Coverage-adaptive safety net, tool-driven behavior-preserving transforms (gopls Rename/Inline/Extract, gofmt -r, eg, gopatch), the Fowler catalog mapped to Go, breaking import cycles, type-alias gradual code repair, and a human-in-the-loop workflow of staged PRs on a refactoring branch.
Go benchmarking, profiling, and performance measurement. pprof, trace, CPU/memory/block profiles, flame graphs, benchmark comparison (benchstat), continuous profiling.
Go production observability. Structured logging (slog), Prometheus metrics, OpenTelemetry tracing, pprof profiling, RUM tracking, alerting, Grafana dashboards. Overridable.
Go performance optimization. Allocation reduction, CPU efficiency, memory layout, GC tuning, pooling, caching, hot-path optimization. Review and hot-path modes.
Production-ready Go tests. Table-driven tests, fuzzing, fixtures, goroutine leak detection (goleak), snapshot testing, code coverage, integration tests, parallel tests. Overridable.
Systematic Go debugging methodology. Common pitfalls, test-driven debugging, pprof capture, Delve debugger, race detection, GODEBUG tracing, production debugging.
Go CLI application development. Project layout, exit codes, signal handling, I/O patterns, argument parsing, and terminal UX.
CI/CD pipeline configuration for Go projects using GitHub Actions. Build, test, lint, and release workflows.
Go module dependency strategies. go.mod conventions, versioning, replace directives, tool dependencies, and multi-module workspaces.
Semantic code intelligence for your local build via gopls, the official Go language server. Go-to-definition, find references, call/implementation hierarchy, workspace symbol search, diagnostics, safe rename, and refactors (extract/inline/fill/rewrite). Reachable via gopls's own MCP server, Claude Code's native LSP tool, or the gopls CLI.




