From go-code-review
Auto-review Go code for 100+ common mistakes when analyzing .go files, discussing Go patterns, or reviewing PRs with Go code. Checks error handling, concurrency, interfaces, performance, testing, and stdlib usage.
How this skill is triggered — by the user, by Claude, or both
Slash command
/go-code-review:go-code-reviewThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Auto-triggers when reviewing Go code to catch common mistakes from https://100go.co/
Auto-triggers when reviewing Go code to catch common mistakes from https://100go.co/
Apply to .go files and Go PRs. Not a substitute for go vet or golangci-lint — use both alongside this review.
Critical (fix before merge):
Major (should fix):
Minor (consider):
func fetchUser(id int) (*User, error) {
row := db.QueryRow("SELECT * FROM users WHERE id=?", id)
var u User
if err := row.Scan(&u.Name, &u.Email); err != nil {
return nil, err
}
return &u, nil
}
Output:
Mistake: #49 — Ignoring When to Wrap an Error
Severity: Major
Location: handler.go:5
Fix: return nil, fmt.Errorf("fetchUser id=%d: %w", id, err)
Why: Without %w, callers cannot trace origin; errors.Is/errors.As chains break
npx claudepluginhub smykla-skalski/sai --plugin go-code-reviewReviews Go code for idiomatic patterns, error handling, concurrency safety, and common mistakes. Useful for .go files, goroutines, interfaces, generics (1.18+), and errors.Join/slog (1.20+/1.21+).
Reviews Go code against community style standards for formatting, documentation, error handling, and naming using checklists from Go Wiki and Uber guide. Use before PRs or code reviews.
Reviews Go code against style guide, focusing on critical bugs, race conditions, and maintainability issues. Use for PRs, feature branches, or completed work reviews.