CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

golang-data-structures

Golang data structures — slices (internals, capacity growth, preallocation, slices package), maps (internals, hash buckets, maps package), arrays, container/list/heap/ring, strings.Builder vs bytes.Buffer, generic collections, pointers (unsafe.Pointer, weak.Pointer), and copy semantics. Use when choosing or optimizing Go data structures, implementing generic containers, using container/ packages, unsafe or weak pointers, or questioning slice/map internals. Not for applying optimization patterns once profiling has identified a bottleneck (→ See `samber/cc-skills-golang@golang-performance` skill).

72

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

86%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-engineered reference skill: executable code, decisive tables, real one-level-deep bundle files, and a Common Mistakes table that turns pitfalls into fixes. The main improvement opportunities are trimming repetition between the summary and body sections, consolidating version annotations, and adding a short explicit structure-selection checklist to make the choosing workflow fully prescriptive.

Suggestions

Deduplicate: drop the strings.Builder/bytes.Buffer bullet from the Best Practices Summary or the dedicated section, and cite golang-safety once in a single 'related skills' block instead of four times inline.

Add a short 'How to choose' decision checklist (e.g., known size → preallocate; middle insertions → container/list; top-K → container/heap) to make the selection workflow explicit rather than implied by tables.

Consolidate Go version annotations (1.18/1.21/1.23/1.24) into one line per topic or a small version table so time-sensitive details are localized.

DimensionReasoningScore

Conciseness

The body is dense and table-driven with almost no concept padding — it doesn't explain what Go or slices are, it states internals facts ("A slice is a 3-word header: pointer, length, capacity") and moves on. Minor inefficiencies keep it from a 5: the Best Practices Summary repeats points restated in later sections (strings.Builder vs bytes.Buffer appears twice), the sibling-skill cross-references are repeated four times (golang-safety cited at lines 28, 45, 68, and 91), and scattered version annotations (Go 1.21+/1.23+/1.24+) are not consolidated. It is clearly efficient — anchor 4 ('Efficient; minor instances of over-explanation that could be trimmed'), not anchor 3's 'unnecessary explanation'.

4 / 5

Actionability

Code is executable and copy-paste ready: `make([]User, 0, len(ids))`, `slices.Grow(s, additionalNeeded)`, `make(map[string]*User, len(users))`, the full `Set[T comparable]` implementation with methods, and `type Digest [32]byte`. Tables give concrete per-function and per-type guidance (maps package functions, container 'Best For' column, copy semantics). Specific examples cover the common cases (preallocation, sets, digests as map keys), matching anchor 5.

5 / 5

Workflow Clarity

As a reference/selection skill it has no multi-step process, but the decision path is clear: persona defines the selection criteria ("memory layout, allocation cost, and access patterns"), a numbered Best Practices Summary gives priority guidance, the container table's 'Best For' column maps problem→structure, and a Common Mistakes table provides fixes. It falls short of a 5 because there is no explicit selection checklist or ordered decision procedure for choosing among competing structures (e.g., 'slice vs list: benchmark, then check middle-insertion frequency'), and the 'Benchmark first' advice in the mistakes table has no concrete benchmark command.

4 / 5

Progressive Disclosure

Model structure: the body is an overview with key snippets and tables inline, and each deep dive is a clearly signaled one-level-deep markdown link with a content description (e.g., "**[Pointer Types Deep Dive](./references/pointers.md)** — Normal pointers, `unsafe.Pointer` (the 6 valid spec patterns), and `weak.Pointer[T]`..."). All five referenced files exist in ./references/, contain substantive content, and nest no further references. Cross-references to sibling skills are named and routed explicitly.

5 / 5

Total

18

/

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: specific, comprehensive capability list paired with an explicit 'Use when' clause and a negative boundary that routes overlapping requests to a sibling skill. The only gap is a handful of natural trigger synonyms (set, queue, priority queue, linked list) that users might say when they need this skill.

Suggestions

Add a few natural synonyms to the trigger clause — e.g., 'building sets, queues, or priority queues' — so users phrasing the need in terms of the target structure also hit this skill.

Consider mentioning 'golangci-lint' or benchmarking context only if it is a real trigger; otherwise leave as-is to avoid diluting the tight trigger set.

DimensionReasoningScore

Specificity

The description enumerates concrete, specific capabilities — "slices (internals, capacity growth, preallocation, slices package), maps (internals, hash buckets, maps package), arrays, container/list/heap/ring, strings.Builder vs bytes.Buffer, generic collections, pointers (unsafe.Pointer, weak.Pointer), and copy semantics" — a comprehensive list of concrete topics with no vague padding. It clearly matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage' and is well above the anchor 4 example, which would require minor gaps in coverage.

5 / 5

Completeness

It explicitly answers both questions: the "what" is the enumerated topic list, and the "when" is the concrete "Use when choosing or optimizing Go data structures, implementing generic containers, using container/ packages, unsafe or weak pointers, or questioning slice/map internals" clause. It even adds a negative boundary ("Not for applying optimization patterns once profiling has identified a bottleneck"), which exceeds the anchor 5 example; it is clearly not anchor 4, where the 'when' would be less explicit.

5 / 5

Trigger Term Quality

Trigger phrases like "choosing or optimizing Go data structures", "implementing generic containers", "using container/ packages, unsafe or weak pointers", and "questioning slice/map internals" are natural user phrasings. A few common synonyms are missing (e.g., 'priority queue', 'set', 'linked list', 'buffer'), which places it at anchor 4 ('Good keyword coverage; a few natural terms missing') rather than 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

It carves out a clear niche (Go data structure internals and selection) and actively reduces conflict risk with an explicit exclusion: "Not for applying optimization patterns once profiling has identified a bottleneck (→ See `samber/cc-skills-golang@golang-performance` skill)". Triggers like 'container/ packages' and 'unsafe or weak pointers' are distinct; minimal overlap risk with closely related skills, matching anchor 5.

5 / 5

Total

19

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

samber/cc-skills-golang

Path

skills/golang-data-structures/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.