What problem does it solve?
It helps you write Jetpack Compose code that triggers imperative work (events, subscriptions, navigation, analytics, focus actions) at the right time without causing extra work, stale callbacks, or bugs from incorrect effect keying.
Core Features & Use Cases
- Correct effect selection: Use
SideEffect, DisposableEffect, LaunchedEffect, rememberCoroutineScope, rememberUpdatedState, and snapshotFlow for the appropriate lifecycle and work type.
- Lifecycle-accurate keys: Choose keys that represent when the work should restart, preventing
LaunchedEffect(Unit) capture bugs and collection restarts at unintended times.
- Stale capture prevention: Keep long-running effects stable while still calling the latest callbacks through
rememberUpdatedState.
Quick Start
Use the compose-side-effects skill to audit your screen’s event Flow collection, focus/analytics triggers, and listener registration so each effect uses the smallest appropriate API and stable, semantic keys.