$npx -y skills add skydoves/compose-performance-skills --skill using-stability-analyzer-ide-pluginUse this skill to install and operate the skydoves/compose-stability-analyzer IntelliJ / Android Studio plugin so the developer sees Compose stability feedback live in the editor instead of waiting for a Gradle build. Covers installing the plugin from disk, configuring the `Set
| 1 | # Using the Stability Analyzer IDE Plugin — live in-editor stability feedback |
| 2 | |
| 3 | The Compose Compiler reports tell the developer about stability after a build completes. The `skydoves/compose-stability-analyzer` IntelliJ plugin tells them while they edit. Gutter icons mark every `@Composable` with a color, hover docs render the per-parameter table with reasons, inline hints render colored badges next to each parameter type, and the `UnstableComposable` weak-warning inspection surfaces actionable problems with quick fixes. |
| 4 | |
| 5 | The plugin uses the Kotlin K2 Analysis API to evaluate the same stability rules that drive `../understanding-stability-inference/SKILL.md`, so editor feedback agrees with what `../diagnosing-compose-stability/SKILL.md` would later show in the compiler reports. This shortens the loop from "ship → build → read reports" to "type → see the gutter". |
| 6 | |
| 7 | ## When to use this skill |
| 8 | |
| 9 | - The developer wants real-time stability feedback while editing a Composable file. |
| 10 | - A reviewer is reading a PR locally and wants the inline signal next to each composable. |
| 11 | - A new joiner wants to see at a glance which composables in the file are non-skippable. |
| 12 | - The user asks why the editor flagged a function with a weak warning called `UnstableComposable`. |
| 13 | - The user mentions gutter icons, inline hints, the stability inspection, the IDEA plugin, the K2 Analysis API for Compose, or the `Compose Stability Analyzer` tool window. |
| 14 | |
| 15 | ## When NOT to use this skill |
| 16 | |
| 17 | - CI gating that fails the build on stability regressions. Use `../enforcing-stability-in-ci/SKILL.md`. |
| 18 | - Build-time Compose Compiler reports analysis. Use `../diagnosing-compose-stability/SKILL.md`. |
| 19 | - Active runtime tracing or visual cascade investigation through the plugin's tool window. Use `../visualizing-recomposition-cascades/SKILL.md`. |
| 20 | - Conceptual questions about how the compiler classifies a type. Use `../understanding-stability-inference/SKILL.md`. |
| 21 | |
| 22 | ## Prerequisites |
| 23 | |
| 24 | - Android Studio 2024.2+ or IntelliJ IDEA 2024.2+ (build range 242 through 261, covering 2024.2 through the 2026.1 EAP). |
| 25 | - Kotlin 2.3.0 in the IDE plugin runtime, required by the K2 Analysis API the plugin relies on. |
| 26 | - The Compose Compiler Gradle plugin already wired in the project (`org.jetbrains.kotlin.plugin.compose`). The analyzer evaluates stability against the same compiler model. |
| 27 | - The plugin is currently installed from disk during development; the JetBrains Marketplace listing is pending. |
| 28 | |
| 29 | ## Workflow |
| 30 | |
| 31 | ### 1. Build the plugin from source |
| 32 | |
| 33 | Clone `skydoves/compose-stability-analyzer` and build the IDEA module. |
| 34 | |
| 35 | ```bash |
| 36 | git clone https://github.com/skydoves/compose-stability-analyzer |
| 37 | cd compose-stability-analyzer |
| 38 | ./gradlew :compose-stability-analyzer-idea:buildPlugin |
| 39 | ``` |
| 40 | |
| 41 | The packaged plugin lands at `compose-stability-analyzer-idea/build/distributions/*.zip`. |
| 42 | |
| 43 | ### 2. Install from disk |
| 44 | |
| 45 | In the IDE, open **Settings → Plugins → ⚙ → Install Plugin from Disk…** and pick the ZIP produced in step 1. Restart the IDE when prompted. **DO NOT** look for the plugin in the JetBrains Marketplace yet; the listing is under review at the time of writing. |
| 46 | |
| 47 | ### 3. Confirm the settings panel |
| 48 | |
| 49 | Open **Settings → Tools → Compose Stability Analyzer**. Verify `isStabilityCheckEnabled` is on. The full set of toggles, all read from `StabilitySettingsState`, is: |
| 50 | |
| 51 | | Key | Default | Effect | |
| 52 | |---|---|---| |
| 53 | | `isStabilityCheckEnabled` | `true` | Master switch for all editor features. | |
| 54 | | `isStrongSkippingEnabled` | `true` | Match Compose Compiler 2.0.20+ runtime: classify with strong skipping on. | |
| 55 | | `showGutterIcons` | `true` | Render the colored icon in the gutter beside each `@Composable`. | |
| 56 | | `showGutterIconsOnlyForUnskippable` | `false` | Hide green/gray icons; only show problems. Use on dense files. | |
| 57 | | `showGutterIc |