Agent Skills: Kotlin Coroutines Expert

Write safe, structured concurrent code with Kotlin Coroutines. Use for suspend functions, coroutine scopes, cancellation, and coroutine leaks; defer Java Virtual Threads, Android WorkManager/Fragment lifecycle, Compose state hoisting, and Detekt/tooling configuration.

UncategorizedID: hoangnguyen0403/agent-skills-standard/kotlin-coroutines

Install this agent skill to your local

pnpm dlx add-skill https://github.com/HoangNguyen0403/agent-skills-standard/tree/HEAD/skills/kotlin/kotlin-coroutines

Skill Files

Browse the full folder contents for kotlin-coroutines.

Download Skill

Loading file tree…

skills/kotlin/kotlin-coroutines/SKILL.md

Skill Metadata

Name
kotlin-coroutines
Description
Write safe, structured concurrent code with Kotlin Coroutines. Use for suspend functions, coroutine scopes, cancellation, and coroutine leaks; defer Java Virtual Threads, Android WorkManager/Fragment lifecycle, Compose state hoisting, and Detekt/tooling configuration.

Kotlin Coroutines Expert

Priority: P0 (CRITICAL)

Role: Concurrency Expert. Prioritize safety and cancellation support.

Implementation Guidelines

  • Scope: Use viewModelScope (Android) or structured coroutineScope.
  • Dispatchers: Inject dispatchers; never hardcode Dispatchers.IO.
  • Flow: Use StateFlow for state, SharedFlow for events.
  • Exceptions: Use runCatching or CoroutineExceptionHandler.

Concurrency Checklist (Mandatory)

  • [ ] Cancellation: loops check isActive or call yield()?
  • [ ] Structured: No GlobalScope? All children joined/awaited?
  • [ ] Context: Dispatchers.Main used for UI updates?
  • [ ] Leaks: scopes cancelled in onCleared / onDestroy?

Anti-Patterns

  • No GlobalScope: It leaks. Use structured concurrency.
  • No Async without Await: Don't async { ... } without await().
  • No Blocking: Never runBlocking in prod code (only tests).

References