Use this skill to migrate Compose UI from collectAsState() to collectAsStateWithLifecycle(), hoist Flow parameters out of composables, and apply .conflate() / .distinctUntilChanged() / snapshotFlow so background CPU and battery stop draining and chatty flows stop invalidating the UI per emission. Covers ViewModel StateFlow/SharedFlow consumers, sensor and location streams, and the "Flow as composable parameter" antipattern. Trigger when the user mentions collectAsState, collectAsStateWithLifecycle, lifecycle-aware flow collection, Lifecycle.State.STARTED, background battery drain from a Compose screen, snapshotFlow, Flow parameter on a composable, conflate, or distinctUntilChanged.
Install with
Claude CodeCodexCursorGitHub CopilotGemini CLI
Supported by the Atlas install prompt. Skill-specific requirements vary.
Skill stats
Skills1CategoryGeneralStars0
About this skill
Use this skill to migrate Compose UI from collectAsState() to collectAsStateWithLifecycle(), hoist Flow parameters out of composables, and apply .conflate() / .distinctUntilChanged() / snapshotFlow so background CPU and battery stop draining and chatty flows stop invalidating the UI per emission. Covers ViewModel StateFlow/SharedFlow consumers, sensor and location streams, and the "Flow as composable parameter" antipattern. Trigger when the user mentions collectAsState, collectAsStateWithLifecycle, lifecycle-aware flow collection, Lifecycle.State.STARTED, background battery drain from a Compose screen, snapshotFlow, Flow parameter on a composable, conflate, or distinctUntilChanged.
Quick start
Copy the install prompt. Use the green button above this README.
Send it to your agent. Paste it into your coding agent’s chat and send.
Review the setup. Your agent checks the skill’s instructions, requirements, and installation scope.
Use this skill to migrate Compose UI from `collectAsState()` to `collectAsStateWithLifecycle()`, hoist `Flow<T>` parameters out of composables, and apply `.conflate()` / `.distinctUntilChanged()` / `snapshotFlow` so background CPU and battery stop draining and chatty flows stop invalidating the UI per emission. Covers ViewModel `StateFlow`/`SharedFlow` consumers, sensor and location streams, and the "Flow as composable parameter" antipattern. Trigger when the user mentions `collectAsState`, `collectAsStateWithLifecycle`, lifecycle-aware flow collection, `Lifecycle.State.STARTED`, background battery drain from a Compose screen, `snapshotFlow`, `Flow` parameter on a composable, conflate, or distinctUntilChanged.
About this listing
Category
General
Reported license
Apache-2.0
Listing language (estimated)
English
Review status
Not individually reviewed
Agent compatibility
Atlas installation supports Claude Code, Codex, and Cursor. Skill-specific dependencies and features are checked during setup.