$npx -y skills add samber/cc-skills-golang --skill golang-how-toGolang 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-
| 1 | **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. |
| 2 | |
| 3 | **Dependencies:** `gopls` — `go install golang.org/x/tools/gopls@latest`; the built-in `LSP` tool also needs `ENABLE_LSP_TOOL=1` and a Go language server wired (see [Code navigation with gopls](#code-navigation-with-gopls)). |
| 4 | |
| 5 | **Modes:** |
| 6 | |
| 7 | - **Orchestrate** — for any Go coding, review, debug, or setup task, load the primary skill plus all applicable secondary skills simultaneously. |
| 8 | - **Disambiguate** — when two skills seem to overlap, show the boundary table. See [disambiguation.md](references/disambiguation.md). |
| 9 | - **Configure** — add a `## Required Go skills` block to the project's `CLAUDE.md` or `AGENTS.md`. Follow [project-config.md](references/project-config.md). |
| 10 | |
| 11 | ## Skill loading |
| 12 | |
| 13 | 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. |
| 14 | |
| 15 | | Intent | Primary | Also load | |
| 16 | | --- | --- | --- | |
| 17 | | Design an API, choose a pattern | `golang-design-patterns` | `golang-structs-interfaces`, `golang-naming` | |
| 18 | | Name a type, function, or package | `golang-naming` | `golang-code-style` | |
| 19 | | Handle errors idiomatically | `golang-error-handling` | `golang-safety` (nil-heavy code) | |
| 20 | | Write goroutines, channels, sync | `golang-concurrency` | `golang-context` (if cancellation) | |
| 21 | | Pass deadlines / cancel operations | `golang-context` | `golang-concurrency` (if goroutines) | |
| 22 | | Design structs, embed, use interfaces | `golang-structs-interfaces` | `golang-design-patterns` | |
| 23 | | Database queries and transactions | `golang-database` | `golang-error-handling`, `golang-security` | |
| 24 | | Build a gRPC service | `golang-grpc` | `golang-testing`, `golang-error-handling` | |
| 25 | | Build a GraphQL API | `golang-graphql` | `golang-testing`, `golang-error-handling` | |
| 26 | | Build a CLI command tree | `golang-spf13-cobra` | `golang-cli`, `golang-spf13-viper` (if config) | |
| 27 | | Layer config from flags/env/file | `golang-spf13-viper` | `golang-spf13-cobra` | |
| 28 | | Write tests | `golang-testing` | `golang-stretchr-testify` (if using testify) | |
| 29 | | Apply optimization patterns | `golang-performance` | `golang-benchmark` (measure first) | |
| 30 | | Measure with pprof / benchstat | `golang-benchmark` | `golang-performance` (fix), `golang-troubleshooting` (root cause) | |
| 31 | | Debug a panic or unexpected behavior | `golang-troubleshooting` | `golang-safety`, `golang-benchmark` (if perf-related) | |
| 32 | | Monitor in production | `golang-observability` | `golang-performance` (if SLO breach) | |
| 33 | | Audit security vulnerabilities | `golang-security` | `golang-safety`, `golang-lint` | |
| 34 | | Review formatting and style | `golang-code-style` | `golang-naming`, `golang-lint` | |
| 35 | | Refactor or restructure existing code | `golang-refactoring` | `golang-naming`, `golang-code-style`, `golang-project-layout` | |
| 36 | | Configure golangci-lint | `golang-lint` | `golang-code-style` | |
| 37 | | Write godoc / README / CHANGELOG | `golang-documentation` | `golang-naming` | |
| 38 | | Set up a new project structure | `golang-project-layout` | `golang-design-patterns`, `golang-dependency-injection`, `golang-lint` | |
| 39 | | Set up CI/CD pipeline | `golang-continuous-integration` | `golang-lint`, `golang-security` | |
| 40 | | Choose a library | `golang-popular-libraries` | relevant library-specific skill | |
| 41 | | Look up a package's docs, versions, importers, or CVEs | `golang-pkg-go-dev` | `golang-dependency-management` | |
| 42 | | Navigate, diagnose, or refactor local code (definitions, references, rename) | `golang-gopls` | — | |
| 43 | | Adopt new Go language features | `golang-modernize` | `golang-lint` | |
| 44 | | Use samber/lo (slice/map helpers) | `golang-samber-lo` | `golang-data-structure |