What problem does it solve? Jetpack Compose screens often accumulate scattered remember calls, mixed business logic and layout, and state hoisted farther than needed, making UI hard to preview, test, and maintain. This Skill provides a decision framework for placing state at the right ownership level. ## Core Features & Use Cases - State ownership decision guide: Assign each piece of state to local remember, a common ancestor, a plain state holder, or a screen-level ViewModel based on who reads and writes it. - Plain state holder pattern: Extract coordinated UI-only behavior (scroll, focus, text, sheet state) into a @Stable class with a remember...State factory function. - Screen wiring split: Separate a small state-holder composable that collects app state and effects from a plain UI composable that takes immutable state and event callbacks. - Use Case: When refactoring a search screen where a query drives repository-backed suggestions while LazyListState and FocusRequester coordinate the UI, the Skill directs the query logic to the ViewModel while keeping Compose runtime objects in composition. ## Quick Start Ask the assistant to review your Compose screen and apply state hoisting rules to decide where each piece of state and logic should live.