CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-samber-lo

Functional programming helpers for Golang using samber/lo — 500+ type-safe generic functions for slices, maps, channels, strings, math, tuples, and concurrency (Map, Filter, Reduce, GroupBy, Chunk, Flatten, Find, Uniq, etc.). Core immutable package (lo), concurrent variants (lo/parallel aka lop), in-place mutations (lo/mutable aka lom), lazy iterators (lo/it aka loi for Go 1.23+), and experimental SIMD (lo/exp/simd). Apply when using or adopting samber/lo, when the codebase imports github.com/samber/lo, or when implementing functional-style data transformations in Go. Not for streaming pipelines (→ See `samber/cc-skills-golang@golang-samber-ro` skill).

71

Quality

88%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Discovery

100%

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

This is an excellent skill description that thoroughly covers capabilities, trigger conditions, and scope boundaries. It lists specific functions, sub-packages, and use cases while providing explicit 'when to use' guidance and a helpful exclusion clause to prevent conflicts with related skills. The description is information-dense without being padded, uses proper third-person voice, and includes both library-specific and conceptual trigger terms.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions and capabilities: 500+ type-safe generic functions, specific function names (Map, Filter, Reduce, GroupBy, Chunk, Flatten, Find, Uniq), specific sub-packages (lo, lo/parallel, lo/mutable, lo/it, lo/exp/simd), and their purposes (immutable, concurrent, in-place mutations, lazy iterators, SIMD).

3 / 3

Completeness

Clearly answers both 'what' (functional programming helpers with 500+ generic functions across multiple sub-packages) and 'when' with explicit triggers ('Apply when using or adopting samber/lo, when the codebase imports github.com/samber/lo, or when implementing functional-style data transformations in Go'). Also includes a helpful exclusion clause pointing to a related skill.

3 / 3

Trigger Term Quality

Excellent coverage of natural terms: 'samber/lo', 'functional programming', 'Golang', 'Go', 'slices', 'maps', 'channels', 'Map', 'Filter', 'Reduce', 'GroupBy', 'github.com/samber/lo', 'functional-style data transformations', 'generic functions'. These are terms a developer would naturally use when working with this library.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive — targets a specific library (samber/lo) with a clear niche. The explicit exclusion of streaming pipelines with a cross-reference to another skill further reduces conflict risk. The import path 'github.com/samber/lo' is an unambiguous trigger.

3 / 3

Total

12

/

12

Passed

Implementation

77%

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

This is a well-structured library skill with strong actionability through executable code examples, clear decision tables for package selection, and a practical common-mistakes section. The main weaknesses are moderate verbosity in motivational sections that Claude doesn't need, and the inability to verify referenced files exist in the bundle. The progressive disclosure structure is well-designed in principle but unverifiable without bundle files.

Suggestions

Trim or remove the 'Why samber/lo' section — Claude doesn't need to be sold on the library's benefits; the bullet points about type safety, immutability, and zero dependencies are implicit from usage examples.

Move the 25-entry Quick Reference table to the referenced api-reference.md file and keep only the top 5-8 most commonly used functions inline to improve conciseness.

Ensure the referenced files (./references/package-guide.md, ./references/api-reference.md, ./references/advanced-patterns.md) are included in the bundle to support the progressive disclosure structure.

DimensionReasoningScore

Conciseness

The skill is generally well-organized but includes some unnecessary explanation (e.g., the 'Why samber/lo' section explains benefits Claude already understands like 'no interface boxing overhead' and 'easier to reason about'). The installation table and package comparison are useful but the motivational framing adds tokens without actionable value.

2 / 3

Actionability

Provides fully executable Go code examples for Map, Filter, Reduce, GroupBy, and error variants. The common mistakes table gives concrete fixes, and the quick reference table maps functions to purposes. Code is copy-paste ready with realistic types.

3 / 3

Workflow Clarity

For a library skill (not a multi-step destructive process), the workflow is clear: start with lo, profile before upgrading, use the decision table to pick the right package. The 'Choose the Right Package' table with explicit thresholds (1000+ items) and the 'Common Mistakes' table serve as validation checkpoints for decision-making.

3 / 3

Progressive Disclosure

References to ./references/package-guide.md, ./references/api-reference.md, and ./references/advanced-patterns.md are well-signaled and one level deep, but no bundle files were provided to verify these exist. The main file includes substantial inline content (quick reference table with 25+ entries) that could arguably live in the API reference file.

2 / 3

Total

10

/

12

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

9

/

11

Passed

Repository
samber/cc-skills-golang
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.