This surfaces all the canonical Jetpack Compose patterns in one place: state hoisting with value/onValueChange pairs, modifier parameters as first optional arg, remember versus derivedStateOf for performance, and theming through MaterialTheme instead of hardcoded values. You'd invoke this when writing new Composables or refactoring existing ones that feel janky or hard to test. The guidance is opinionated but correct, especially the lambda stability notes and the insistence on stateless components wherever possible. If you're past the tutorial phase but still occasionally wonder why your list stutters or your previews break, this will catch most of the gotchas before they ship.

skills.sh installs
760
GitHub stars
1K
last updated
Aug 21, 2026

Install

$ npx -y skills add new-silvermoon/awesome-android-agent-skills --skill compose-ui --agent claude-code

Installs into .claude/skills of the current project.

Files

Jetpack Compose Best Practices

Instructions

Follow these guidelines to create performant, reusable, and testable Composables.

1. State Hoisting (Unidirectional Data Flow)

Make Composables stateless whenever possible by moving state to the caller.

  • Pattern: Function signature should usually look like:
    @Composable
    fun MyComponent(
        value: String,              // State flows down
        onValueChange: (String) -> Unit, // Events flow up
        modifier: Modifier = Modifier // Standard modifier parameter
    )
    
  • Benefit: Decouples the UI from simple state storage, making it easier to preview and test.
  • ViewModel Integration: The screen-level Composable retrieves state from the ViewModel (viewModel.uiState.collectAsStateWithLifecycle()) and passes it down.

Sponsors

Details

Repository
github.com/new-silvermoon/awesome-android-agent-skills
Categories
Documentation, Code Review & Quality, AI & Agent Building, Debugging, Mobile Development
First seen
Jun 3, 2026

More from new-silvermoon/awesome-android-agent-skills

All 17
1github avatarreact18-batching-patternsgithub/awesome-copilotProvides exact patterns for diagnosing and fixing automatic batching regressions in React 18 class components. Use this skill whenever a class component has mul756skills.sh installs
2langgenius avatarskill-creatorlanggenius/difyGuide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabil755skills.sh installs
3zxkane avataraws-mcp-setupzxkane/aws-skillsConfigure AWS MCP servers for documentation search and API access. Use when setting up AWS MCP, configuring AWS documentation tools, troubleshooting MCP connect747skills.sh installs
4github avatarreact18-lifecycle-patternsgithub/awesome-copilotProvides exact before/after migration patterns for the three unsafe class component lifecycle methods - componentWillMount, componentWillReceiveProps, and compo745skills.sh installs
5posit-dev avatarrelease-postposit-dev/skillsCreate professional package release blog posts following Tidyverse or Shiny blog conventions. Use when the user needs to: (1) Write a release announcement blog 737skills.sh installs
6black-forest-labs avatarbfl-apiblack-forest-labs/skillsBFL FLUX API integration guide covering endpoints, async polling patterns, rate limiting, error handling, webhooks, and regional endpoints with Python and TypeS735skills.sh installs