Model screen state, events, reducers, and side effects for Android UIs with predictable lifecycle-aware ownership.
37
35%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.github/skills/android-state-management/SKILL.mdThe canonical home for this skill is android-state-management in krutikJain/android-agent-skills
android-coroutines-flowandroid-ui-states-validationdata class TaskBoardState(
val tasks: List<TaskUiModel> = emptyList(),
val isLoading: Boolean = false,
val errorMessage: String? = null,
)private val _uiState = MutableStateFlow(TaskBoardState())
val uiState: StateFlow<TaskBoardState> = _uiState.asStateFlow()
private val _events = MutableSharedFlow<TaskBoardEvent>(replay = 0)
val events: SharedFlow<TaskBoardEvent> = _events_uiState.update { state ->
state.copy(isLoading = false, tasks = refreshedTasks, errorMessage = null)
}cd examples/orbittasks-compose && ./gradlew :app:testDebugUnitTestcd examples/orbittasks-xml && ./gradlew :app:testDebugUnitTestpython3 scripts/eval_triggers.py --skill android-state-managementc5bf673
Canonical home
since Apr 14, 2026
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.