
Jetpack Compose Audit
Audit Android Jetpack Compose codebases for performance and state issues
What You Can Do
You can analyze entire Android Jetpack Compose codebases or specific modules to uncover architectural and performance issues. The skill scans your source code against four critical categories—performance, state management, side effects, and composable API quality—scoring each from 0–10 and delivering an evidence-based markdown report that prioritizes the most impactful fixes first.
Features
detects unnecessary recompositions, inefficient remember() patterns, and lambda allocation issues
identifies improper state hoisting, ViewModel coupling, and reactive flow usage problems
flags LaunchedEffect, DisposableEffect, and effect scope misuse
evaluates function signatures, parameter defaults, and composable contract violations
generates markdown reports with 0–10 category scores and ranked fix recommendations
cites specific code locations and patterns for each issue discovered
aligned with Strong Skipping Mode and modern Compose best practices
Example Output
Jetpack Compose Audit Report
Repository: my-app/compose-ui
Overall Score: 6.2/10
| Category | Score | Status |
|---|---|---|
| Performance | 5/10 | ⚠️ Needs work |
| State Management | 7/10 | ✓ Good |
| Side Effects | 6/10 | ⚠️ Review needed |
| Composable API Quality | 6/10 | ⚠️ Refactor |
Top Fixes (Ranked by Impact):
-
Remove lambda allocations in LazyColumn items (Performance)
- File:
screens/UserListScreen.kt:45-67 - Issue: Passing
{ onItemClick(it) }creates new lambda on every recomposition - Fix: Use
remember { { id -> onItemClick(id) } }
- File:
-
Eliminate ViewModel reading in composable body (State Management)
- File:
components/CardComposable.kt:12 - Issue: Direct
viewModel.state.collectAsState()outside of effects - Fix: Hoist state collection to composable parameter
- File:
-
Simplify side effect scope in Form composable (Side Effects)
- File:
screens/FormScreen.kt:89 - Issue: DisposableEffect used instead of LaunchedEffect for one-time initialization
- Fix: Replace with
LaunchedEffect(Unit) { /* init */ }
- File:
What's Included
- SKILL.md: Core audit logic with Kotlin 2.0+ & Compose Compiler 1.5.4+ alignment
- Evidence-based scoring framework: Four-category assessment rubric (Performance, State Management, Side Effects, API Quality)
- Markdown report template: Structured findings with score tables and ranked fix prioritization
- Scope documentation: Clear boundaries on what the audit covers (Material 3, accessibility, tests intentionally excluded in v1)
Who It's For
- Android engineers — audit your own Compose modules before code review
- Tech leads & architects — assess codebase quality and prioritize refactoring efforts
- Code reviewers — use audit results to focus feedback on highest-impact issues
- DevOps/release teams — gate repository health checks with automated Compose audits
Best For
- Codebase health assessments — score existing Compose repositories on four critical dimensions
- Refactoring planning — identify and prioritize the highest-impact code changes
- Architecture review — spot state management and side effect antipatterns early
- Quality gates — integrate into CI/CD pipelines to enforce Compose best practices
- Team standards — establish baseline quality expectations across Compose modules







