From chrisbanes-skills
Routes broad Kotlin/Android/Jetpack Compose tasks to the appropriate focused skill based on the specific area of concern (state, layout, animations, etc.).
How this skill is triggered — by the user, by Claude, or both
Slash command
/chrisbanes-skills:using-chrisbanes-skillsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Router only. Use this skill to choose the focused skill or skills for the task, then load those focused skills before giving detailed advice or editing code.
Router only. Use this skill to choose the focused skill or skills for the task, then load those focused skills before giving detailed advice or editing code.
If a request already clearly matches a focused skill, use that skill directly. If several areas affect the work, load each relevant focused skill before acting on that area.
| Task signal | Start with |
|---|---|
| Broad Compose screen review or refactor | compose-state-holder-ui-split, then add state, effects, layout, testing, or performance skills as needed |
Local Compose state, bare local var, remember { mutableStateOf(...) }, mutableStateListOf, or @ReadOnlyComposable | compose-state-authoring |
| Deciding whether state belongs locally, hoisted, in a plain state holder, or in a screen state holder | compose-state-hoisting |
| ViewModel, component, controller, navigation, Flow collection, or dependency wiring mixed with UI layout | compose-state-holder-ui-split |
LaunchedEffect, DisposableEffect, SideEffect, rememberCoroutineScope, rememberUpdatedState, navigation, snackbar, analytics, focus requests, or event Flow collection | compose-side-effects |
| Recomposition, jank, compiler reports, Layout Inspector counts, unstable params, scroll reads, animation reads, or back-writing state across phases | compose-recomposition-performance |
Known Compose stability or skippability question, compiler classes.txt / composables.txt, collection parameters, or strong skipping | compose-stability-diagnostics |
| Frame-rate state reads from scroll, animation, gestures, layout, or draw; value-form layout/draw modifiers; measurement state back-writing | compose-state-deferred-reads |
| Modifier parameters, root layout placement, hardcoded layout decisions, or modifier chain style | compose-modifier-and-layout-style |
| Reusable Compose component API with variable visual content, primitive content params, optional content params, or boolean shape flags | compose-slot-api-pattern |
| Compose visibility, value, color, size, transition, content swap, or choosing an animation API | compose-animations |
Keyboard, TV, desktop, D-pad, FocusRequester, focusProperties, key events, or initial focus behavior | compose-focus-navigation |
| Compose UI tests, screenshot tests, previews, semantics, fake image loading, keyboard input, focus assertions, or interaction state tests | compose-ui-testing-patterns |
Coroutine scope ownership, init { launch }, non-suspending APIs that launch work, runBlocking, or cancellation handling | kotlin-coroutines-structured-concurrency |
StateFlow, SharedFlow, Channel, stateIn, SharingStarted, .value, one-shot events, sentinel initial values, or expensive update blocks | kotlin-flow-state-event-modeling |
Kotlin Multiplatform platform APIs, source set boundaries, expect/actual, interfaces for platform services, permissions, files, sensors, native SDKs, or Compose Multiplatform interop | kotlin-multiplatform-expect-actual |
Single-field domain types, primitive obsession, or choosing @JvmInline value class vs data class | kotlin-types-value-class |
| Polling or shepherding PRs/MRs, triaging review comments, fixing CI failures, or keeping reviews moving | shepherd |
compose-state-holder-ui-split, compose-side-effects, and, if the event primitive matters, kotlin-flow-state-event-modeling.compose-recomposition-performance. It routes deeper to stability or deferred-read fixes.compose-animations together with compose-state-holder-ui-split; for frame-rate-driven animation values, also load compose-state-deferred-reads.compose-modifier-and-layout-style with compose-slot-api-pattern when both placement and content flexibility are in play.compose-focus-navigation first, then compose-ui-testing-patterns for test shape.npx claudepluginhub chrisbanes/skills --plugin chrisbanes-skillsGuides Android and Kotlin development with Jetpack Compose, architecture patterns, coroutines, Room, navigation, and Hilt. Activate when building Android apps or reviewing Android-specific code.
Provides Jetpack Compose patterns for state hoisting, remember variants, slot APIs, modifiers, side effects, theming, animations, and performance in Android UI development.
Provides expertise in Jetpack Compose and Compose Multiplatform for UI development across Android, Desktop, iOS, Web. Covers APIs, navigation, Paging 3, Android TV, design systems, and PR reviews.