Golang concurrency patterns. Use when writing or reviewing concurrent Go code involving goroutines, channels, select, locks, sync primitives, errgroup, singleflight, worker pools, or fan-out/fan-in pipelines. Also triggers when you detect goroutine leaks, race conditions, channel ownership issues, or need to choose between channels and mutexes.
84
85%
Does it follow best practices?
Impact
78%
1.00xAverage score across 3 eval scenarios
Passed
No known issues
Typed atomics and mutex embedding convention
Typed atomic for request count
100%
100%
No raw atomic functions
100%
100%
Mutex above protected fields
100%
100%
RWMutex for endpoint map
100%
100%
RLock for Snapshot reads
100%
100%
No mutex held during HTTP call
100%
100%
Context cancellation in refresh goroutine
100%
100%
No RLock-to-Lock upgrade
100%
100%
Unexported mutex field
100%
100%
Concurrent test coverage
100%
100%
sync.Once initialization and goroutine leak detection
sync.Once or OnceValue used
100%
100%
OnceValue/OnceValues preferred
0%
0%
goleak import
100%
100%
goleak in TestMain
100%
100%
wg.Go() used
0%
0%
Concurrent initialization test
100%
100%
Factory call count check
100%
100%
Thread-safe registry structure
100%
100%
Error propagated from factory
100%
100%
Buffered channel documentation and samber/ro pipeline
samber/ro or iterator for transforms
0%
0%
No goroutines for CPU transforms
100%
100%
errgroup.SetLimit for enrichment
0%
0%
errgroup.WithContext used
0%
0%
Buffered channel comment
70%
100%
Context propagated to HTTP
100%
100%
Inactive products filtered
100%
100%
high-value tag applied
100%
100%
Test uses httptest.Server
100%
100%
b88f91d
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.