golang-samber-ro

Build typed reactive streams in Go with composable observable operators.

1|Updated Apr 4, 2026
One-click install
npx skills add https://github.com/Jylhis/claude-marketplace --skill golang-samber-ro-jylhis
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: golang-samber-ro
Source: https://github.com/Jylhis/claude-marketplace/tree/main/plugins/golang-dev/skills/golang-samber-ro
Command: npx skills add https://github.com/Jylhis/claude-marketplace --skill golang-samber-ro-jylhis

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Go developers often face the complexity of building robust asynchronous pipelines with manual goroutines and channels. samber/ro provides a declarative, type-safe reactive framework to model streams as Observables and compose operators with backpressure, error propagation, and lifecycle management.

Core Features & Use Cases

  • Typed pipelines with 150+ operators (Map, Filter, FlatMap, Retry, CombineLatest, etc.) and compile-time safety via Pipe2/ Pipe3.
  • Support for cold/hot observables and five Subject types (Publish, Behavior, Replay, Async, Unicast) for flexible sharing strategies.
  • Comprehensive error handling, context propagation, and backoff strategies (Catch, RetryWithConfig, OnErrorReturn) for resilient production-grade pipelines.
  • Real-world scenarios include data ingestion from channels/APIs, WebSocket-like streams, and event-driven microservices.

Quick Start

Create a simple pipeline that reads from a source observable, applies a couple of operators, and subscribes to process results.

Frequently Asked Questions about golang-samber-ro

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build reactive streams in Go without manual goroutines and channels?▼

You can build typed reactive pipelines in Go by modeling streams as Observables with samber/ro, composing operators like Map, Filter, and Retry to replace manual goroutines and channels with declarative, type-safe data flows.

What is the best way to handle errors and retries in Go observable pipelines?▼

Error handling in Go observable pipelines uses operators like Catch, RetryWithConfig, and OnErrorReturn to apply backoff strategies, propagate context, and ensure resilient production-grade stream processing without manual error channels.

How do I share state across multiple subscribers in Go reactive streams?▼

State sharing across subscribers in Go reactive streams is handled by five Subject types (Publish, Behavior, Replay, Async, Unicast), enabling flexible hot and cold observable sharing strategies for event-driven microservices.

Can I use typed pipelines for context propagation and graceful shutdown in Go services?▼

Typed pipelines in Go support context propagation and graceful shutdown via compile-time safe Pipe2/Pipe3 functions, enabling resilient production-grade data ingestion and API stream processing with proper lifecycle management.

When should I choose reactive observables over standard Go channels for data ingestion?▼

Choose reactive observables over standard Go channels for data ingestion when pipelines require 150+ composable operators, backpressure handling, and declarative error management to build scalable, event-driven architectures.