/compose-expert
Compose and Compose Multiplatform expert for UI development across Android, Desktop, iOS, and Web. Use whenever the user mentions Compose APIs (@Composable, remember, LaunchedEffect, NavHost, MaterialTheme, LazyColumn, Modifier, recomposition), Compose Multiplatform (commonMain,
$ npx -y skills add aldefy/compose-skill --skill compose-expert --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/compose-expert
Context preview
The summary Claude sees to decide when to auto-load this skill.
Compose and Compose Multiplatform expert for UI development across Android, Desktop, iOS, and Web. Use whenever the user mentions Compose APIs (@Composable, remember, LaunchedEffect, NavHost, MaterialTheme, LazyColumn, Modifier, recomposition), Compose Multiplatform (commonMain,
SKILL.md
compose-expert.SKILL.mdname: compose-expert
description: >
Compose and Compose Multiplatform expert for UI development across Android, Desktop,
iOS, and Web. Use whenever the user mentions Compose APIs (@Composable, remember,
LaunchedEffect, NavHost, MaterialTheme, LazyColumn, Modifier, recomposition),
Compose Multiplatform (commonMain, expect/actual, Res.*, ComposeUIViewController,
UIKitView, ComposeViewport), Android TV (tv-material, D-pad, focus, Carousel),
Material 3 motion, atomic design systems, design-to-code workflows, Paging 3, or
navigation. Activates Review Mode on GitHub PR URLs and review phrases ("review
this PR", "what's wrong with this"). Auto-detects Compose projects on
session_start. Backed by actual androidx/androidx and JetBrains/compose-multiplatform-core
source receipts. See "## When this skill applies" in SKILL.md for the full trigger
surface.
version: 2.4.0> **Installation notice:** This skill is now distributed as a plugin. > If you copied files into `~/.claude/skills/` manually, you are on an > unmaintained install path and will not receive updates. Migrate via: > > /plugin marketplace add aldefy/compose-skill > /plugin install compose-expert > > See [MIGRATION.md](../docs/MIGRATION.md) for Codex and Copilot CLI instructions. > This banner will remain through v2.x and escalate in v3.0.
When this skill applies
The frontmatter `description:` is intentionally short to satisfy Codex / Copilot CLI's 1024-character cap on that field (see issue #12). The full trigger surface lives here so it stays available to Claude after the skill loads.
Compose API mentions
`@Composable`, `remember`, `mutableStateOf`, `derivedStateOf`, `rememberSaveable`, `LaunchedEffect`, `DisposableEffect`, `SideEffect`, `rememberCoroutineScope`, `Scaffold`, `NavHost`, `NavController`, `MaterialTheme`, `ColorScheme`, `Typography`, `LazyColumn`, `LazyRow`, `LazyVerticalGrid`, `HorizontalPager`, `Modifier`, `Modifier.Node`, `recomposition`, `CompositionLocal`, `Style`, `styleable`, `MutableStyleState`, `Material 3 Expressive`, `M3 Expressive`, `MaterialExpressiveTheme`, `ButtonGroup`, `SplitButton`, `FloatingActionButtonMenu`, `LoadingIndicator`, `HorizontalFloatingToolbar`, `NavDisplay`, `NavKey`, `rememberNavBackStack`, `NavigableListDetailPaneScaffold`.
Compose Multiplatform / KMP
`Compose Multiplatform`, `CMP`, `KMP`, `commonMain`, `expect`, `actual`, `ComposeUIViewController`, `Window` composable, `UIKitView`, `ComposeViewport`, `Res.drawable`, `Res.string`, `SkikoMain`.
Android TV
`tv-material`, `tv-foundation`, `Carousel`, `NavigationDrawer` (TV), `D-pad`, `focus indication`, `FocusRequester` on TV, `10-foot UI`, `living room`, `tv compose`, `Android TV`, `Google TV`, `leanback migration`.
Paging 3
`PagingSource`, `Pager`, `PagingConfig`, `PagingData`, `LazyPagingItems`, `collectAsLazyPagingItems`, `RemoteMediator`, `LoadState`, `asSnapshot`, `TestPager`, `cachedIn`.
Design system / design-to-code
`atomic design`, `atoms`, `molecules`, `organisms`, `templates`, `design tokens`, `design system`, `component library`, `reusable component`, `Figma to Compose`, `design to compose`, `build this UI`, `implement this design`, `spec to code`, `redline`.
Casual phrasing
"my compose screen is slow", "my recomposition is broken", "how do I pass data between screens", "how do I build a TV app", "Android UI", "Kotlin UI", "compose layout", "compose navigation", "compose animation", "compose styles", "desktop compose", "iOS compose", "compose web".
Review Mode triggers
Any GitHub PR URL matching `github.com/.*/pull/\d+`, or phrases: "review this PR", "review this diff", "review this code", "check this code", "check this diff", "what's wrong with this". On match, follow `references/pr-review.md` exclusively.
Session start
Auto-detect Compose projects on `session_start` — see `references/auto-init.md`.
Quick Routing
Use this table first. Match the user's signal to one reference file and read it before answering. `source-code/` files are supporting evidence — load a `references/*.md` file first, then cite `source-code/` for implementation proof when receipts matter.
State, recomposition, side effects
- **`remember`, `rememberSaveable`, `mutableStateOf` vs `mutableIntStateOf`, state hoisting** → `references/state-management.md`
- **`derivedStateOf`, `snapshotFlow`, StateFlow in UI, recomposition scope boundaries** → `references/state-management.md` (secondary: `references/performance.md`)
- **`LaunchedEffect`, `SideEffect`, `DisposableEffect`, `rememberUpdatedState`, `rememberCoroutineScope`** → `references/side-effects.md`
- **Recomposition frequency, "my screen recomposes too often", stability, `@Stable`/`@Immutable`, Compose compiler metrics, baseline profiles, strong skipping** → `references/performance.md`
- **`CompositionLocal`, ambient values, theming propagation, `LocalContext` misuse, custom locals** → `references/composition-locals.md`
Animation and motion
- **`animate*AsState`, `AnimatedVisibility`, `Crossfade`, `updateTransition`, `Animatable`, `rememberInfiniteTransition`** → `references/animation.md`
- **Shared element transitions, gesture-driven animation, `Modifier.graphicsLayer`, Canvas drawing, custom motion spec** → `references/animation.md` (secondary: `references/modifiers.md` for `graphicsLayer`)
- **M3 motion tokens, `MotionTokens`, `MotionScheme`, animation duration tokens, M3 easing curves** → `references/material3-motion.md`
Layout, lists, modifiers
- **`LazyColumn`, `LazyRow`, `LazyVerticalGrid`, `LazyHorizontalGrid`, `key`/`itemKey`, `contentType`, `LazyListState`, scroll state, sticky headers** → `references/lists-scrolling.md`
- **`HorizontalPager`, `VerticalPager`, `PagerState`** → `references/lists-scrolling.md`
- **Modifier chain ordering, custom layout, `Layout`, `SubcomposeLayout`, layout modifier, draw modifier, `Painter`, `Modifier.Node`** → `references/modifiers.md`
Navigation
- **`Na
Read more
name: compose-expert
description: >
Compose and Compose Multiplatform expert for UI development across Android, Desktop,
iOS, and Web. Use whenever the user mentions Compose APIs (@Composable, remember,
LaunchedEffect, NavHost, MaterialTheme, LazyColumn, Modifier, recomposition),
Compose Multiplatform (commonMain, expect/actual, Res.*, ComposeUIViewController,
UIKitView, ComposeViewport), Android TV (tv-material, D-pad, focus, Carousel),
Material 3 motion, atomic design systems, design-to-code workflows, Paging 3, or
navigation. Activates Review Mode on GitHub PR URLs and review phrases ("review
this PR", "what's wrong with this"). Auto-detects Compose projects on
session_start. Backed by actual androidx/androidx and JetBrains/compose-multiplatform-core
source receipts. See "## When this skill applies" in SKILL.md for the full trigger
surface.
version: 2.4.0> **Installation notice:** This skill is now distributed as a plugin. > If you copied files into `~/.claude/skills/` manually, you are on an > unmaintained install path and will not receive updates. Migrate via: > > /plugin marketplace add aldefy/compose-skill > /plugin install compose-expert > > See [MIGRATION.md](../docs/MIGRATION.md) for Codex and Copilot CLI instructions. > This banner will remain through v2.x and escalate in v3.0.
When this skill applies
The frontmatter `description:` is intentionally short to satisfy Codex / Copilot CLI's 1024-character cap on that field (see issue #12). The full trigger surface lives here so it stays available to Claude after the skill loads.
Compose API mentions
`@Composable`, `remember`, `mutableStateOf`, `derivedStateOf`, `rememberSaveable`, `LaunchedEffect`, `DisposableEffect`, `SideEffect`, `rememberCoroutineScope`, `Scaffold`, `NavHost`, `NavController`, `MaterialTheme`, `ColorScheme`, `Typography`, `LazyColumn`, `LazyRow`, `LazyVerticalGrid`, `HorizontalPager`, `Modifier`, `Modifier.Node`, `recomposition`, `CompositionLocal`, `Style`, `styleable`, `MutableStyleState`, `Material 3 Expressive`, `M3 Expressive`, `MaterialExpressiveTheme`, `ButtonGroup`, `SplitButton`, `FloatingActionButtonMenu`, `LoadingIndicator`, `HorizontalFloatingToolbar`, `NavDisplay`, `NavKey`, `rememberNavBackStack`, `NavigableListDetailPaneScaffold`.
Compose Multiplatform / KMP
`Compose Multiplatform`, `CMP`, `KMP`, `commonMain`, `expect`, `actual`, `ComposeUIViewController`, `Window` composable, `UIKitView`, `ComposeViewport`, `Res.drawable`, `Res.string`, `SkikoMain`.
Android TV
`tv-material`, `tv-foundation`, `Carousel`, `NavigationDrawer` (TV), `D-pad`, `focus indication`, `FocusRequester` on TV, `10-foot UI`, `living room`, `tv compose`, `Android TV`, `Google TV`, `leanback migration`.
Paging 3
`PagingSource`, `Pager`, `PagingConfig`, `PagingData`, `LazyPagingItems`, `collectAsLazyPagingItems`, `RemoteMediator`, `LoadState`, `asSnapshot`, `TestPager`, `cachedIn`.
Design system / design-to-code
`atomic design`, `atoms`, `molecules`, `organisms`, `templates`, `design tokens`, `design system`, `component library`, `reusable component`, `Figma to Compose`, `design to compose`, `build this UI`, `implement this design`, `spec to code`, `redline`.
Casual phrasing
"my compose screen is slow", "my recomposition is broken", "how do I pass data between screens", "how do I build a TV app", "Android UI", "Kotlin UI", "compose layout", "compose navigation", "compose animation", "compose styles", "desktop compose", "iOS compose", "compose web".
Review Mode triggers
Any GitHub PR URL matching `github.com/.*/pull/\d+`, or phrases: "review this PR", "review this diff", "review this code", "check this code", "check this diff", "what's wrong with this". On match, follow `references/pr-review.md` exclusively.
Session start
Auto-detect Compose projects on `session_start` — see `references/auto-init.md`.
Quick Routing
Use this table first. Match the user's signal to one reference file and read it before answering. `source-code/` files are supporting evidence — load a `references/*.md` file first, then cite `source-code/` for implementation proof when receipts matter.
State, recomposition, side effects
- **`remember`, `rememberSaveable`, `mutableStateOf` vs `mutableIntStateOf`, state hoisting** → `references/state-management.md`
- **`derivedStateOf`, `snapshotFlow`, StateFlow in UI, recomposition scope boundaries** → `references/state-management.md` (secondary: `references/performance.md`)
- **`LaunchedEffect`, `SideEffect`, `DisposableEffect`, `rememberUpdatedState`, `rememberCoroutineScope`** → `references/side-effects.md`
- **Recomposition frequency, "my screen recomposes too often", stability, `@Stable`/`@Immutable`, Compose compiler metrics, baseline profiles, strong skipping** → `references/performance.md`
- **`CompositionLocal`, ambient values, theming propagation, `LocalContext` misuse, custom locals** → `references/composition-locals.md`
Animation and motion
- **`animate*AsState`, `AnimatedVisibility`, `Crossfade`, `updateTransition`, `Animatable`, `rememberInfiniteTransition`** → `references/animation.md`
- **Shared element transitions, gesture-driven animation, `Modifier.graphicsLayer`, Canvas drawing, custom motion spec** → `references/animation.md` (secondary: `references/modifiers.md` for `graphicsLayer`)
- **M3 motion tokens, `MotionTokens`, `MotionScheme`, animation duration tokens, M3 easing curves** → `references/material3-motion.md`
Layout, lists, modifiers
- **`LazyColumn`, `LazyRow`, `LazyVerticalGrid`, `LazyHorizontalGrid`, `key`/`itemKey`, `contentType`, `LazyListState`, scroll state, sticky headers** → `references/lists-scrolling.md`
- **`HorizontalPager`, `VerticalPager`, `PagerState`** → `references/lists-scrolling.md`
- **Modifier chain ordering, custom layout, `Layout`, `SubcomposeLayout`, layout modifier, draw modifier, `Painter`, `Modifier.Node`** → `references/modifiers.md`
Navigation
- **`Na
Jetpack Compose Agent Skill — AI-powered coding guidance with actual androidx/androidx source code receipts. Works with Claude Code, Codex CLI, Gemini CLI, Cursor, Copilot, Windsurf, and more.

