From systems-programming
Master Go concurrency with goroutines, channels, sync primitives, and context. Use when building concurrent Go applications, implementing worker pools, or debugging race conditions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/systems-programming:go-concurrency-patternsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Production patterns for Go concurrency including goroutines, channels, synchronization primitives, and context management.
Production patterns for Go concurrency including goroutines, channels, synchronization primitives, and context management.
| 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 |
Don't communicate by sharing memory;
share memory by communicating.
package main
import (
"context"
"fmt"
"sync"
"time"
)
func main() {
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
results := make(chan string, 10)
var wg sync.WaitGroup
// Spawn workers
for i := 0; i < 3; i++ {
wg.Add(1)
go worker(ctx, i, results, &wg)
}
// Close results when done
go func() {
wg.Wait()
close(results)
}()
// Collect results
for result := range results {
fmt.Println(result)
}
}
func worker(ctx context.Context, id int, results chan<- string, wg *sync.WaitGroup) {
defer wg.Done()
select {
case <-ctx.Done():
return
case results <- fmt.Sprintf("Worker %d done", id):
}
}
Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.
npx claudepluginhub p/dtorr1981-systems-programming-plugins-systems-programming4plugins reuse this skill
First indexed Jun 3, 2026
Master Go concurrency with goroutines, channels, sync primitives, and context. Use when building concurrent Go applications, implementing worker pools, or debugging race conditions.
Provides Go concurrency patterns for goroutines, channels, sync primitives, and context. Useful for concurrent applications, worker pools, and debugging race conditions.
Provides code examples for Go goroutines, channels (unbuffered, buffered, directional, closing), select statements, and sync patterns when writing concurrent Go code.