Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
samber avatar

Golang How To

  • 30.9k installs
  • 2.9k repo stars
  • Updated August 1, 2026
  • samber/cc-skills-golang

golang-how-to is a skills orchestrator meta-skill that automatically loads all applicable Go skills for any coding, review, debug, or setup task.

About

A Go skills orchestrator that automatically loads the primary skill plus all applicable secondary skills for any coding, review, debug, or setup task. Eliminates the need to manually track which Go skills to use by identifying all relevant skills and loading them together.

  • Orchestrates multiple Go skills simultaneously for complex tasks
  • Covers design patterns, concurrency, error handling, testing, security
  • Disambiguates overlapping skill clusters with boundary tables

Golang How To by the numbers

  • 30,887 all-time installs (skills.sh)
  • +393 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #16 of 98 Go skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

golang-how-to capabilities & compatibility

Capabilities
skill orchestration · task routing · skill disambiguation
Use cases
code review · refactoring · debugging
From the docs

What golang-how-to says it does

when two skills seem to overlap, show the boundary table.
SKILL.md
npx skills add https://github.com/samber/cc-skills-golang --skill golang-how-to

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs30.9k
repo stars2.9k
Security audit3 / 3 scanners passed
Last updatedAugust 1, 2026
Repositorysamber/cc-skills-golang

Which Go coding skills should an agent load?

A Go skills orchestrator that automatically loads the primary skill plus all applicable secondary skills for any coding, review, debug, or setup task. Eliminates the need to manually track which Go s

Who is it for?

Developers using coding agents on Go projects who want automatic selection among dozens of specialized golang-* skills.

Skip if: Non-Go languages, single-skill tasks where the exact golang-* skill is already known, or teams not using samber/cc-skills-golang.

When should I use this skill?

Any Golang coding, review, debug, setup, or security task starts and the agent needs to pick the right golang-* skills.

What you get

Loaded golang-grpc, golang-testing, golang-security, or other targeted skills plus optional CLAUDE.md trigger configuration

  • Loaded specialized golang skills
  • CLAUDE.md or AGENTS.md skill triggers

Files

SKILL.mdMarkdownGitHub ↗

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 skills block to the project's CLAUDE.md or AGENTS.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.

IntentPrimaryAlso load
Design an API, choose a patterngolang-design-patternsgolang-structs-interfaces, golang-naming
Name a type, function, or packagegolang-naminggolang-code-style
Handle errors idiomaticallygolang-error-handlinggolang-safety (nil-heavy code)
Write goroutines, channels, syncgolang-concurrencygolang-context (if cancellation)
Pass deadlines / cancel operationsgolang-contextgolang-concurrency (if goroutines)
Design structs, embed, use interfacesgolang-structs-interfacesgolang-design-patterns
Database queries and transactionsgolang-databasegolang-error-handling, golang-security
Build a gRPC servicegolang-grpcgolang-testing, golang-error-handling
Build a GraphQL APIgolang-graphqlgolang-testing, golang-error-handling
Build a CLI command treegolang-spf13-cobragolang-cli, golang-spf13-viper (if config)
Layer config from flags/env/filegolang-spf13-vipergolang-spf13-cobra
Write testsgolang-testinggolang-stretchr-testify (if using testify)
Apply optimization patternsgolang-performancegolang-benchmark (measure first)
Measure with pprof / benchstatgolang-benchmarkgolang-performance (fix), golang-troubleshooting (root cause)
Debug a panic or unexpected behaviorgolang-troubleshootinggolang-safety, golang-benchmark (if perf-related)
Monitor in productiongolang-observabilitygolang-performance (if SLO breach)
Audit security vulnerabilitiesgolang-securitygolang-safety, golang-lint
Review formatting and stylegolang-code-stylegolang-naming, golang-lint
Configure golangci-lintgolang-lintgolang-code-style
Write godoc / README / CHANGELOGgolang-documentationgolang-naming
Set up a new project structuregolang-project-layoutgolang-design-patterns, golang-dependency-injection, golang-lint
Set up CI/CD pipelinegolang-continuous-integrationgolang-lint, golang-security
Choose a librarygolang-popular-librariesrelevant library-specific skill
Adopt new Go language featuresgolang-modernizegolang-lint
Use samber/lo (slice/map helpers)golang-samber-logolang-data-structures, golang-performance
Use samber/oops (structured errors)golang-samber-oopsgolang-error-handling
Use log/sloggolang-samber-sloggolang-observability, golang-error-handling
Use dependency injectiongolang-dependency-injectiongolang-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

CategorySkills
Code Qualitygolang-code-style golang-documentation golang-error-handling golang-lint golang-naming golang-safety golang-security golang-structs-interfaces
Architecture & Designgolang-concurrency golang-context golang-data-structures golang-database golang-dependency-injection golang-design-patterns golang-modernize
QA & Performancegolang-benchmark golang-observability golang-performance golang-testing golang-troubleshooting
Project Setupgolang-cli golang-continuous-integration golang-dependency-management golang-popular-libraries golang-project-layout golang-stay-updated
APIsgolang-graphql golang-grpc golang-swagger
Dependency Injectiongolang-dependency-injection golang-google-wire golang-uber-dig golang-uber-fx golang-samber-do
Frameworksgolang-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
Testinggolang-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)
  • Gap — type vs arch: golang-structs-interfaces (type design) vs golang-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) vs golang-security (external threats)
  • Gap — features vs rules: golang-modernize (language adoption) vs golang-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>.

Related skills

How it compares

Use golang-how-to as the entry router for any Go task; invoke a specific golang-* skill directly when you already know the exact domain.

FAQ

What does golang-how-to do on a gRPC task?

golang-how-to loads golang-grpc together with golang-testing and golang-error-handling when the task involves writing a gRPC service, combining implementation, test, and error-handling guidance from samber/cc-skills-golang.

How does golang-how-to resolve overlapping Go skills?

golang-how-to disambiguates competing clusters such as performance versus benchmark versus troubleshooting, samber/lo versus mo versus ro, DI groups, and safety versus security so agents load the correct specialized skill.

Is Golang How To safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Gointegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.