From programming
Idiomatic Go development. Use when writing Go code, designing APIs, reviewing Go implementations, or changing Go tests. Follow the module's target Go version. Prefer stdlib, concrete types, explicit errors, context propagation, fast feedback, and behavior tests. NOT for Python, Rust, TypeScript, shell scripts, or infra-only work.
How this skill is triggered — by the user, by Claude, or both
Slash command
/programming:writing-goengineerThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use only for Go modules. Follow the module's target Go version.
Use only for Go modules. Follow the module's target Go version.
Read principles.md before writing, changing, or reviewing Go code. Read conditional references only when the change touches that area.
go.mod, toolchain, CI, and nearby code before using version-specific APIs.sync.WaitGroup.Go when no error propagation is needed.errgroup for goroutine errors or shared cancellation; add it only when the dependency is justified.testing/synctest for deterministic concurrent tests when available.crypto/hpke and testing/cryptotest over third-party code when they fit.encoding/json/v2 as experimental unless the project opts into GOEXPERIMENT=jsonv2.new(expr) only when clearer than a local variable, composite literal, or address expression.Run focused package tests and lint while editing, then the project-configured build, tests, lint, vet, and formatting checks before final output. Add race or concurrency-specific checks when the change touches goroutines, shared state, timers, or channels.
If a check is unavailable, state that and run the closest configured gate. If a check fails, quote the failure, diagnose the cause, fix one issue, and rerun the relevant check.
go.mod before choosing files, commands, or import paths.go.mod, toolchain, CI, and lockfiles before using version-specific APIs.Include:
npx claudepluginhub alexei-led/cc-thingz --plugin programmingGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.