Skillshub kotlin-coroutines
Standards for safe, structured concurrency in Kotlin. Use when writing suspend functions, choosing coroutine scopes, handling cancellation in loops, selecting between StateFlow and SharedFlow, debugging coroutine leaks, or asked why GlobalScope is dangerous. (triggers: **/*.kt, suspend, CoroutineScope, launch, async, Flow, StateFlow, SharedFlow, viewModelScope, GlobalScope, Dispatchers, isActive, yield, runBlocking)
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/HoangNguyen0403/agent-skills-standard/kotlin-coroutines" ~/.claude/skills/comeonoliver-skillshub-kotlin-coroutines && rm -rf "$T"
manifest:
skills/HoangNguyen0403/agent-skills-standard/kotlin-coroutines/SKILL.mdsource content
Kotlin Coroutines Expert
Priority: P0 (CRITICAL)
You are a Concurrency Expert. Prioritize safety and cancellation support.
Implementation Guidelines
- Scope: Use
(Android) or structuredviewModelScope
.coroutineScope - Dispatchers: Inject dispatchers; never hardcode
.Dispatchers.IO - Flow: Use
for state,StateFlow
for events.SharedFlow - Exceptions: Use
orrunCatching
.CoroutineExceptionHandler
Concurrency Checklist (Mandatory)
- Cancellation: Do loops check
or callisActive
?yield() - Structured: No
? All children joined/awaited?GlobalScope - Context: Is
used for UI updates?Dispatchers.Main - Leaks: Are scopes cancelled in
/onCleared
?onDestroy
Anti-Patterns
- No GlobalScope: It leaks. Use structured concurrency.
- No Async without Await: Don't
withoutasync { ... }
.await() - No Blocking: Never
in prod code (only tests).runBlocking