npx skills add smithery/aj-geddes --skill reactive-programming
aj-geddes/useful-ai-prompts
reactive-programming
Implement reactive programming patterns using RxJS, streams, observables, and backpressure handling. Use when building event-driven UIs, handling async data streams, or managing complex data flows.
Installation
npx skills add aj-geddes/useful-ai-prompts --skill reactive-programming
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
A micro-prompt that reminds the agent that it is an interactive programmer. Works great in Cloj…
9K installsUse this skill when the user is writing their first DOCA app or asking a library-agnostic progr…
134 installsWrite game shaders from cross-engine fundamentals — the vertex→fragment pipeline, coordinate sp…
116 installsAI-assisted pair programming with multiple modes (driver$navigator$switch), real-time verificat…
1.2K installsComplete guide for Rust systems programming including ownership, borrowing, concurrency, async …
427 installsYou are a Rust project architecture expert specializing in scaffolding production-ready Rust ap…
324 installsAlso in this package
Other skills from aj-geddes/useful-ai-prompts · top by installs.
npx skills add aj-geddes/useful-ai-prompts
More details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Repository health
main
Package contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md2,412 B -
docs
SUMMARY.md2,336 B
History
- First seen on skills.sh
- First recorded snapshot · 476 installs
SKILL.md
Reactive Programming
Table of Contents
- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)
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](references/rxjs-basics.md) | RxJS Basics |
| [Search with Debounce](references/search-with-debounce.md) | Search with Debounce |
| [State Management](references/state-management.md) | State Management |
| [WebSocket with Reconnection](references/websocket-with-reconnection.md) | WebSocket with Reconnection |
| [Combining Multiple Streams](references/combining-multiple-streams.md) | Combining Multiple Streams |
| [Backpressure Handling](references/backpressure-handling.md) | Backpressure Handling |
| [Custom Operators](references/custom-operators.md) | 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