diagnosing-compose-stability

Installation
SKILL.md

Diagnosing Compose Stability — Read the Compiler Reports First

Compose skips recomposition by comparing parameters. When a parameter is unstable, skipping is disabled — this skill tells Claude how to find out which parameters are unstable and why. The output is a prioritized list of unstable types and non-skippable composables; the fix lives in ../stabilizing-compose-types/SKILL.md.

When to use this skill

  • The developer asks "why does this recompose?", reports jank, dropped frames, or scroll stutter.
  • A @TraceRecomposition log shows recomposition counts that exceed the number of meaningful state changes.
  • The developer mentions Compose Compiler Reports, classes.txt, composables.txt, composables.csv, module.json, or "non-skippable".
  • The developer asks how to find unstable parameters, or whether List<Foo>, LocalDateTime, or a domain type is stable.
  • A reviewer asks for evidence that a perf-sensitive composable is skippable.

When NOT to use this skill

  • The unstable types are already known — jump straight to ../stabilizing-compose-types/SKILL.md.
  • The symptom is a wrong-phase state read (Modifier.alpha(state.value)); use ../../recomposition/deferring-state-reads/SKILL.md.
  • The symptom is a derivedStateOf misuse; use ../../recomposition/choosing-derivedstateof/SKILL.md.
  • The developer wants CI gating instead of one-shot diagnosis; use ../enforcing-stability-in-ci/SKILL.md.
Related skills

More from skydoves/compose-performance-skills

Installs
10
GitHub Stars
377
First Seen
Apr 29, 2026