Chris Banes b3c21b5f2e Add Compose state hoisting skill (#2)
## 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.
2026-05-12 13:14:11 +01:00
2026-05-12 12:08:30 +01:00
2026-05-12 12:08:30 +01:00
2026-05-12 12:08:30 +01:00
2026-05-12 08:34:31 +01:00

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

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

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

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

Apache 2.0

S
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%