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
@TraceRecompositionlog 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
derivedStateOfmisuse; use../../recomposition/choosing-derivedstateof/SKILL.md. - The developer wants CI gating instead of one-shot diagnosis; use
../enforcing-stability-in-ci/SKILL.md.