CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-samber-ro

Reactive streams and event-driven programming in Golang using samber/ro — ReactiveX implementation with 150+ type-safe operators, cold/hot observables, 5 subject types (Publish, Behavior, Replay, Async, Unicast), declarative pipelines via Pipe, 40+ plugins (HTTP, cron, fsnotify, JSON, logging), automatic backpressure, error propagation, and Go context integration. Apply when using or adopting samber/ro, when the codebase imports github.com/samber/ro, or when building asynchronous event-driven pipelines, real-time data processing, streams, or reactive architectures in Go. Not for finite slice transforms (-> See golang-samber-lo skill).

84

Quality

82%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

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 is highly specific, comprehensive, and well-structured. It lists concrete capabilities, includes abundant natural trigger terms, explicitly states when to apply the skill, and even provides a negative boundary to prevent conflicts with a related skill. The only minor concern is that the description is quite dense, but the information is all relevant and useful for skill selection.

DimensionReasoningScore

Specificity

The description lists numerous specific concrete capabilities: 150+ type-safe operators, cold/hot observables, 5 named subject types, declarative pipelines via Pipe, 40+ plugins with examples (HTTP, cron, fsnotify, JSON, logging), automatic backpressure, error propagation, and Go context integration.

3 / 3

Completeness

Clearly answers both 'what' (reactive streams with specific operators, subjects, plugins, etc.) and 'when' with an explicit 'Apply when...' clause covering library usage, import detection, and use-case triggers. Also includes a helpful negative boundary ('Not for finite slice transforms') with a cross-reference.

3 / 3

Trigger Term Quality

Excellent coverage of natural trigger terms: 'samber/ro', 'ReactiveX', 'reactive streams', 'event-driven', 'observables', 'backpressure', 'asynchronous', 'real-time data processing', 'streams', 'reactive architectures', 'Go', 'Golang', and the import path 'github.com/samber/ro'. These are terms users would naturally use.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive — it targets a specific Go library (samber/ro) with a clear niche in reactive/event-driven programming. The explicit negative boundary distinguishing it from the golang-samber-lo skill further reduces conflict risk.

3 / 3

Total

12

/

12

Passed

Implementation

64%

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

This is a solid, well-organized skill that provides actionable guidance for using samber/ro with executable code examples, comprehensive operator tables, and clear decision frameworks for when to use ro vs lo. Its main weaknesses are some redundancy between sections (common mistakes and best practices overlap), the lack of bundle files to back up the four referenced guide documents, and the absence of explicit end-to-end workflow patterns with validation steps in the main file.

Suggestions

Consolidate the 'Common Mistakes' and 'Best Practices' sections — they overlap significantly (e.g., error handling, typed Pipe, bounding streams, preferring lo). Merge into a single 'Guidelines & Pitfalls' table to save tokens.

Provide the referenced bundle files (subjects-guide.md, operators-guide.md, plugin-ecosystem.md, patterns.md) or remove the references — currently they point to non-existent files.

Add a concrete end-to-end workflow example showing the full lifecycle: create observable → chain operators → subscribe → handle shutdown/cleanup, with explicit verification steps (e.g., checking for goroutine leaks).

DimensionReasoningScore

Conciseness

The skill is generally well-structured but includes some unnecessary explanation that Claude would already know (e.g., the 'Why samber/ro' section explaining why channels are unwieldy, the lo vs ro comparison table is somewhat redundant given the scenario table above it). The common mistakes and best practices sections overlap significantly. However, the tables are efficient and most content earns its place.

2 / 3

Actionability

The core concepts section provides fully executable, copy-paste ready Go code with clear output comments. The operator quick reference table gives concrete function names. Installation is a single command. The common mistakes table provides specific fixes with actual function names and patterns.

3 / 3

Workflow Clarity

The skill covers a library with many operators rather than a multi-step destructive workflow, so explicit validation checkpoints are less critical. However, the progression from cold→hot observables and the decision tables provide reasonable workflow guidance. The missing piece is that there's no explicit workflow for building a pipeline end-to-end (create → transform → subscribe → cleanup) with validation/verification steps, and the 'bound infinite streams' advice lacks a concrete sequential workflow.

2 / 3

Progressive Disclosure

The skill references four separate guide files (subjects-guide.md, operators-guide.md, plugin-ecosystem.md, patterns.md) which is good structure, but no bundle files are provided, meaning these references are broken/unverifiable. The main SKILL.md itself is fairly long with inline tables that could potentially be in reference files, though the inline content is useful as a quick reference. Cross-references to other skills are well-signaled.

2 / 3

Total

9

/

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.