What problem does it solve? Jetpack Compose screens often accumulate scattered remember state, mixed business logic and layout, and unclear ownership of UI state, making composables hard to preview, test, and maintain. This Skill provides a decision framework for where each piece of state should live. ## Core Features & Use Cases - State ownership decision guide: Assigns state to local remember, the lowest common composable ancestor, a plain state holder class, or a screen-level ViewModel based on who reads and writes it. - Plain state holder pattern: Shows how to extract coordinated UI-only behavior (scroll, focus, text, sheets) into a @Stable class with a remember...State factory, including rememberSaveable guidance. - Screen wiring split: Separates app-dependency wiring (state collection, effects, navigation) from plain state-driven UI composables that take immutable state and event callbacks. - Use Case: When refactoring a search screen where a query drives repository-backed suggestions while a LazyListState and FocusRequester coordinate the UI, the Skill directs the query into the screen state holder while keeping Compose runtime objects in composition. ## Quick Start Review this Compose screen and hoist or extract its state according to the state hoisting decision guide.