go-concurrency
FeaturedUse when writing or reviewing Go concurrency — goroutines, channels, errgroup, context cancellation, or goroutine leaks. Not for sequential idioms (go-core-idioms).
Install
Quality Score: 89/100
Skill Content
Details
- Author
- fusengine
- Repository
- fusengine/agents
- Created
- 8 months ago
- Last Updated
- 2 days ago
- Language
- CSS
- License
- MIT
Similar Skills
Semantically similar based on skill content — not just same category
go-concurrency
Use when writing or reviewing Go code that starts goroutines, passes context, uses channels, sync primitives, worker pools, or errgroup — goroutine lifecycle and leaks, context propagation and cancellation, timeouts, and safe shared state. Triggers on `go func`, `context.Context`, `sync.`, `select`, or reports of leaks, races, and hangs.
go-concurrency
Use when writing or reviewing concurrent Go code — goroutines, channels, select, mutexes, atomics, errgroup, singleflight, worker pools, or fan-out/fan-in pipelines. Apply proactively whenever a goroutine is spawned, a shared field is mutated, or a channel is created, even if the user has not asked about concurrency. Does not cover context.Context patterns (see go-context).
golang-concurrency
Golang concurrency design — goroutine lifecycle and leak prevention, channels and `select`, channel ownership and direction, `sync.Mutex`/`RWMutex`/`sync.Map`/`sync.Once`/atomics, `errgroup`, `singleflight`, worker pools, and fan-out/fan-in pipelines. Use when writing or reviewing concurrent Go code, when choosing between channels and mutexes, when protecting a shared map or counter, or when a goroutine has no clear exit. Not for defensive coding unrelated to concurrency such as nil panics, slice aliasing, or numeric overflow (→ See `samber/cc-skills-golang@golang-safety` skill), and not for debugging a specific hung, crashing, or racing program after the fact (→ See `samber/cc-skills-golang@golang-troubleshooting` skill).