operator-pattern

Explain Reactive Streams operator implementation patterns in Java.

1|Updated Jan 30, 2026
One-click install
npx skills add https://github.com/jaeyeonling/simple-reactive-streams --skill operator-pattern
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: operator-pattern
Source: https://github.com/jaeyeonling/simple-reactive-streams/tree/main/.opencode/skills/operator-pattern
Command: npx skills add https://github.com/jaeyeonling/simple-reactive-streams --skill operator-pattern

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill demystifies the complex patterns behind implementing Reactive Streams Operators, enabling developers to build robust and efficient data stream transformations.

Core Features & Use Cases

  • Operator Fundamentals: Understand the dual role of Operators as Subscribers and Publishers.
  • Implementation Patterns: Learn the structural patterns for common operators like map, filter, take, and flatMap.
  • Backpressure Handling: Grasp how Operators must correctly propagate and manage backpressure.
  • Use Case: You are building a custom reactive library and need to implement a flatMap operator that correctly handles multiple upstream publishers and their backpressure signals.

Quick Start

Explain the core implementation pattern for a map operator in Reactive Streams.

Frequently Asked Questions about operator-pattern

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

FAQPage Schema
How do I implement a custom operator in Reactive Streams Java?

To implement a custom Reactive Streams operator in Java, you structure it as both a Subscriber and a Publisher, ensuring proper operator chaining and signal propagation to downstream consumers.

How does backpressure propagation work in a Reactive Streams operator?

Backpressure propagation in Reactive Streams requires operators to act as intermediaries, correctly forwarding downstream subscription requests upstream to prevent buffer overflows during data transformation.

What is the correct design pattern for a flatMap operator in Java?

The flatMap operator pattern in Java involves subscribing to multiple inner publishers dynamically, managing their emissions, and merging their streams while correctly handling backpressure across all active upstream sources.

When do I need to build a custom Reactive Streams operator instead of using existing ones?

You need to build a custom Reactive Streams operator when building a custom reactive library that requires specialized data stream transformations not covered by standard map, filter, take, or flatMap implementations.

What edge cases should I handle when implementing map and filter operators in Java Reactive Streams?

When implementing map and filter operators in Java Reactive Streams, you must handle edge cases such as null values, request accounting, and ensuring correct backpressure signaling to avoid protocol violations.