CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

golang-concurrency

Golang concurrency design — goroutine lifecycle and leak prevention, channels and `select`, channel ownership and direction, `sync.Mutex`/`RWMutex`/`sync.Map`/`sync.Once`/atomics, `errgroup`, `singleflight`, worker pools, and fan-out/fan-in pipelines. Use when writing or reviewing concurrent Go code, when choosing between channels and mutexes, when protecting a shared map or counter, or when a goroutine has no clear exit. Not for defensive coding unrelated to concurrency such as nil panics, slice aliasing, or numeric overflow (→ See `samber/cc-skills-golang@golang-safety` skill), and not for debugging a specific hung, crashing, or racing program after the fact (→ See `samber/cc-skills-golang@golang-troubleshooting` skill).

79

1.40x
Quality

87%

Does it follow best practices?

Impact

70%

1.40x

2 of 3 eval scenarios. Add 1 more for a full score.

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured guideline skill: prescriptive decision tables, a concrete checklist, clearly separated modes, and clean one-level-deep progressive disclosure into three real reference files. The main deductions are version-conditional notes scattered through the tables and the near-total absence of inline executable code, which lives in the references instead.

Suggestions

Consolidate the Go-version-conditional guidance ('Go 1.19+', 'Go 1.21+', 'Go 1.23+', 'Go 1.25+') into a single version-gated section or the relevant reference file so the core tables stay version-stable and token-lean.

Inline one short canonical code snippet in SKILL.md (e.g., the errgroup-with-context pattern that the tables repeatedly point to) so the most common case is executable without opening a reference file.

Make the write-mode workflow an explicit ordered sequence (design → implement → `go test -race ./...` + goleak verification) with a validation checkpoint, mirroring the clarity the audit mode already has.

DimensionReasoningScore

Conciseness

The body is dense, prescriptive decision tables and rules with no padded prose, but version-conditional notes are scattered throughout ('Go 1.25+: prefer `wg.Go(func(){ ... })`', 'Go 1.21+: `OnceFunc`, `OnceValue`', 'Go 1.19+ typed atomics') rather than consolidated in a versioned/deprecated section, which the rubric penalizes for time-sensitive information.

4 / 5

Actionability

Concrete commands are present ('go test -race ./...', the pprof curl endpoints, 'go.uber.org/goleak') and every mistakes-table row pairs a problem with a specific fix ('Use `errgroup.SetLimit(n)`', 'Reuse `time.NewTimer` + `Reset`'), but the body itself contains almost no executable Go code — it delegates examples to the reference files — leaving minor gaps in the inline guidance.

4 / 5

Workflow Clarity

Three clearly delimited modes (Write / Review / Audit), a numbered five-step parallel audit procedure, and a pre-spawn checklist ('How will it exit? ... Who owns the channels?') give a clear structure, and verification via '-race' and goleak is mentioned; however the write-mode sequence is implicit (principles and tables rather than ordered steps) and there are no explicit validate-and-retry feedback loops.

4 / 5

Progressive Disclosure

The body stays an overview (principles, decision tables, checklists) and links each of the three existing bundle files from its matching section with descriptive anchor text ('For detailed channel/select code examples, see [Channels and Select Patterns](references/channels-and-select.md)'), keeping references one level deep and easy to navigate.

5 / 5

Total

17

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: it comprehensively lists concrete capabilities, gives explicit 'Use when...' trigger conditions, and goes further than most by carving out explicit negative boundaries with redirects to sibling skills. The only gap is a few missing natural trigger terms such as 'race condition', 'deadlock', and 'thread-safe'.

DimensionReasoningScore

Specificity

The description enumerates ten-plus concrete capability areas — 'goroutine lifecycle and leak prevention, channels and `select`, channel ownership and direction, `sync.Mutex`/`RWMutex`/`sync.Map`/`sync.Once`/atomics, `errgroup`, `singleflight`, worker pools, and fan-out/fan-in pipelines' — with no noticeable coverage gaps, matching the comprehensive-coverage anchor.

5 / 5

Completeness

It explicitly answers both what ('Golang concurrency design — goroutine lifecycle and leak prevention, ...') and when ('Use when writing or reviewing concurrent Go code, when choosing between channels and mutexes, ... or when a goroutine has no clear exit'), with concrete trigger phrases.

5 / 5

Trigger Term Quality

Natural user phrases are well covered ('writing or reviewing concurrent Go code', 'when choosing between channels and mutexes', 'when a goroutine has no clear exit', 'protecting a shared map or counter'), but a few common terms users would say are absent, notably 'race condition', 'deadlock', and 'thread-safe'.

4 / 5

Distinctiveness Conflict Risk

The concurrency niche is clear and the description actively disambiguates by redirecting adjacent cases to sibling skills ('Not for defensive coding unrelated to concurrency ... → See `samber/cc-skills-golang@golang-safety` skill', 'not for debugging a specific hung, crashing, or racing program ... → See `samber/cc-skills-golang@golang-troubleshooting` skill'), minimizing wrong-skill triggering.

5 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

Total

15

/

16

Passed

Repository

samber/cc-skills-golang

Path

skills/golang-concurrency/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.