compose-editor

Guide idiomatic, maintainable, and accessible Jetpack Compose UI development.

7|2|Updated Feb 23, 2026
One-click install
npx skills add https://github.com/javiercamarenatriguero/android-skills --skill compose-editor
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: compose-editor
Source: https://github.com/javiercamarenatriguero/android-skills/tree/main/compose-editor
Command: npx skills add https://github.com/javiercamarenatriguero/android-skills --skill compose-editor

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps developers write Jetpack Compose UI code that is idiomatic, maintainable, accessible, and performant, reducing bugs and improving code quality.

Core Features & Use Cases

  • Composable Best Practices: Provides guidelines on naming, parameter order, and single responsibility for composable functions.
  • State Management: Demonstrates correct usage of remember, derivedStateOf, and rememberSaveable.
  • Side Effects: Explains when and how to use LaunchedEffect, DisposableEffect, SideEffect, and rememberCoroutineScope.
  • Accessibility: Covers content descriptions, touch target sizes, semantic roles, and screen reader order.
  • Theming: Enforces the use of MaterialTheme over hardcoded values.
  • Lazy Lists: Guides on using key for stable item rendering.
  • State Hoisting: Promotes stateless composables by hoisting state.
  • Common Patterns: Includes examples for loading/error/content states, pull-to-refresh, and keyboard navigation.
  • Checklists: Provides pre-commit checklists for new composables.

Quick Start

Use the compose-editor skill to refactor the provided composable function to follow best practices for state hoisting and parameter order.

Frequently Asked Questions about compose-editor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manage state hoisting in Jetpack Compose?

State hoisting in Jetpack Compose promotes stateless composables by moving state to the caller. This Skill provides guidelines to refactor composable functions, enforcing single responsibility and correct parameter order for maintainable UI code.

When should I use LaunchedEffect vs rememberCoroutineScope in Android UI?

Use `LaunchedEffect` for side effects tied to a composable's lifecycle, and `rememberCoroutineScope` for user-triggered events. This Skill explains when and how to correctly apply these side effect APIs in Jetpack Compose.

What is the best way to handle accessibility in Jetpack Compose?

Handling accessibility in Jetpack Compose involves setting content descriptions, maintaining adequate touch target sizes, and defining semantic roles. This Skill provides checklists and references to ensure your composable functions meet screen reader requirements.

How do I prevent bugs when rendering lazy lists in Jetpack Compose?

Prevent lazy list rendering bugs in Jetpack Compose by using stable `key` parameters for items. This Skill guides developers on using lazy lists correctly to ensure performant and maintainable UI state during recomposition.

Can I use MaterialTheme for theming instead of hardcoded values in composable functions?

Yes, using `MaterialTheme` enforces consistent theming over hardcoded values in composable functions. This Skill offers best practices for Jetpack Compose theming, state management, and common UI patterns like loading and error states.

Why does derivedStateOf matter for Jetpack Compose state management?

`derivedStateOf` matters in Jetpack Compose state management because it prevents unnecessary recompositions by only recalculating when derived inputs change. This Skill demonstrates correct usage of `remember`, `derivedStateOf`, and `rememberSaveable`.