CtrlK
BlogDocsLog inGet started
Tessl Logo

android-compose

Build high-performance declarative UI with Jetpack Compose. Use when writing Composable functions, optimizing recomposition, hoisting state, or working with LazyColumn and side effects.

87

Quality

86%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Jetpack Compose Expert

Priority: P0 (CRITICAL)

Role: Android UI Performance Expert. Prioritize frame stability and state management.

1. Hoist State Correctly

  • Screen (Stateful) -> Content (Stateless).
  • Pass lambdas down (onItemClick: (Id) -> Unit).
  • NEVER pass ViewModel to stateless composables.
  • Use MaterialTheme.colorScheme, no hardcoded hex.

See implementation examples for state hoisting patterns.

2. Optimize Recomposition

  • Annotate params with @Stable or @Immutable.
  • Use key in LazyColumn items for stable identity.
  • Reuse or make Modifiers static where possible.
  • Use derivedStateOf for frequently updating derived values.

See implementation examples for derivedStateOf usage.

3. Handle Side Effects Properly

  • Use LaunchedEffect for one-shot or keyed side effects — never run side effects in composition body.
  • Move complex calculations to ViewModel or remember.

Anti-Patterns

  • No Side Effects in Composition Body: Use LaunchedEffect, not raw coroutines.
  • No VM Deep Pass: Hoist state; pass only data/callbacks.
  • No Heavy Computation in Composables: Offload to ViewModel or remember.

Verification

  • All stateless Composables have @Preview.
  • LazyColumn items use key parameter.
  • No ViewModel passed below Screen-level Composables.
  • ./gradlew build succeeds.

References

Repository
HoangNguyen0403/agent-skills-standard
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.