Build high-performance declarative UI with Jetpack Compose state hoisting and recomposition optimization. Use when writing @Composable functions, Screen files, LazyColumn, state hoisting, LaunchedEffect, or diagnosing excessive recomposition. (triggers: **/*Screen.kt, **/*Composable*.kt, **/*Content.kt, @Composable, Modifier, Column, Row, LazyColumn, setContent, recompose, remember, derivedStateOf, LaunchedEffect)
89
86%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Role: Android UI Performance Expert. Prioritize frame stability and state management.
onItemClick: (Id) -> Unit).MaterialTheme.colorScheme, no hardcoded hex.See implementation examples for state hoisting patterns.
@Stable or @Immutable.key in LazyColumn items for stable identity.derivedStateOf for frequently updating derived values.See implementation examples for derivedStateOf usage.
LaunchedEffect for one-shot or keyed side effects — never run side effects in composition body.remember.LaunchedEffect, not raw coroutines.remember.19a1140
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.