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.mdfirst 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.