go-concurrency-patterns
Build Reliable Go Concurrency
Concurrent Go code can leak goroutines, race on shared data, or ignore cancellation. This skill provides practical patterns for worker pools, pipelines, graceful shutdown, and race checks.
Install with my Agent
Copy this request to your Agent. It includes the canonical Skill page and manifest.
Review the Skillstore skill "go-concurrency-patterns" from https://skillstore.io/skills/wshobson-go-concurrency-patterns.md and its manifest at https://skillstore.io/api/skills/wshobson-go-concurrency-patterns/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.Your Agent should still show its plan and request any confirmation required by the security policy.
Agent-readable resources
Use these links when an AI agent, crawler, or script needs clean context instead of reading the full page.
Test it
Using "go-concurrency-patterns". Request for a worker pool that handles cancellation and returns results.
Expected outcome:
- A bounded worker pool design with job and result channels.
- Guidance to close results after all workers finish.
- Notes on checking context cancellation inside each worker.
Using "go-concurrency-patterns". Review of a concurrent Go service that sometimes hangs during shutdown.
Expected outcome:
- A checklist of likely blocked goroutines and unclosed channels.
- Suggestions to propagate context cancellation to each worker.
- Race detector commands to verify the fix locally.
Using "go-concurrency-patterns". Need to limit concurrent HTTP requests in a Go batch job.
Expected outcome:
- A recommendation to use errgroup with a concurrency limit.
- Advice to attach requests to context and return the first error.
- Notes about protecting shared result slices with a mutex.
Security Audit
SafeThe static findings are false positives caused by Markdown formatting and Go tutorial examples. The skill contains no prompt injection, credential handling, hidden execution, or filesystem traversal intent. The documented Go commands and reference links are transparent educational content.
Risk Factors
โก Contains scripts (7)
โ๏ธ External commands (25)
๐ Network access (3)
๐ Filesystem access (2)
Share & cite this report
Share the versioned assessment report, neutral badge, embed card, and citations. Skillstore reports evidence without deciding whether this Skill is safe.
Copy report link
https://skillstore.io/skills/wshobson-go-concurrency-patterns/audits/8?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportMarkdown badge
[](https://skillstore.io/skills/wshobson-go-concurrency-patterns?utm_source=security_passport_badge)HTML badge
<a href="https://skillstore.io/skills/wshobson-go-concurrency-patterns?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/wshobson-go-concurrency-patterns/security.svg" alt="Skillstore security assessment" loading="lazy"></a>Embed card
<iframe src="https://skillstore.io/embed/skills/wshobson-go-concurrency-patterns.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>Academic citations (APA ยท BibTeX ยท CFF)
APA citation
wshobson. (2026). go-concurrency-patterns security audit report (audit version 8) [Author version unspecified]. Skillstore. https://skillstore.io/skills/wshobson-go-concurrency-patterns/audits/8BibTeX citation
@techreport{wshobson-wshobson-go-concurrency-patterns-2026,
author = {wshobson},
title = {go-concurrency-patterns security audit report (audit version 8)},
institution = {Skillstore},
year = {2026},
number = {8},
url = {https://skillstore.io/skills/wshobson-go-concurrency-patterns/audits/8},
note = {Author version unspecified}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "go-concurrency-patterns security audit report (audit version 8)"
version: "unspecified"
type: report
authors:
- name: "wshobson"
date-released: "2026-07-07"
url: "https://skillstore.io/skills/wshobson-go-concurrency-patterns/audits/8"
identifiers:
- type: other
value: "skillstore:wshobson-go-concurrency-patterns:audit:8"
description: "Skillstore immutable audit report identifier"
Compare variants
2 installable variantsEach author remains a separate installable skill. The recommended variant is ranked by Skillstore evidence.
Why this variant is first
sickn33-go-concurrency-patterns
2026-08-21
wshobson-go-concurrency-patterns
2026-08-21
Skillstore Score
Why this score Evidence Confidence: HighWhat You Can Build
Design a Worker Pool
Create a bounded worker pool that respects context cancellation and closes result channels correctly.
Review Concurrent Code
Check a Go service for goroutine leaks, unsafe shared state, missing cancellation, and channel misuse.
Teach Go Patterns
Use concise examples to explain channels, fan-in, semaphores, graceful shutdown, and race detection.
Try These Prompts
Explain the Go worker pool pattern using goroutines, channels, and WaitGroup. Keep the explanation short and practical.
Design a Go pipeline that supports cancellation, fan-out processing, and fan-in collection. Include the key functions and failure behavior.
Review my Go concurrency design for goroutine leaks, blocked sends, missing context checks, unsafe shared state, and shutdown problems.
Recommend a production concurrency strategy for a Go service with external calls, rate limits, partial failures, cancellation, and race detector validation.
Best Practices
- Use context cancellation for goroutine lifetimes and external calls.
- Close channels from the sender side after all sends are complete.
- Run the race detector when changing shared state or synchronization logic.
Avoid
- Do not use time.Sleep as a synchronization mechanism.
- Do not close channels from receivers or from multiple goroutines.
- Do not start goroutines without a clear exit path.