Install
$ agentstack add skill-samber-cc-skills-golang-golang-how-to ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
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](references/disambiguation.md).
- Configure — add a
## Required Go skillsblock to the project'sCLAUDE.mdorAGENTS.md. Follow [project-config.md](references/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@.
Categories at a glance
Full catalog with "use when" hooks: [by-category.md](references/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](references/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](references/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 .
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: samber
- Source: samber/cc-skills-golang
- License: MIT
- Homepage: https://skills.sh/samber/cc-skills-golang
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.