mirror of
https://github.com/chrisbanes/skills.git
synced 2026-09-19 08:37:48 +08:00
0.1.0
## Summary - Add `compose-state-hoisting` to guide decisions between local `remember`, hoisted parameters, plain state holder classes, and screen-level state holders. - Link the new skill from the README and sharpen `compose-state-holder-ui-split` around screen-level wiring. - Update agent guidance so plugin/skill versions are only changed when explicitly requested. ## Test plan - Validated manifests with `jq . .claude-plugin/plugin.json` and `jq . .claude-plugin/marketplace.json`. - Verified skill routing with pressure scenarios for complex UI-only state, simple local state, and business/repository-backed state.
Skills
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.
License
Description
Use when writing or reviewing Jetpack Compose UI tests, screenshot tests, previews, semantics assertions, fake image loading, keyboard input, focus assertions,…
Readme
Apache-2.0
1.4 MiB
Languages
Python
96.1%
Kotlin
3.5%
JavaScript
0.3%