reactive-programming

Evaluate coroutines, Flow, and reactive streams in Kotlin systems.

1|Updated Mar 14, 2026
One-click install
npx skills add https://github.com/agnaldo4j/kanban-vision-api-kt --skill reactive-programming
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: reactive-programming
Source: https://github.com/agnaldo4j/kanban-vision-api-kt/tree/main/.claude/skills/reactive-programming
Command: npx skills add https://github.com/agnaldo4j/kanban-vision-api-kt --skill reactive-programming

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill resolves ambiguity in architectural and implementation choices regarding concurrency and dataflow, preventing the misuse of reactive patterns in request/response systems.

Core Features & Use Cases

  • Paradigm Classification: Distinguishes between async/non-blocking code (coroutines) and true reactive streams (Flow/Rx).
  • Decision Support: Provides a rubric for choosing between suspend functions, cold Flows, and hot streams based on data shape and back-pressure requirements.
  • Use Case: Use this skill when reviewing a pull request that introduces reactive libraries to ensure the implementation matches the actual data consumption needs of the system.

Quick Start

Use the reactive-programming skill to evaluate if the current implementation of the simulation engine requires a transition from suspend functions to Kotlin Flow.

Frequently Asked Questions about reactive-programming

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

FAQPage Schema
How do I know if I need Kotlin coroutines or reactive streams for my data flow?▼

Kotlin coroutines handle async request/response logic, while reactive streams like Flow manage continuous data flow with back-pressure. Evaluate your data consumption needs to distinguish non-blocking concurrency from true stream processing.

What is the difference between non-blocking request response and reactive stream processing in Kotlin?▼

Non-blocking request response in Kotlin uses suspend functions for single asynchronous values, whereas reactive stream processing uses Flow or Rx for emitting multiple values over time, requiring specific back-pressure handling.

When should I transition from suspend functions to Kotlin Flow in my architecture?▼

Transition from suspend functions to Kotlin Flow when your system must consume continuous data streams rather than single request-response values. Evaluate if your data flow requires back-pressure handling and cold stream capabilities.

How do I validate architectural decisions for reactive programming during a pull request review?▼

Validate reactive programming architectural decisions by checking if the implemented reactive libraries match actual data consumption needs. Ensure true reactive streams are not incorrectly applied to simple non-blocking request-response logic.

Can I use cold Flows for hot stream data consumption requirements?▼

Cold Flows in Kotlin execute per collector and are suited for on-demand data, whereas hot streams broadcast data independently. Evaluate your specific data shape and concurrency requirements to select the appropriate stream type.

Why does my non-blocking concurrent code get mislabeled as reactive stream processing?▼

Non-blocking concurrent code is often mislabeled as reactive stream processing because both use asynchronous execution. Distinguish them by checking if the logic handles single request-response or continuous multi-value data flow with back-pressure.