Go Code Review Skill
Auto-triggers when reviewing Go code to catch common mistakes from https://100go.co/
Review Process
- •Read Go file(s) mentioned
- •Check against patterns in [[knowledge-base.md]]
- •Report issues with:
- •Severity (Critical/Major/Minor)
- •Location (file:line)
- •Mistake # from knowledge base
- •Suggested fix
- •Code example if applicable
Priority Checks
Critical (must fix):
- •Error handling (#48-54): ignored errors, incorrect wrapping/comparison
- •Concurrency (#58, 69, 70, 74): data races, mutex misuse, sync type copying
- •Resource leaks (#26, 28, 76, 79): unclosed resources, memory leaks
Major (should fix):
- •Interface design (#5-7): pollution, wrong side, returning interfaces
- •Goroutine lifecycle (#62, 63): no stop mechanism, loop var capture
- •Testing (#83, 86): no race flag, sleep in tests
Minor (consider):
- •Code organization (#1, 2, 15): shadowing, nesting, missing docs
- •Performance (#21, 27, 39): unoptimized init, string concat
Reference Knowledge Base
See [[knowledge-base.md]] for full 100 Go mistakes reference.
Example Output
text
**Issue**: Error not wrapped with context
**Severity**: Major
**Location**: handler.go:42
**Mistake**: #49 - Ignoring When to Wrap an Error
**Fix**: Use `fmt.Errorf("fetch user: %w", err)` instead of returning raw error
**Pattern**: Always wrap errors for context/traceability