
golang-how-to
★ 2,400by samber · part of samber/cc-skills-golang
Golang skills orchestrator — always active on any Golang coding, review, debug, or setup task. Reads the task context and loads the most relevant skills from samber/cc-skills-golang, often multiple at once: writing a gRPC service loads golang-grpc + golang-testing + golang-error-handling; debugging a panic loads golang-troubleshooting + golang-safety; auditing security loads golang-security + golang-lint + golang-safety. Also: disambiguates competing clusters when two skills seem to overlap...
Golang skills orchestrator — always active on any Golang coding, review, debug, or setup task. Reads the task context and loads the most relevant skills from samber/cc-skills-golang, often multiple at once: writing a gRPC service loads golang-grpc + golang-testing + golang-error-handling; debugging a panic loads golang-troubleshooting + golang-safety; auditing security loads golang-security + golang-lint + golang-safety. Also: disambiguates competing clusters when two skills seem to overlap...
Inspect the full instructions your agent will receiveExpandCollapse
This is the exact playbook injected into your agent when the skill activates — shown here so you can audit it before installing. You don't need to read it to use the skill.
by samber
Golang skills orchestrator — always active on any Golang coding, review, debug, or setup task. Reads the task context and loads the most relevant skills from samber/cc-skills-golang, often multiple at once: writing a gRPC service loads golang-grpc + golang-testing + golang-error-handling; debugging a panic loads golang-troubleshooting + golang-safety; auditing security loads golang-security + golang-lint + golang-safety. Also: disambiguates competing clusters when two skills seem to overlap...
npx skills add https://github.com/samber/cc-skills-golang --skill golang-how-to
Download ZIPGitHub2.4k
Persona: You are a Go skills orchestrator. For every Go task, identify all relevant skills and load them together — a task rarely belongs to a single skill.
Modes:
-
Orchestrate — for any Go coding, review, debug, or setup task, load the primary skill plus all applicable secondary skills simultaneously.
-
Disambiguate — when two skills seem to overlap, show the boundary table. See disambiguation.md.
-
Configure — add a
## Required Go skillsblock to the project'sCLAUDE.mdorAGENTS.md. Follow project-config.md.
Skill loading
For each task, load the primary skill and all applicable secondary skills at the same time. Do not wait — load them together at the start.
Intent Primary Also load
Design an API, choose a pattern golang-design-patterns golang-structs-interfaces, golang-naming
Name a type, function, or package golang-naming golang-code-style
Handle errors idiomatically golang-error-handling golang-safety (nil-heavy code)
Write goroutines, channels, sync golang-concurrency golang-context (if cancellation)
Pass deadlines / cancel operations golang-context golang-concurrency (if goroutines)
Design structs, embed, use interfaces golang-structs-interfaces golang-design-patterns
Database queries and transactions golang-database golang-error-handling, golang-security
Build a gRPC service golang-grpc golang-testing, golang-error-handling
Build a GraphQL API golang-graphql golang-testing, golang-error-handling
Build a CLI command tree golang-spf13-cobra golang-cli, golang-spf13-viper (if config)
Layer config from flags/env/file golang-spf13-viper golang-spf13-cobra
Write tests golang-testing golang-stretchr-testify (if using testify)
Apply optimization patterns golang-performance golang-benchmark (measure first)
Measure with pprof / benchstat golang-benchmark golang-performance (fix), golang-troubleshooting (root cause)
Debug a panic or unexpected behavior golang-troubleshooting golang-safety, golang-benchmark (if perf-related)
Monitor in production golang-observability golang-performance (if SLO breach)
Audit security vulnerabilities golang-security golang-safety, golang-lint
Review formatting and style golang-code-style golang-naming, golang-lint
Configure golangci-lint golang-lint golang-code-style
Write godoc / README / CHANGELOG golang-documentation golang-naming
Set up a new project structure golang-project-layout golang-design-patterns, golang-dependency-injection, golang-lint
Set up CI/CD pipeline golang-continuous-integration golang-lint, golang-security
Choose a library golang-popular-libraries relevant library-specific skill
Look up a package's docs, versions, importers, or CVEs golang-pkg-go-dev golang-dependency-management
Adopt new Go language features golang-modernize golang-lint
Use samber/lo (slice/map helpers) golang-samber-lo golang-data-structures, golang-performance
Use samber/oops (structured errors) golang-samber-oops golang-error-handling
Use log/slog golang-samber-slog golang-observability, golang-error-handling
Use dependency injection golang-dependency-injection golang-google-wire or golang-uber-dig or golang-uber-fx or golang-samber-do
All skill identifiers above are short forms of samber/cc-skills-golang@<name>.
Categories at a glance
Full catalog with "use when" hooks: by-category.md
Category Skills
Code Quality golang-code-style golang-documentation golang-error-handling golang-lint golang-naming golang-safety golang-security golang-structs-interfaces
Architecture & Design golang-concurrency golang-context golang-data-structures golang-database golang-dependency-injection golang-design-patterns golang-modernize
QA & Performance golang-benchmark golang-observability golang-performance golang-testing golang-troubleshooting
Project Setup golang-cli golang-continuous-integration golang-dependency-management golang-pkg-go-dev golang-popular-libraries golang-project-layout golang-stay-updated
APIs golang-graphql golang-grpc golang-swagger
Dependency Injection golang-dependency-injection golang-google-wire golang-uber-dig golang-uber-fx golang-samber-do
Frameworks golang-spf13-cobra golang-spf13-viper
samber/* golang-samber-do golang-samber-hot golang-samber-lo golang-samber-mo golang-samber-oops golang-samber-ro golang-samber-slog
Testing golang-stretchr-testify golang-testing
Competing clusters — boundary lines
Full boundary tables with routing examples: disambiguation.md
Key clusters and their owners:
-
Performance:
golang-performance(optimization patterns) ·golang-benchmark(measurement) ·golang-troubleshooting(root cause) ·golang-observability(always-on production) -
DI:
golang-dependency-injection(concepts/decision) ·golang-google-wire(compile-time) ·golang-uber-dig(runtime reflection) ·golang-uber-fx(lifecycle framework) ·golang-samber-do(type-safe container) -
samber/*:
golang-samber-lo(finite transforms) ·golang-samber-ro(reactive streams) ·golang-samber-mo(monadic types) -
Errors:
golang-error-handling(idioms) ·golang-samber-oops(structured errors) ·golang-safety(prevent panics) -
Style:
golang-code-style·golang-naming·golang-lint·golang-documentation -
CLI:
golang-cli(architecture) ·golang-spf13-cobra(command tree) ·golang-spf13-viper(config layering) -
Package lookup:
golang-pkg-go-dev(query pkg.go.dev for an existing path: versions/docs/symbols/importers/CVEs) ·golang-popular-libraries(which library to adopt) ·golang-dependency-management(manage go.mod) ·golang-security(whole-tree CVE scan) -
Gap — type vs arch:
golang-structs-interfaces(type design) vsgolang-design-patterns(architectural patterns) -
Gap — goroutine vs cancel:
golang-concurrency+golang-context— load both when cancelling goroutines via context -
Gap — correctness vs threat:
golang-safety(internal bugs) vsgolang-security(external threats) -
Gap — features vs rules:
golang-modernize(language adoption) vsgolang-lint(static analysis config)
Configure mode
Force-trigger specific skills in a project's CLAUDE.md or AGENTS.md so they always load.
When invoked as /golang-how-to configure, follow project-config.md.
This skill is not exhaustive. Refer to individual skill files and the official Go documentation for detailed guidance.
If you encounter a bug or unexpected behavior in this skill plugin, open an issue at https://github.com/samber/cc-skills-golang/issues.
npx skills add https://github.com/samber/cc-skills-golang --skill golang-how-toRun this in your project — your agent picks the skill up automatically.
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.