go-concurrency-web

Installation
SKILL.md

Go Concurrency for Web Applications

Quick Reference

Topic Reference
Worker Pools & errgroup references/worker-pools.md
Rate Limiting references/rate-limiting.md
Race Detection & Fixes references/race-detection.md

Core Rules

  1. Goroutines are cheap but not free — each goroutine consumes ~2-8 KB of stack. Unbounded spawning under load leads to OOM.
  2. Always have a shutdown path — every goroutine you start must have a way to exit. Use context.Context, channel closing, or sync.WaitGroup.
  3. Prefer channels for communication — use channels to coordinate work between goroutines and signal completion.
  4. Use mutexes for state protection — when goroutines share mutable state, protect it with sync.Mutex, sync.RWMutex, or sync/atomic.
  5. Never spawn raw goroutines in HTTP handlers — use worker pools, errgroup, or other bounded concurrency primitives.

Gates (check before merge or review)

Related skills

More from existential-birds/beagle

Installs
39
GitHub Stars
57
First Seen
Feb 9, 2026