This covers the practical side of Go's concurrency model: when to spawn goroutines, how to make sure they stop, and whether to reach for channels or mutexes. The core rule is simple: never start a goroutine without knowing how it will stop. You'll find normative guidance on goroutine lifetimes, WaitGroup patterns, channel direction, and atomic operations, plus references to leak detection with goleak. It pushes you toward synchronous functions by default and letting callers add concurrency when needed. The channel sizing rule is refreshingly blunt: zero or one, anything else needs written justification. Good for teams that want to avoid the classic pitfalls like goroutine leaks, blocked channels, and races on shared state.
npx skills add https://github.com/cxuu/golang-skills --skill go-concurrency