skills
Introduction: Skills for Kotlin, Jetpack Compose, and Android development
Tags:
A set of skills for Kotlin, Jetpack Compose, and Android development.
Install
With the skills CLI:
npx skills add chrisbanes/skills
Or install as a Claude Code plugin:
/plugin marketplace add chrisbanes/skills
/plugin install chrisbanes-skills@chrisbanes-skills
Skills
Start here
- Working on Compose state or effects? Start with
compose-state-authoring,compose-state-hoisting,compose-state-holder-ui-split, orcompose-side-effects. - Investigating recomposition, stability, or jank? Start with
compose-recomposition-performance. - Reviewing Flow or coroutine architecture? Start with
kotlin-flow-state-event-modelingorkotlin-coroutines-structured-concurrency.
Jetpack Compose
State and side effects
compose-state-authoring— author Compose local mutable state and read-only composable accessors correctly.compose-state-hoisting— decide whether Compose UI element state belongs in local remember state, hoisted parameters, a plain state holder class, or a screen-level state holder.compose-state-holder-ui-split— split Compose state-holder wiring from plain-state UI for previewable and testable screens.compose-side-effects— choose and key Compose effect APIs for event Flow collection, callbacks, cleanup, navigation, snackbar, analytics, and other side effects.
Performance
compose-recomposition-performance— choose between the two recomposition investigation paths: stability/equality or deferred state reads.compose-stability-diagnostics— diagnose Compose compiler reports, strong skipping behavior, unstable parameters, and stability fixes.compose-state-deferred-reads— move frame-rate scroll, animation, and gesture reads out of composition into layout or draw.
UI API design and layout
compose-modifier-and-layout-style— keep Compose layout APIs caller-placeable and modifier chains readable.compose-slot-api-pattern— design reusable Compose components whose variable visual regions are caller-provided slots.compose-animations— choose Compose animation APIs for visibility, value targets, coordinated transitions, and content swaps; align with official quick guide and decision tree.compose-focus-navigation— design and test keyboard, TV, D-pad, and focus-first Compose navigation behavior.
Testing
compose-ui-testing-patterns— choose between plain UI tests, semantics assertions, key/focus tests, screenshot tests, and integration tests.
Kotlin
kotlin-coroutines-structured-concurrency— review coroutine scope ownership, init and fire-and-forget boundaries, cancellation handling, and blocking boundaries.kotlin-flow-state-event-modeling— modelStateFlow,SharedFlow,Channel,stateIn, sharing policy, and one-shot events without lossy defaults.kotlin-multiplatform-expect-actual— design semantic expect/actual and interface boundaries for Kotlin Multiplatform platform interop.
Contributing
Skills live at skills/<skill-name>/SKILL.md, flat (no language nesting). The name: in the SKILL.md frontmatter must match the directory name.
