compose-stability-diagnostics

Installation
SKILL.md

Compose stability diagnostics

Core principle

Compose performance problems from parameters are about whether inputs compare cheaply and predictably across recompositions. With Kotlin 2.0.20+ strong skipping is enabled by default, so unstable parameters no longer automatically make restartable composables non-skippable. That does not make stability irrelevant: unstable parameters are compared by instance identity (===), stable parameters by equality (equals), and churny instances can still defeat skipping.

First identify the compiler mode you are on, then read reports in that context.

When to use this skill

  • A composable or screen recomposes more than expected and parameter churn is suspected.
  • A UI-state/model class is passed to composables and contains List, Set, Map, ranges, Java time/money types, or third-party types.
  • composables.txt / classes.txt shows unstable parameters or non-skippable composables.
  • A project uses Kotlin < 2.0.20, disables strong skipping, or has old Compose compiler report guidance.

1. Start with strong skipping

On Kotlin 2.0.20+, strong skipping is enabled by default. In that mode:

Related skills
Installs
156
GitHub Stars
500
First Seen
3 days ago