Claude Marketplaces
SkillsMCP serversMarketplacesDigestTools
Submit

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP servers by category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control
Claude Marketplaces

An independent directory of skills, plugins and MCP servers for Claude Code. Not affiliated with Anthropic.

Browse

  • Skills
  • MCP servers
  • Marketplaces
  • Weekly digest
  • Skill index
  • MCP index
  • Marketplace index

Site

  • About
  • Tools
  • Submit
  • Feedback
  • Privacy
  • llms.txt
  • Plugins reference

Maker

  • Snug
  • Agent Caffeine
  • knobs
  • Wax
  • Vectoys
  • mertduzgun.com
Crafted at
Skills/Backend & APIs
wshobson avatar

Go Concurrency Patterns

wshobson/agents

A solid collection of battle-tested Go concurrency patterns that covers the essentials: worker pools, fan-out/fan-in pipelines, semaphore-based rate limiting, and graceful shutdown handling. The code examples are production-ready and demonstrate proper context usage, channel management, and synchronization primitives. What I appreciate is the focus on real patterns you'll actually encounter, like bounded concurrency and proper goroutine lifecycle management. The graceful shutdown pattern alone is worth having on hand since most tutorials skip this crucial piece. Perfect reference when you need to implement concurrent processing or debug those inevitable race conditions that pop up in Go services.

installs
11.4K
GitHub stars
41.8K
last updated
Aug 21, 2026
View on GitHubSave

Install

$ npx -y skills add wshobson/agents --skill go-concurrency-patterns --agent claude-code

Installs into .claude/skills of the current project.

Files

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

PrimitivePurpose
goroutineLightweight concurrent execution
channelCommunication between goroutines
selectMultiplex channel operations
sync.MutexMutual exclusion
sync.WaitGroupWait for goroutines to complete
context.ContextCancellation and deadlines

2. Go Concurrency Mantra

Don't communicate by sharing memory;
share memory by communicating.

Quick Start

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 patterns and worked examples

Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.

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
SKILL.md on GitHub

Sponsors

SnugThe clipboard manager you and your agent can use, safelyAgent CaffeineClose your lid, come back to finished workWaxBlock anything with supervision, without erasing your iPhoneOpen StepsSponsoredFree and open-source skills that make AI coding agents easier to understand, verify, and control.

Details

Repository
github.com/wshobson/agents
Categories
Backend & APIs, Debugging, Go

More from wshobson/agents

All 174
  • Billing Automation11.3K
  • Startup Metrics Framework11.3K
  • Data Quality Frameworks11.3K
  • Prometheus Configuration11.3K
  • K8s Manifest Generator11.3K
  • Python Background Jobs11.2K
  • Ml Pipeline Workflow11.2K
  • Context Driven Development11.2K
  • Dependency Upgrade11.2K
  • Competitive Landscape11.1K
  • Memory Forensics11.1K
  • Bats Testing Patterns11.1K
  • Workflow Patterns11.1K
  • Risk Metrics Calculation11.1K
  • Cqrs Implementation11.1K
  • Python Resource Management11.1K
  • Airflow Dag Patterns11K
  • Dbt Transformation Patterns11K
  • Binary Analysis Patterns11K
  • Incident Runbook Templates11K
  • Paypal Integration11K
  • Temporal Python Testing11K
  • Anti Reversing Techniques11K
  • Angular Migration10.9K

Recommended

More Backend & APIs
1earthtojake avatarstep-partsearthtojake/text-to-cadFind, evaluate, and download common purchasable CAD parts from step.parts, including named off-the-shelf actuators, servos, motors, electronics boards, connecto11.3Kinstalls
2intellectronica avatarcontext7intellectronica/agent-skillsRetrieve up-to-date documentation for software libraries, frameworks, and components via the Context7 API. This skill should be used when looking up documentati11.2Kinstalls
3base44 avatarbase44-sdkbase44/skillsThe base44 SDK is the library to communicate with base44 services. In projects, you use it to communicate with remote resources (entities, backend functions, ai11.1Kinstalls
4elevenlabs avatarmusicelevenlabs/skillsGenerate music using ElevenLabs Music API. Use when creating instrumental tracks, songs with lyrics, background music, jingles, or any AI-generated music compos11.1Kinstalls
5wshobson avatarincident-runbook-templateswshobson/agentsCreate structured incident response runbooks with step-by-step procedures, escalation paths, and recovery actions. Use this skill when building a service outage11Kinstalls
6callstackincubator avatargithub-actionscallstackincubator/agent-skillsGitHub Actions workflow patterns for React Native iOS simulator and Android emulator cloud builds with downloadable artifacts. Use when setting up CI build pipe11Kinstalls