Agent skill · software engineering · aiskillstore
go-concurrency-patterns
Master Go concurrency with goroutines, channels, sync primitives, and context. Use when building concurrent Go applications, implementing worker pools, or debugging race conditions.
Why this skill is useful
Provides specific concurrency patterns and implementations in Go that the AI wouldn't reliably generate on its own.
What it needs
About 7k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.
What this skill does
Go Concurrency Patterns Production patterns for Go concurrency including goroutines, channels, synchronization primitives, and context management. When to Use This Skill Building concurrent Go applications Implementing worker pools and pipelines Managing goroutine lifecycles Using channels for communication Debugging race conditions Implementing graceful shutdown Core Concepts 1. Go Concurrency Primitives Primitive Purpose ----------- --------- goroutine Lightweight concurrent execution channel Communication between goroutines select Multiplex channel operations sync.Mutex Mutual exclusion sync.WaitGroup Wait for goroutines to complete context.Context Cancellation and deadlines 2. Go Concurrency Mantra Quick Start Patterns Pattern 1: Worker Pool Pattern 2: Fan-Out/Fan-In Pipeline Pattern 3: Bounded Concurrency with Semaphore Pattern 4: Graceful Shutdown Pattern 5: Error Group with Cancellation Pattern 6: Concurrent Map with sync.Map Pattern 7: Select with Timeout and Default Race Detection Best Practices Do's Use context - For cancellation and deadlines Close channels - From sender side only Use errgroup - For concurrent operations with errors Buffer channels - When you know the count Prefer channels - Over mutexes when possible Don'ts Don't leak goroutines - Always have exit path Don't close from receiver - Causes panic Don't use shared memory - Unless necessary Don't ignore context cancellation - Check ctx.Done() Don't use time.Sleep for sync - Use proper primitives Resources Go Concurrency Patterns Effective Go - Concurrency Go by Example - Goroutines
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/go-concurrency-patterns--78a2d3