About reactive-programming
A development skill for building responsive applications with reactive streams and observables to manage asynchronous data flows. Its guides cover RxJS patterns from debounced search and state management to reconnection and backpressure.
Key features
- 01Reactive streams and observables
- 02RxJS basics and custom operators
- 03Debounced search patterns
- 04State management and stream combination
- 05WebSocket reconnection and backpressure
Use cases
- 01Handle complex asynchronous flows
- 02Display real-time data updates
- 03Manage UI state with streams
- 04Combine WebSocket or SSE events with other sources
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill reactive-programmingAfter installing, type/reactive-programmingin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/backpressure-handling.mdcombining-multiple-streams.mdcustom-operators.mdrxjs-basics.mdsearch-with-debounce.mdstate-management.mdwebsocket-with-reconnection.mdtemplates/component-template.tsxDetails
From the project READMEReactive Programming
Table of Contents
Overview
Build responsive applications using reactive streams and observables for handling asynchronous data flows.
When to Use
- Complex async data flows
- Real-time data updates
- Event-driven architectures
- UI state management
- WebSocket/SSE handling
- Combining multiple data sources
Quick Start
Minimal working example:
import {
Observable,
Subject,
BehaviorSubject,
fromEvent,
interval,
} from "rxjs";
import {
map,
filter,
debounceTime,
distinctUntilChanged,
switchMap,
} from "rxjs/operators";
// Create observable from array
const numbers$ = new Observable<number>((subscriber) => {
subscriber.next(1);
subscriber.next(2);
subscriber.next(3);
subscriber.complete();
});
numbers$.subscribe({
next: (value) => console.log(value),
// ... (see reference guides for full implementation)
Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| RxJS Basics | RxJS Basics |
| Search with Debounce | Search with Debounce |
| State Management | State Management |
| WebSocket with Reconnection | WebSocket with Reconnection |
| Combining Multiple Streams | Combining Multiple Streams |
| Backpressure Handling | Backpressure Handling |
| Custom Operators | Custom Operators |
Best Practices
✅ DO
- Unsubscribe to prevent memory leaks
- Use operators to transform data
- Handle errors properly
- Use shareReplay for expensive operations
- Combine streams when needed
- Test reactive code
❌ DON'T
- Subscribe multiple times to same observable
- Forget to unsubscribe
- Use nested subscriptions
- Ignore error handling
- Make observables stateful
Comments
Markdown supported