golang-samber-ro

golang samber ro

samber ↓ 33k
Claude Code
View source ↗

What it does

  • github.com/samber/ro
  • ro.samber.dev
  • pkg.go.dev/github.com/samber/ro
  • → See samber/cc-skills-golang@golang-samber-lo skill for finite slice transforms (Map, Filter, Reduce, GroupBy) — use lo when data is already in a slice
  • → See samber/cc-skills-golang@golang-samber-mo skill for monadic types (Option, Result, Either) that compose with ro pipelines
  • → See samber/cc-skills-golang@golang-samber-hot skill for in-memory caching (also available as an ro plugin)
  • → See samber/cc-skills-golang@golang-concurrency skill for goroutine/channel patterns when reactive streams are overkill

Requirements & configuration

  • | Using Share() when cold is sufficient | Unnecessary complexity, harder to reason about lifecycle | Use hot observables only when multiple consumers need the same stream |
  • 2. Use Collect() for synchronous consumption — when the stream is finite and you need []T, Collect blocks until complete and returns the slice + error

Derived from the skill's own SKILL.md documentation · extracted 2026-07-23

golang samber ro

Source

Repository: https://github.com/samber/cc-skills-golang

golang-samber-ro FAQ

What does the golang-samber-ro skill do?

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 `samber/cc-skills-golang@golang-samber-lo` skill). github.com/samber/ro ro.samber.dev

What does golang-samber-ro require?

| Using Share() when cold is sufficient | Unnecessary complexity, harder to reason about lifecycle | Use hot observables only when multiple consumers need the same stream | 2. Use Collect() for synchronous consumption — when the stream is finite and you need []T, Collect blocks until complete and returns the slice + error

How do I install golang-samber-ro?

Run: npx -y skills add https://github.com/samber/cc-skills-golang --skill golang-samber-ro --agent claude-code — the source lives at github.com/samber/cc-skills-golang.

Maintain golang-samber-ro?

Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.

golang-samber-ro on getagentictools
[![golang-samber-ro on getagentictools](https://getagentictools.com/badge/skills/samber-cc-skills-golang-golang-samber-ro.svg)](https://getagentictools.com/skills/samber-cc-skills-golang-golang-samber-ro?ref=badge)
npx agentictools info skills/samber-cc-skills-golang-golang-samber-ro

The second line is the CLI lookup for this page — handy in READMEs and docs.