kotlin-coroutines
Advanced Kotlin coroutines patterns for AmethystMultiplatform. Use when working with: (1) Structured concurrency (supervisorScope, coroutineScope), (2) Advanced Flow operators (flatMapLatest, combine, merge, shareIn, stateIn), (3) Channels and callbackFlow, (4) Dispatcher
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Advanced Kotlin coroutines patterns for AmethystMultiplatform. Use when working with: (1) Structured concurrency (supervisorScope, coroutineScope), (2) Advanced Flow operators (flatMapLatest, combine, merge, shareIn, stateIn), (3) Channels and callbackFlow, (4) Dispatcher management and context switching, (5) Exception handling (CoroutineExceptionHandler, SupervisorJob), (6) Testing async code (runTest, Turbine), (7) Nostr relay connection pools and subscriptions, (8) Backpressure handling in event streams. Delegates to kotlin-expert for basic StateFlow/SharedFlow patterns. Complements nostr-expert for relay communication.
How to use
Zainstaluj umiejętność w swoim projekcie Amethyst, dodając ją do konfiguracji Claude MCP. Umiejętność automatycznie integruje się z innymi skillami (kotlin-expert, nostr-expert) i deleguje proste wzorce StateFlow/SharedFlow do kotlin-expert.
Użyj supervisorScope do zarządzania pulą połączeń relay, gdzie każde relay działa niezależnie. Pozwala to na awarię jednego połączenia bez wpływu na pozostałe.
Zastosuj callbackFlow do konwersji callbacków (np. z API Android) na Flow, a następnie połącz wiele źródeł za pomocą merge() lub combine() w zależności od logiki biznesowej.
Obsługuj backpressure w strumieniach zdarzeń wysokiej częstotliwości za pomocą buffer(), conflate() lub DROP_OLDEST, aby uniknąć przeciążenia.
Implementuj obsługę wyjątków z CoroutineExceptionHandler i SupervisorJob, aby zapewnić odporność systemu na błędy w poszczególnych coroutines.
Testuj kod asynchroniczny za pomocą runTest i biblioteki Turbine, która umożliwia asercje na strumieniach Flow w testach jednostkowych.