MCPcopy Index your code
hub / github.com/samber/cc-skills-golang

github.com/samber/cc-skills-golang @v1.7.0 sqlite

repository ↗ · DeepWiki ↗ · release v1.7.0 ↗
25 symbols 53 edges 12 files 11 documented · 44%
README

Agent Skills for production-ready Golang projects

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 generic 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.

image

🚀 How to use

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

Claude Code

/plugin marketplace add samber/cc
/plugin install cc-skills-golang@samber

Openclaw

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 CLI

gemini extensions install https://github.com/samber/cc-skills-golang

Update 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-golang

Cursor 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-golang

Copilot 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-golang

OpenCode auto-discovers skills from .agents/skills/, .opencode/skills/, and .claude/skills/.

Codex (OpenAI)

Clone into the cross-client discovery path:

git clone https://github.com/samber/cc-skills-golang.git ~/.agents/skills/cc-skills-golang

Codex auto-discovers skills from ~/.agents/skills/ and .agents/skills/. Update with cd ~/.agents/skills/cc-skills-golang && git pull.

Antigravity

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.

🧩 Skills

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    │ │ CI               │
│ structs-iface│ │ data-structs │ │ observability   │ │ stay-updated     │
│ documentation│ │ database     │ │                 │ │ dep-management   │
│ lint         │ │ modernize    │ │                 │ │                  │
│ security     │ │              │ │                 │ │                  │
└──────────────┘ └──────────────┘ └─────────────────┘ └──────────────────┘

    ┌─────────────────────────────────────────────────────────────────────────┐
    │                      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
  • ⚙️ Overridable (see doc below)
  • Description (tok): weight of the description field from YAML frontmatter, always loaded into Claude's context for skill triggering
  • SKILL.md (tok): weight of the full SKILL.md file 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% 115 2,069 2,685
⭐️ golang-data-structures -39% 92 2,497 6,216
⭐️ golang-database ⚡ ⚙️ -38% 97 2,725 7,248
⭐️ golang-design-patterns ⚡ ⚙️ -37% 66 2,610 9,316
⭐️ golang-documentation ⚡ ⚙️ -53% 73 3,017 11,116
⭐️ golang-error-handling ⚡ ⚙️ -26% 139 1,520 4,394
⭐️ golang-how-to 165 2,254 10,372
⭐️ golang-modernize -61% 68 2,476 7,599
⭐️ golang-naming ⚡ ⚙️ -23% 158 2,865 7,233
⭐️ golang-safety -58% 78 2,457 5,227
⭐️ golang-testing ⚡ 🧠 ⚙️ -32% 113 3,105 6,212
⭐️ golang-troubleshooting ⚡ 🧠 -32% 126 2,735 15,901
⭐️ golang-security ⚡ 🧠 -32% 84 3,036 21,472
golang-benchmark ⚡ 🧠 -50% 99 2,135 29,248
golang-cli -43% 122 2,274 6,089
golang-concurrency ⚡ ⚙️ -39% 71 1,873 6,338
golang-context ⚡ ⚙️ -34% 80 1,144 3,940
golang-continuous-integration -59% 82 2,835 6,477
golang-dependency-injection ⚡ ⚙️ -47% 176 2,842 5,113
golang-dependency-management -54% 77 2,361 5,499
golang-structs-interfaces ⚡ ⚙️ -35% 110 2,999 2,999
golang-lint -41% 98 1,714 5,493
golang-observability ⚡ ⚙️ -37% 161 2,921 18,453
golang-performance ⚡ 🧠 -39% 127 1,953 17,855
golang-pkg-go-dev 185 2,693 4,302
golang-popular-libraries -30% 61 893 4,287
golang-project-layout -38% 69 1,510 5,718
golang-stay-updated -56% 43 1,801 1,801

Tools:

Skill Flags Error rate gap Description (tok) SKILL.md (tok) Directory (tok)
golang-google-wire -16% 122 2,577 7,307
golang-graphql -16% 76 2,977 7,848
golang-grpc -41% 69 2,249 5,065
golang-spf13-cobra 176 2,488 7,259
golang-spf13-viper 170 2,459 7,006
golang-swagger 144 2,250 3,255
golang-uber-dig -10% 107 2,493 6,165
golang-uber-fx -5% 118 2,733 6,968
golang-samber-do -81% 71 1,794 3,309
golang-samber-hot -54% 118 1,894 7,324
golang-samber-lo -40% 165 2,518 10,154
golang-samber-mo ⚡ 🧠 -48% 81 2,860 11,275
golang-samber-oops -59% 69 2,452 2,764
golang-samber-ro ⚡ 🧠 -50% 152 2,869 11,085
golang-samber-slog -19% 118 3,028 9,750
golang-temporal 0 0 0
golang-stretchr-testify -47% 90 1,766 2,585

