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
88%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
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.
| Dimension | Reasoning | Score |
|---|---|---|
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.
| Dimension | Reasoning | Score |
|---|---|---|
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.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
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 | |
8c7e016
Table of Contents
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.