android-compose-performance
A toolkit for diagnosing and fixing performance bottlenecks in Jetpack Compose applications, focusing on rendering and state stability.
Install
mkdir -p .claude/skills/android-compose-performance && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16632" && unzip -o skill.zip -d .claude/skills/android-compose-performance && rm skill.zipInstalls to .claude/skills/android-compose-performance
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Profile and improve Compose recomposition, layout, scrolling, startup, and rendering performance in Android apps.Key capabilities
- →Profile Compose recomposition hotspots
- →Optimize LazyColumn performance
- →Improve app startup jank
- →Enhance layout rendering efficiency
- →Stabilize list identity in Compose
- →Move heavy work out of composition
How it works
The skill identifies performance bottlenecks in Compose UI, such as excessive recomposition or slow scrolling, and provides remediation examples to optimize rendering.
Inputs & outputs
When to use android-compose-performance
- →Fix excessive recomposition in Compose
- →Optimize LazyColumn performance
- →Profile app startup jank
- →Improve layout rendering efficiency
About this skill
Android Compose Performance
When To Use
- Use this skill when the request is about: compose performance issue, recomposition too much android, slow lazycolumn compose.
- Primary outcome: Profile and improve Compose recomposition, layout, scrolling, startup, and rendering performance in Android apps.
- Handoff skills when the scope expands:
android-performance-observabilityandroid-testing-ui
Workflow
- Identify whether the target surface is Compose, View system, or a mixed interoperability screen.
- Select the lowest-friction UI pattern that satisfies responsiveness, accessibility, and performance needs.
- Build the UI around stable state, explicit side effects, and reusable design tokens.
- Exercise edge cases such as long text, font scaling, RTL, and narrow devices in the fixture apps.
- Validate with unit, UI, and screenshot-friendly checks before handing off.
Guardrails
- Optimize for stable state and predictable rendering before adding animation or abstraction.
- Respect accessibility semantics, contrast, focus order, and touch target guidance by default.
- Do not mix Compose and View system ownership without an explicit interoperability boundary.
- Prefer measured performance work over premature micro-optimizations.
Anti-Patterns
- Embedding navigation or business logic directly in leaf UI components.
- Using fixed dimensions that break on localization or dynamic text.
- Ignoring semantics and announcing only visual changes.
- Porting XML patterns directly into Compose without adapting the mental model.
Remediation Examples
Stabilize list identity
LazyColumn {
items(tasks, key = { it.id }) { task ->
TaskRow(task)
}
}
Move heavy work out of composition
@Composable
fun TaskBoard(tasks: List<TaskUiModel>) {
val visibleTasks = remember(tasks) { tasks.sortedBy { it.title } }
LazyColumn { items(visibleTasks, key = { it.title }) { TaskRow(it) } }
}
Avoid broad scroll-driven recomposition
Box(
modifier = Modifier.offset {
IntOffset(0, scrollState.value)
}
)
Examples
Happy path
- Scenario: Profile the Compose task list for unnecessary recomposition hotspots.
- Command:
cd examples/orbittasks-compose && ./gradlew :app:testDebugUnitTest
Edge case
- Scenario: Evaluate long lists, filter chips, and snackbar churn under repeated state changes.
- Command:
cd examples/orbittasks-compose && ./gradlew :app:assembleDebug
Failure recovery
- Scenario: Separate performance requests from generic Compose or observability prompts.
- Command:
python3 scripts/eval_triggers.py --skill android-compose-performance
Done Checklist
- The implementation path is explicit, minimal, and tied to the right Android surface.
- Relevant example commands and benchmark prompts have been exercised or updated.
- Handoffs to adjacent skills are documented when the request crosses boundaries.
- Official references cover the chosen pattern and the main migration or troubleshooting path.
Official References
When not to use it
- →When the issue is not related to Compose performance
- →When the issue is about `play release notes only`
- →When the issue is about `room migration only`
Limitations
- →The skill focuses on profiling and improving Compose performance in Android apps
- →The skill addresses recomposition, layout, scrolling, startup, and rendering performance
- →The skill does not cover `permission denied ui only` or `rxjava migration only`
How it compares
This skill provides specific code examples and workflows for optimizing Compose performance, directly addressing issues like unstable list identity or heavy work in composition, unlike general Android performance advice.
Compared to similar skills
android-compose-performance side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| android-compose-performance (this skill) | 0 | 4mo | Review | Intermediate |
| mobile-android-design | 101 | 2mo | No flags | Intermediate |
| mobile_engineer | 0 | 2mo | No flags | Advanced |
| mobile-architect-agent | 0 | 1mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by krutikJain
View all by krutikJain →You might also like
mobile-android-design
wshobson
Master Material Design 3 and Jetpack Compose patterns for building native Android apps. Use when designing Android interfaces, implementing Compose UI, or following Google's Material Design guidelines.
mobile_engineer
Sorravit
Act as a Senior Mobile Engineer. Use when user asks about React Native, Flutter, iOS, Android development, or mobile architecture.
mobile-architect-agent
srednoff888-art
Agent profile for coordinate mobile app architecture across iOS, Android, Expo/React Native, offline states, permissions, and releases. Use when Codex needs a specialist agent perspective for planning, implementation, review, debugging, validation, or handoff in this domain.
react-native-architecture
wshobson
Build production React Native apps with Expo, navigation, native modules, offline sync, and cross-platform patterns. Use when developing mobile apps, implementing native integrations, or architecting React Native projects.
react-native-design
wshobson
Master React Native styling, navigation, and Reanimated animations for cross-platform mobile development. Use when building React Native apps, implementing navigation patterns, or creating performant animations.
vercel-react-native-skills
vercel-labs
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.