android-compose-components
Android / KMP Compose Component Patterns
Scope
This skill applies to every composable that is not a Root or Screen composable. If you are creating or modifying <Feature>Root or <Feature>Screen, use android-presentation-mvi (structure) and android-compose-architecture (recomposition, state ownership, side effects) instead.
Adaptive layout (window size classes, scaffold layout) is a screen-level concern — individual components should be flexible enough to fill whatever space they're given without being aware of the device form factor. For structurally different layouts across device configurations, see compose-adaptive-layouts.
Parameter Design
Composables receive only the parameters they actually need — never the entire screen state data class. This keeps components reusable and testable, and limits the blast radius of recompositions to only what changed.
Actions bubble up via properly named lambdas that describe what happened, not what the caller should do: