Go Conventions
SkillDev toolsCarlos Becker's Go implementation and review conventions. Use when writing or reviewing Go in caarlos0, GoReleaser, nFPM, env, svu, fang, and related projects.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Go Conventions skill
What this skill tells your AI
The instructions your AI receives, as published by caarlos0/dotfiles in skills/go-conventions/SKILL.md and read by ahel’s review.
Follow repository instructions first. Prefer idiomatic, unsurprising Go with a small public surface and few dependencies.
- Use the standard library unless a dependency provides clear, necessary value.
Every new
requireingo.modneeds justification. - Wrap errors with context using
%w; useerrors.Isanderrors.As. Error messages are lowercase, have no trailing punctuation, and say what failed. - Put implementation details in
internal/. Define interfaces at the consumer and add generics or functional options only when concrete callers need them. - For CLIs, follow existing Cobra and fang patterns rather than introducing a second framework.
- Use struct tags for declarative configuration when the repository already follows that pattern.
- Write surgical regression tests with
testify/require. Use per-caset.Run; use tables only when cases genuinely share a shape. Keep decisive assertions at the failing test line rather than hiding them in helpers. - Discover and use repository
maketargets such astest,lint,build, andci; do not assume they exist. - Keep release and container changes reproducible. Follow existing GoReleaser configuration and pin container images to digests when that is the repository convention.
Run gofmt and the repository's existing targeted tests and lint commands. Do
not add retries, timeouts, abstractions, or compatibility layers without a
demonstrated problem.
Signals
- GitHub stars
- 220
- Forks
- 11
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
go-conventions-caarlos0- Source
- github.com/caarlos0/dotfiles