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.