go-development
Go development practices and tooling. Activates for Go projects (*.go, go.mod, go.sum). Use for Go code style, testing, linting, concurrency, and idioms.
When & Why to Use This Skill
This Claude skill streamlines Go (Golang) development by enforcing industry-standard practices, optimizing concurrency patterns, and automating code quality checks. It ensures your Go projects adhere to the Uber Go Style Guide and utilize essential tools like golangci-lint and gofumpt for robust, high-performance software engineering.
Use Cases
- Refactoring legacy Go code to follow modern idioms, proper naming conventions, and package structures.
- Implementing thread-safe concurrency patterns using mutexes and channels to prevent race conditions in high-concurrency applications.
- Setting up comprehensive table-driven unit tests and mocks to ensure high code coverage and reliability.
- Optimizing Go application performance through memory efficiency, allocation reduction, and profiling analysis.
- Automating linting, formatting, and declaration ordering to maintain a consistent and clean codebase across large development teams.
| name | go-development |
|---|---|
| description | Go development practices and tooling. Use when working with Go code (*.go files, go.mod, go.sum). Activates for Go code style, testing, linting, concurrency patterns, and Go idioms. |
| allowed-tools | ["shell", "apply_patch", "read_file", "write_file", "update_plan"] |
| short-description | Go development best practices |
Go Development
Read these reference files before proceeding:
references/style.md- Go code style guidelinesreferences/idioms.md- Go conventions and best practicesreferences/concurrency.md- Go thread safety and race conditionsreferences/testing.md- Go test practices (table-driven, subtests)references/tooling.md- Go commands (go test, golangci-lint, etc.)references/organization.md- Go code structure and package designreferences/performance.md- Go optimization and profiling
Also reference:
~/.config/agent/domain/coding/safety.md- Runtime and security safety~/.config/agent/domain/testing/unit.md- Unit test strategies
Instructions
Apply all guidance from the reference files listed above when working with Go code. This skill covers:
- Code style: Follow Uber Go Style Guide, proper naming, imports, line length
- Idioms: Leverage Go conventions, zero values, error handling patterns
- Concurrency: Thread safety, mutex usage, race conditions
- Testing: Table-driven tests, subtests, testify/mock usage
- Tooling: go test, golangci-lint, gofumpt, golines commands
- Organization: Package structure, declaration ordering
- Performance: Memory efficiency, allocation reduction, profiling
All guidance from AGENT.md also applies (task tracking, problem-solving framework, code review priorities).