
Compose Performance Audit
A systematic workflow for hunting down Jetpack Compose performance issues, from recomposition storms to janky scrolling. Starts with code review looking for unstable parameters, missing keys in LazyColumn, and heavy work in composition blocks. If code review doesn't reveal the culprit, it walks you through profiling with Layout Inspector and Perfetto traces, then maps findings to concrete fixes like stabilizing data classes with @Immutable, remembering expensive computations, and deferring state reads to layout phase. The code smell examples are solid, especially the subtle ones like lambda captures and reading ScrollState during composition instead of in the modifier. Best used when you know something is slow but aren't sure if it's a recomposition issue or layout thrash.
- skills.sh installs
- 596
- GitHub stars
- 1K
- last updated
- Aug 21, 2026
Install
$ npx -y skills add new-silvermoon/awesome-android-agent-skills --skill compose-performance-audit --agent claude-codeInstalls into .claude/skills of the current project.
Files
Compose Performance Audit
Overview
Audit Jetpack Compose view performance end-to-end, from instrumentation and baselining to root-cause analysis and concrete remediation steps.
Workflow Decision Tree
- If the user provides code, start with "Code-First Review."
- If the user only describes symptoms, ask for minimal code/context, then do "Code-First Review."
- If code review is inconclusive, go to "Guide the User to Profile" and ask for Layout Inspector output or Perfetto traces.
1. Code-First Review
Collect:
- Target Composable code.
- Data flow: state, remember, derived state, ViewModel connections.
- Symptoms and reproduction steps.
Focus on:
- Recomposition storms from unstable parameters or broad state changes.
- Unstable keys in
LazyColumn/LazyRow(keychurn, missing keys). - Heavy work in composition (formatting, sorting, filtering, object allocation).
- Unnecessary recompositions (missing
remember, unstable classes, lambdas). - Large images without proper sizing or async loading.
- Layout thrash (deep nesting, intrinsic measurements,
SubcomposeLayoutmisuse).
Sponsors
Details
- Repository
- github.com/new-silvermoon/awesome-android-agent-skills
- Categories
- Git & Pull Requests, Code Review & Quality, AI & Agent Building, Debugging, Mobile Development
- First seen
- Jun 3, 2026
More from new-silvermoon/awesome-android-agent-skills
All 17- Android Emulator Skill578
- Android Viewmodel576
- Android Coroutines569
- Android Accessibility560
- Android Data Layer531
- Android Retrofit495
- Coil Compose464
- Xml To Compose Migration451
- Compose Navigation438
- Rxjava To Coroutines Migration347
- Android Testing869
- Gradle Build Performance809
- Compose Ui760
- Android Gradle Logic738
- Android Architecture701
- Kotlin Concurrency Expert684