# Golang How To

Golang skills orchestrator, always active on any Golang coding, review, debug, or...

- Repository: https://github.com/samber/cc-skills-golang (3750 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add samber/cc-skills-golang --skill golang-how-to -g -a claude-code -y`
Codex: `npx skills add samber/cc-skills-golang --skill golang-how-to -g -a codex -y`
Cursor: `npx skills add samber/cc-skills-golang --skill golang-how-to -g -a cursor -y`
Gemini CLI: `npx skills add samber/cc-skills-golang --skill golang-how-to -g -a gemini-cli -y`

## Description

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 (performance vs benchmark vs troubleshooting, samber/lo vs mo vs ro, DI cluster, safety vs security), and configures the project's agent-config file (CLAUDE.md, AGENTS.md, GEMINI.md, Cursor rules, or Copilot instructions) to force-trigger skills in a project (/golang-how-to configure).

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

**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**, write the always-load directive for `golang-how-to` itself, plus an optional `## Required Go skills` block, to the project's agent-config file (CLAUDE.md, AGENTS.md, or equivalent). Follow [project-config.md](references/project-config.md).

**Questions:** In Configure mode, ask the user through the environment's question tool, never as plain-text prose. One question at a time, wait for the answer. If the environment has no question tool, ask in prose with the same options.

**Dependencies:** `gopls`, `go install golang.org/x/tools/gopls@latest`; Claude Code's 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)).

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

The rest: https://github.com/samber/cc-skills-golang/blob/HEAD/skills/golang-how-to/SKILL.md