🧪 Skill evaluations

With Skill Without Skill Delta
Overall 3315/3395 (98%) 1915/3395 (56%) +41pp

See EVALUATIONS.md for the full per-skill breakdown.

📖 Skills description

Code Quality

golang-code-style

Go code formatting and conventions. gofmt, goimports, linting rules, comment conventions, and project-level style consistency. Overridable by company skills.

golang-documentation

Go documentation standards. Package docs, godoc conventions, code comments, example functions, README structure, and API reference generation. Overridable.

golang-error-handling

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.

golang-lint

Go linting best practices and golangci-lint configuration. Presets, custom rules, CI integration, inline suppression, and output interpretation.

golang-naming

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.

golang-safety

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.

golang-security

Go security best practices. Injection prevention (SQL, command, XSS), cryptography, filesystem/network safety, secrets management, cookie security, and tool configuration. Audit and review modes.

golang-structs-interfaces

Go struct and interface design. Composition, embedding, type assertions, interface segregation, struct tags (JSON/YAML/DB), pointer vs value receivers. Overridable.

Architecture & Design

golang-concurrency

Go concurrency patterns. Goroutines, channels, sync primitives, context cancellation, worker pools, fan-out/fan-in, pipelines. Overridable.

golang-context

Idiomatic context.Context usage. Creation, cancellation, timeouts, values, propagation patterns, and common anti-patterns. Overridable.

golang-data-structures

Go data structures internals and usage. Slices (capacity growth, append aliasing), maps, channels, sync primitives, and when to use each.

golang-database

Go database access patterns. Parameter binding, connection pooling, transactions, migrations, sqlboiler/sqlc code generation, query builders. Overridable.

golang-dependency-injection

Dependency injection patterns in Go. Constructor injection, interface-based DI, wire/dig/fx comparison, and when DI is worth the complexity. Overridable.

golang-design-patterns

Idiomatic Go design patterns. Functional options, constructors, builder pattern, middleware chains, circuit breaker, and architecture guides with file trees and code. Overridable.

golang-modernize

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.

QA & Performance

golang-benchmark

Go benchmarking, profiling, and performance measurement. pprof, trace, CPU/memory/block profiles, flame graphs, benchmark comparison (benchstat), continuous profiling.

golang-observability

Go production observability. Structured logging (slog), Prometheus metrics, OpenTelemetry tracing, pprof profiling, RUM tracking, alerting, Grafana dashboards. Overridable.

golang-performance

Go performance optimization. Allocation reduction, CPU efficiency, memory layout, GC tuning, pooling, caching, hot-path optimization. Review and hot-path modes.

golang-testing

Production-ready Go tests. Table-driven tests, fuzzing, fixtures, goroutine leak detection (goleak), snapshot testing, code coverage, integration tests, parallel tests. Overridable.

`golang-troubleshoot

Core symbols most depended-on inside this repo

getAvailableServices
called by 1
skills/golang-cli/assets/examples/completion.go
Execute
called by 1
skills/golang-cli/assets/examples/root.go
initConfig
called by 1
skills/golang-cli/assets/examples/root.go
outputExample
called by 0
skills/golang-cli/assets/examples/output.go
isTerminal
called by 0
skills/golang-cli/assets/examples/output.go
printUsers
called by 0
skills/golang-cli/assets/examples/output.go
colorExamples
called by 0
skills/golang-cli/assets/examples/output.go
init
called by 0
skills/golang-cli/assets/examples/completion.go

Shape

Function 20
Struct 3
Method 2

Languages

Go100%

Modules by API surface

skills/golang-cli/assets/examples/output.go5 symbols
skills/golang-cli/assets/examples/exit_codes.go4 symbols
skills/golang-cli/assets/examples/config.go4 symbols
skills/golang-cli/assets/examples/root.go3 symbols
skills/golang-cli/assets/examples/completion.go3 symbols
skills/golang-cli/assets/examples/cli_test.go2 symbols
skills/golang-cli/assets/examples/version.go1 symbols
skills/golang-cli/assets/examples/serve.go1 symbols
skills/golang-cli/assets/examples/main.go1 symbols
skills/golang-cli/assets/examples/flags.go1 symbols

Datastores touched

testdbDatabase · 1 repos
myappDatabase · 1 repos
mydbDatabase · 1 repos

For agents

$ claude mcp add cc-skills-golang \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact