compose-stability-diagnostics

Diagnose Jetpack Compose parameter stability and skippability issues using compiler reports.

Updated Jul 1, 2026
One-click install
npx skills add https://github.com/w0lzard/Wolzard-s-Marketplace --skill compose-stability-diagnostics-w0lzard
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: compose-stability-diagnostics
Source: https://github.com/w0lzard/Wolzard-s-Marketplace/tree/main/plugins/personal-skills/skills/compose-stability-diagnostics
Command: npx skills add https://github.com/w0lzard/Wolzard-s-Marketplace --skill compose-stability-diagnostics-w0lzard

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Jetpack Compose UIs often recompose more than expected because parameters are unstable or compared by instance identity, and developers struggle to interpret compiler reports and strong skipping behavior to find the real cause. ## Core Features & Use Cases - Compiler report analysis: Generate and read classes.txt, composables.txt, and composables.csv to identify unstable classes and non-skippable composables. - Stability fixes: Apply kotlinx.collections.immutable types, @Immutable/@Stable annotations, and stabilityConfigurationFiles for third-party types like BigDecimal or java.time. - Lazy list stabilization: Hoist per-item lambdas and derived values with remember(item.id) so list items stop recomposing on parent recomposition. - Use Case: A screen recomposes on every frame even though the data is unchanged; use this Skill to generate Compose compiler reports, find the unstable List<Item> parameter in the UI state class, and replace it with ImmutableList<Item>. ## Quick Start Ask the AI to analyze why a composable recomposes excessively and to interpret the Compose compiler stability reports for the module.

Frequently Asked Questions about compose-stability-diagnostics

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
When should I not use stability annotations in Compose?

Do not add @Immutable or @Stable just to silence a report, since a false stability promise can produce stale UI. Also skip this approach when the real issue is back-writing across phases or fast-changing state reads, which need deferred reads instead.