android-compose

Troubleshoot Jetpack Compose UI state, side effects, and recomposition issues.

16|Updated Apr 30, 2026
One-click install
npx skills add https://github.com/JCETools-Petra/JCE-Opencode-Tools --skill android-compose-jcetools-petra
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-compose
Source: https://github.com/JCETools-Petra/JCE-Opencode-Tools/tree/main/config/skills/android-compose
Command: npx skills add https://github.com/JCETools-Petra/JCE-Opencode-Tools --skill android-compose-jcetools-petra

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Fixes Compose UI bugs that stem from incorrect state handling, side effects living in composables, broken recomposition assumptions, or missing accessibility semantics.

Core Features & Use Cases

  • Compose state and side-effect correctness: Guides hoisting state out of composables and keeping side effects out of composable bodies to prevent stale UI or unintended repeats.
  • Lifecycle-aware UI behavior: Reviews patterns like collectAsStateWithLifecycle and LaunchedEffect so background work and UI updates follow the right lifecycle.
  • Recomposition and correctness review: Checks recomposition triggers, stable keys in lazy lists, navigation patterns, and semantic/accessibility requirements.
  • Accessibility-first implementation: Ensures semantics, roles, and content descriptions are present with appropriate tap target sizing.
  • Quality verification strategy: Recommends targeted JVM testing plus instrumentation or manual UI verification for visual behavior.

Quick Start

Review my Jetpack Compose screen for state hoisting, side-effect placement, lifecycle-aware collection, stable list keys, recomposition correctness, and accessibility semantics, then suggest concrete code fixes.

Frequently Asked Questions about android-compose

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix Jetpack Compose UI bugs caused by incorrect state handling and side effects?

To fix Jetpack Compose UI bugs, hoist state out of composables and remove side effects from composable bodies to prevent stale UI and unintended repeated executions. This ensures stable recomposition behavior.

Why does my Jetpack Compose UI recompose excessively when using LazyColumn?

Excessive recomposition in Jetpack Compose UI often happens when lazy lists lack stable keys or state updates are not lifecycle-aware. Reviewing recomposition triggers and enforcing stable list keys resolves these performance issues.

How do I ensure Jetpack Compose UI updates follow the correct Android lifecycle?

To ensure Jetpack Compose UI updates follow the Android lifecycle, use lifecycle-aware patterns like collectAsStateWithLifecycle and review LaunchedEffect placements so background work and UI updates align with the correct lifecycle.

What is the best way to add accessibility semantics to Jetpack Compose UI screens?

Adding accessibility semantics to Jetpack Compose UI requires ensuring semantics, roles, and content descriptions are present, alongside validating appropriate tap target sizing for all interactive elements on the screen.

Does Jetpack Compose UI require specific testing strategies to validate recomposition and visual behavior?

Jetpack Compose UI validation requires targeted JVM testing to check state correctness, supplemented by instrumentation or manual UI verification to confirm visual recomposition behavior and navigation patterns.

Can I use Navigation Compose to troubleshoot broken recomposition assumptions in my Android UI?

Troubleshooting broken recomposition assumptions in Android UI involves reviewing Navigation Compose patterns alongside state hoisting and side-effect placement to validate correctness and ensure stable recomposition triggers.