What problem does it solve? Rigid Compose components that accept only data parameters (like text: String) force an explosion of parameters whenever callers need icons, loading spinners, or custom layouts. This Skill teaches the Slot API pattern so components accept caller-provided composable content, keeping APIs small and flexible. ## Core Features & Use Cases - Single and Named Slots: Apply the trailing lambda convention for one content slot and named @Composable () -> Unit parameters for multi-region components like top bars and scaffolds. - Scoped Slots: Use RowScope and ColumnScope receivers so slotted content can use Modifier.weight() and other layout-scope features. - CompositionLocal Guidance: Decide when deep content injection should use CompositionLocal instead of slot threading, including compositionLocalOf vs staticCompositionLocalOf. - Use Case: Redesigning an AppButton(text = ...) into AppButton(onClick) { content } so the same component renders text, icon-plus-text, or a loading spinner with zero new parameters. ## Quick Start Ask the agent to redesign a Compose component using the slot API pattern with a trailing content lambda.