compose-stability-diagnostics

Diagnose and fix parameter stability issues in Jetpack Compose.

908|42|Updated May 12, 2026
One-click install
npx skills add https://github.com/chrisbanes/skills --skill compose-stability-diagnostics-chrisbanes
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: compose-stability-diagnostics
Source: https://github.com/chrisbanes/skills/tree/main/skills/compose-stability-diagnostics
Command: npx skills add https://github.com/chrisbanes/skills --skill compose-stability-diagnostics-chrisbanes

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Compose performance problems from parameters are about whether inputs compare cheaply and predictably across recompositions. With Kotlin 2.0+ strong skipping enabled by default, unstable parameters are compared by instance identity (===) rather than equality, which can still degrade UI performance if parameters churn.

Core Features & Use Cases

  • Analyze unstable and stable parameter types to guide refactors.
  • Provide guidance for immutable collections, @Immutable/@Stable annotations, and stability configuration.
  • Use in scenarios where recomposition count exceeds data changes, or per-item lambdas recompose due to captured state.

Quick Start

Run compiler reports to identify unstable parameters and apply recommended stability fixes.

Frequently Asked Questions about compose-stability-diagnostics

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

FAQPage Schema
How do I diagnose unstable parameters causing excessive recomposition in Jetpack Compose?

Diagnose unstable Compose parameters by running compiler reports to identify unstable inputs, per-item lambda captures, and parameter churn across recompositions. Apply stability improvements using immutable collections and proper annotations to restore skippability.

How do I fix Compose parameter instability after identifying unstable types in compiler reports?

Fix Compose parameter instability by applying immutable collections, adding @Immutable or @Stable annotations, and utilizing per-item remember or hoist techniques. These strategies ensure inputs compare cheaply and predictably across recompositions.

When do I need stability configuration and annotations for Kotlin Compose parameters?

You need stability configuration for Compose parameters when recomposition counts exceed actual data changes, or when per-item lambdas recompose due to captured state. Analyze unstable and stable parameter types to determine if refactoring is required.

Does Kotlin 2.0 strong skipping mode eliminate the need to fix unstable Compose parameters?

Kotlin 2.0 strong skipping compares unstable parameters by instance identity rather than equality. While enabled by default, it can still degrade UI performance if parameters churn, making stability diagnostics and immutable refactoring still necessary.

What is the best way to prevent per-item lambda captures from triggering Compose recomposition?

Prevent per-item lambda captures from triggering recomposition by implementing per-item remember or hoist techniques. This stabilizes inputs across recompositions, ensuring parameters compare predictably and improving overall UI skippability.