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.)
$ npx -y skills add samber/cc-skills-golang --agent claude-code
What's inside
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-performance
/plugin marketplace add samber/cc
/plugin install cc-skills-golang@samber
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-golang
gemini extensions install https://github.com/samber/cc-skills-golang
Update with gemini extensions update cc-skills-golang.
Copy skills into the cross-client discovery directory:
git clone https://github.com/samber/cc-skills-golang.git ~/.cursor/skills/cc-skills-golang
Cursor auto-discovers skills from .agents/skills/ and .cursor/skills/.
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-golang
Copilot auto-discovers skills from .copilot/skills/.
Copy skills into the cross-client discovery directory:
git clone https://github.com/samber/cc-skills-golang.git ~/.agents/skills/cc-skills-golang
OpenCode auto-discovers skills from .agents/skills/, .opencode/skills/, and .claude/skills/.
Install the plugin via the Codex CLI:
codex plugin add github:samber/cc-skills
Update 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-skills
Codex auto-discovers skills from ~/.agents/skills/ and .agents/skills/.
Clone and symlink into the cross-client discovery path:
git clone https://github.com/samber/cc-skills-golang.git ~/.antigravity/skills/cc-skills-golang
Update 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 │ │
└──────────────┴────────────────┴──────────────┴─────────────┴───────────┘
description field from YAML frontmatter, always loaded into Claude's context for skill triggeringSKILL.md file loaded when the skill triggersGeneral 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.
golang-code-styleGo code formatting and conventions. gofmt, goimports, linting rules, comment conventions, and project-level style consistency. Overridable by company skills.
golang-documentationGo documentation standards. Package docs, godoc conventions, code comments, example functions, README structure, and API reference generation. Overridable.
golang-error-handlingGo 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.
golang-lintGo linting best practices and golangci-lint configuration. Presets, custom rules, CI integration, inline suppression, and output interpretation.
golang-namingGo 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.
golang-safetyDefensive Go coding. Prevents panics, silent data corruption, and runtime bugs. nil safety, append aliasing, map concurrent access, float comparison, zero-value design, numeric overflow.
golang-securityFAQ
cc-skills-golang is a Claude Code plugin with 46 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes golang-benchmark, golang-cli, golang-code-style. 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