diagnosing-compose-stability

Diagnose Jetpack Compose stability issues using Compose Compiler Reports.

472|16|Updated Apr 29, 2026
One-click install
npx skills add https://github.com/skydoves/compose-performance-skills --skill diagnosing-compose-stability
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: diagnosing-compose-stability
Source: https://github.com/skydoves/compose-performance-skills/tree/main/stability/diagnosing-compose-stability
Command: npx skills add https://github.com/skydoves/compose-performance-skills --skill diagnosing-compose-stability

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Diagnoses Jetpack Compose stability problems by enabling and reading the Compose Compiler Reports (classes.txt, composables.txt, composables.csv, module.json). It helps developers understand why recomposition occurs, identify unstable parameters, and determine actionable root causes across per-class and per-composable markers such as stable, unstable, runtime, restartable, skippable, readonly, @static, and @dynamic.

Core Features & Use Cases

  • Structured workflow to enable release builds that emit canonical stability reports.
  • Cross-reference composables.txt and classes.txt to surface unstable parameters and non-skippable composables.
  • Clear handoff path to stabilization skills with concrete root-cause mapping.

Quick Start

Build a release variant with compose compiler reports enabled and review the four output files to begin diagnosing stability.

Frequently Asked Questions about diagnosing-compose-stability

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

FAQPage Schema
How do I diagnose Jetpack Compose stability issues using compiler reports?

You diagnose Jetpack Compose stability issues by enabling and reading the Compose Compiler Reports (classes.txt, composables.txt, composables.csv, module.json). This structured workflow identifies unstable parameters and root causes of jank, high recomposition counts, and non-skippable composables.

When do I need Compose compiler reports for recomposition problems?

You need Compose compiler reports when you observe jank, high recomposition counts, or non-skippable composables in your app. The reports provide a structured approach to surface per-class and per-composable stability markers like unstable, runtime, and skippable to find the root cause.

What do skippable and unstable markers mean in composables.txt?

Skippable and unstable markers in composables.txt indicate whether a composable can skip recomposition if its parameters haven't changed, or if its parameters are deemed unstable. Cross-referencing these markers with classes.txt helps pinpoint the specific unstable classes causing unwanted recompositions.

Can I use Compose compiler reports to fix jank in a release build?

Yes, you can use Compose compiler reports to fix jank by building a release variant with the reports enabled. This generates the four canonical output files needed to trace non-skippable composables and map unstable parameters to their root causes for stabilization.

Why does my composable have unstable parameters even with immutable classes?

A composable might have unstable parameters even with immutable classes if the Compose compiler cannot infer stability, often marking them as runtime or unstable. Reading the classes.txt report reveals these per-class stability markers to help determine the exact root cause.