From claude-code-skills
This skill should be used when the user is working with Go code, asks about Go patterns, debugging goroutine issues, designing interfaces, writing concurrent systems, gRPC APIs, CLI tools in Go, performance profiling, or asks "how do I do X in Go". Activates for .go files and Go project context (go.mod present).
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-code-skills:golang-devThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Context loaded: working in a Go project with a senior developer.
Context loaded: working in a Go project with a senior developer.
Esta skill foi projetada para um desenvolvedor sênior em Go. O foco é idiomatismo, correção de concorrência e código que escala.
O que fazer:
file:line ao discutir código existenteinterface{} / any desnecessário — tipo concreto quase sempre é melhorrtk go test ./... e rtk go build ./... para qualquer verificação bashO que não fazer:
gofmt, goimports ou golangci-lint já pegariampanic em código de biblioteca — panics são para programação defensiva em mainPrincípio central: em Go, um goroutine leak é silencioso e acumula. Concorrência sem modelo mental claro de ownership é código com bug esperando para manifestar.
| Task | Agent | Model | Quando usar |
|---|---|---|---|
| Review rápido, pre-commit | golang-reviewer | Haiku | Sempre que a tarefa for "revise este arquivo/diff" |
| Arquitetura, debug, design | golang-expert | Sonnet | Quando precisa de raciocínio sobre design |
| Ferramental científico em Go | research-validator | Opus | Se o código Go tem função científica crítica |
Padrão: responder inline com Sonnet. Lançar agente para tarefas isoladas.
gofmt/goimports no CI — não reportar formataçãogolangci-lint rodando — não reportar o que ele já pegago.modfmt.Errorf("context: %w", err)rtk go test ./...
rtk go build ./...
rtk git diff
Antes de escrever qualquer goroutine, responder:
Se não der para responder as 4 perguntas, a goroutine não foi projetada ainda.
io.Reader, io.Writer, io.Closer_ um erro não-trivialfmt.Errorf("user.Find(%d): %w", id, err)var ErrNotFound = errors.New("not found") — unexported se internoAo final de qualquer sessão que resulte em alteração de código, atualizar README.md e CHANGELOG.md do projeto. Ver protocolo completo em skills/shared/changelog-readme-protocol.md.
references/patterns.md — Concorrência, interfaces, CLI, gRPC, HTTP middlewarereferences/pitfalls.md — Goroutine leaks, nil maps, defer em loop, variável de loop capturadanpx claudepluginhub josgomes/claude-code-skills --plugin claude-code-skillsGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.