About Effective Go
Effective Go is a coding skill for writing, reviewing, and refactoring Go code. It applies conventions from the official guide, including formatting, error handling, naming, and concurrency.
Key features
- 01Guidance for idiomatic Go
- 02gofmt formatting conventions
- 03Naming and error-handling practices
- 04Concurrency and interface guidance
- 05Documentation conventions
Use cases
- 01Writing new Go code
- 02Reviewing existing Go code
- 03Refactoring Go implementations
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ openshift/ hypershift --skill effective-goAfter installing, type/effective-goin Claude Code to confirm it loaded.
Details
From the project READMEEffective Go
Apply best practices and conventions from the official Effective Go guide to write clean, idiomatic Go code.
When to Apply
Use this skill automatically when:
- Writing new Go code
- Reviewing Go code
- Refactoring existing Go implementations
Key Reminders
Follow the conventions and patterns documented at https://go.dev/doc/effective_go, with particular attention to:
- Formatting: Always use
gofmt- this is non-negotiable - Naming: No underscores, use MixedCaps for exported names, mixedCaps for unexported
- Error handling: Always check errors; return them, don't panic
- Concurrency: Share memory by communicating (use channels)
- Interfaces: Keep small (1-3 methods ideal); accept interfaces, return concrete types
- Documentation: Document all exported symbols, starting with the symbol name
References
- Official Guide: https://go.dev/doc/effective_go
- Code Review Comments: https://github.com/golang/go/wiki/CodeReviewComments
- Standard Library: Use as reference for idiomatic patterns
Comments
Markdown supported