CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-samber-mo

Monadic types for Golang using samber/mo — Option, Result, Either, Future, IO, Task, and State types for type-safe nullable values, error handling, and functional composition with pipeline sub-packages. Apply when using or adopting samber/mo, when the codebase imports `github.com/samber/mo`, or when considering functional programming patterns as a safety design for Golang.

89

Quality

88%

Does it follow best practices?

Impact

Pending

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 clearly identifies a specific library (samber/mo), lists concrete types and capabilities, and provides explicit trigger conditions. It uses proper third-person voice, includes both domain-specific and natural language trigger terms, and occupies a very distinct niche that minimizes conflict risk with other skills.

DimensionReasoningScore

Specificity

Lists multiple specific concrete types (Option, Result, Either, Future, IO, Task, State) and concrete use cases (type-safe nullable values, error handling, functional composition with pipeline sub-packages). Very specific about the library and its capabilities.

3 / 3

Completeness

Clearly answers 'what' (monadic types for Golang using samber/mo with specific type listings and use cases) and 'when' with an explicit 'Apply when...' clause covering three distinct trigger scenarios: using/adopting samber/mo, codebase importing the library, or considering functional programming patterns for Go.

3 / 3

Trigger Term Quality

Includes excellent natural trigger terms: 'samber/mo', 'Golang', 'Option', 'Result', 'Either', 'Future', the full import path 'github.com/samber/mo', 'functional programming patterns', 'monadic types', 'nullable values', 'error handling'. These cover both library-specific and conceptual terms a user would naturally use.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive — targets a specific Go library (samber/mo) with a clear niche in functional programming monadic types. The combination of the library name, import path, and specific type names makes it very unlikely to conflict with other skills.

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 strong, well-structured skill that provides highly actionable guidance for using samber/mo in Go. The code examples are executable and cover the most important use cases, and the critical Go limitation around type-changing transforms is clearly explained with solutions. Minor weaknesses include some verbosity in explanations Claude doesn't need (language comparisons, persona instructions) and the inability to verify referenced bundle files.

Suggestions

Trim the 'Think of it as...' column from the type table and the persona/thinking mode preamble to save tokens — Claude understands these concepts from the type names and descriptions alone.

Provide the referenced bundle files (references/option.md, references/result.md, etc.) to support the progressive disclosure structure, or consolidate the most critical reference content inline if separate files aren't available.

DimensionReasoningScore

Conciseness

Generally efficient with good code examples and tables, but includes some unnecessary explanations Claude would already know (e.g., 'Inspired by Scala, Rust, and fp-ts', the 'Think of it as...' column comparing to other languages, and the persona/thinking mode preamble). The type comparison table adds marginal value for Claude. Some sections like best practices are well-written but could be tighter.

2 / 3

Actionability

Excellent executable code examples throughout — Option creation/extraction, Result pipelines with type-changing transforms, Either pattern matching, Do notation, JSON struct tags, database scanning, and pipeline sub-packages. All examples are copy-paste ready with proper imports and realistic use cases.

3 / 3

Workflow Clarity

For a library skill (not a multi-step destructive operation), the workflow is exceptionally clear. The progression from core types → direct methods → sub-package functions → pipes is well-sequenced. The 'Go limitation' callout explaining when to use sub-packages vs direct methods is a critical decision point clearly articulated. The rule of thumb provides clear guidance for choosing between approaches.

3 / 3

Progressive Disclosure

References to separate files (option.md, result.md, either.md, pipelines.md, advanced-types.md, monads-guide.md) are well-signaled and one level deep, which is good structure. However, no bundle files were provided, so these references cannot be verified. The main SKILL.md itself is quite long (~200+ lines) and some content (like the full common patterns section) could arguably be in a reference file. Cross-references to other skills are a nice touch.

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.