enforcing-stability-in-ci

Installation
SKILL.md

Enforcing Stability in CI — make stability regressions fail the build

Stability is a property that silently regresses. A new var in a shared data class can disable skipping across dozens of screens, and nothing in the build output complains. Treat stability like binary compatibility: commit a baseline, diff it on every PR, fail the build when the diff goes the wrong way. This skill sets that gate up using the skydoves/compose-stability-analyzer Gradle plugin and points to j-roskopf/ComposeGuard for non-Android multiplatform projects.

When to use this skill

  • The team wants a stability service-level objective enforced in CI, not a manual check.
  • A PR introduced an unstable parameter and nobody noticed until field reports of dropped frames came in.
  • Migrating a large app to strong skipping and need a regression net while refactoring.
  • Standardizing stability practice across a monorepo with many feature modules.
  • The user mentions stabilityCheck, stabilityDump, baseline drift, ComposeGuard, or "fail the build on stability regression".

When NOT to use this skill

  • A single-developer throwaway prototype. The baseline maintenance cost is not worth it.
  • Stability has not been diagnosed at all yet. Run ../diagnosing-compose-stability/SKILL.md first to make sure the current state is acceptable; baselining a broken state just locks the brokenness in.
  • The conceptual question is "why did the compiler classify X as Y?". Use ../understanding-stability-inference/SKILL.md.

Prerequisites

Related skills

More from skydoves/compose-performance-skills

Installs
7
GitHub Stars
377
First Seen
Apr 29, 2026