Skip to content
Development
Skill

/compose

Use this skill first for any Jetpack Compose or Compose Multiplatform task: a new feature or screen, a change to existing code, a bug fix, a review, making code follow the kit, project or build setup, or a question. It picks the task path and the exact kit files to read. Not for

From plugin
compose-kit
3067 skills

Claude Code

$ npx -y skills add Meet-Miyani/compose-skill --skill compose --agent claude-code

SKILL.md

compose.SKILL.md
name: compose
description: >-
  Use this skill first for any Jetpack Compose or Compose Multiplatform task: a new feature or screen, a change to existing code, a bug fix, a review, making code follow the kit, project or build setup, or a question. It picks the task path and the exact kit files to read. Not for Kotlin work outside a Compose or CMP app.

Compose

Every task

  • Verify before claiming done: run the checks named by the task path and report their result.
  • Changed what a user sees: run it and look, per `../compose-feature/references/run-and-see.md`, or say it was not run.
  • Make the smallest correct change; keep what works.
  • Explain the result in plain engineering reasons.
  • Build from the context you have; state assumptions.
  • Open only the files the tree names for your task kind and areas; open another reference only when a check fails or a named file sends you there.

Question 0: Is the task clear enough to act?

  • Look in the prompt, then the code.
  • Clear enough: continue to Question 1.
  • A missing answer changes what gets built: ask at most 3 questions, each with a stated default.
  • No human can answer (CI or headless): proceed and list the assumptions.
  • In a kit project, never ask how the architecture should look.

Question 1: What kind of task is it?

  • New feature or screen → 1. If adding to an existing project, use the `../compose-architecture/references/existing-projects.md` Choose tree; 2. read `../compose-feature/SKILL.md` as the main area; 3. scaffold with its new-feature script when applicable; 4. choose each area in Question 2; 5. run the feature checks and tests.
  • Change to existing code → 1. Find the affected code; 2. use the `../compose-architecture/references/existing-projects.md` Choose tree and keep its coherent pattern; 3. read the owning topic skill from Question 2; 4. make the smallest change; 5. run its checks and affected tests. Change only what the request names; list related gaps as follow-ups.
  • Bug fix → 1. Use the `../compose-architecture/references/existing-projects.md` Choose tree; 2. write a failing test that reproduces the bug using `../compose-feature/references/testing.md`; 3. read only the affected area in Question 2; 4. make the smallest fix; 5. show the test passing and run affected checks.
  • Review only → 1. Use the `../compose-architecture/references/existing-projects.md` Choose tree; 2. read `../compose-feature/references/review-mode.md` for severity; 3. inspect only the relevant area in Question 2; 4. report findings and what is sound; 5. make no edits.
  • Conform or fix after review → 1. Restructure only: keep behaviour, visible UI, navigation, persistence and public APIs exactly as they are; 2. do not add screens, controls, wiring, saved state or features the existing code lacks; list them as follow-ups in the answer; 3. when changing a constructor or signature, update every caller and test in the same change; 4. run the existing tests before and after; both runs must pass; 5. run the guards. Use the `../compose-architecture/references/existing-projects.md` Choose tree and `../compose-feature/references/review-mode.md` for severity.
  • Project, module or build setup → 1. For existing code, use the `../compose-architecture/references/existing-projects.md` Choose tree; 2. read `../compose-project/SKILL.md`; 3. choose the build area in Question 2; 4. make the change; 5. run project checks and affected build/tests.
  • Question or explanation → 1. For existing code, use the `../compose-architecture/references/existing-projects.md` Choose tree; 2. identify the area in Question 2; 3. read only the file holding the fact; 4. answer with evidence and state any uncertainty.

Question 2: Which area does it touch?

Read the area's SKILL.md only for the task's main area; for every other area, read only its one reference.

  • UI → `../compose-ui/references/ux-states.md`; if this is the task's main area, also `../compose-ui/SKILL.md`.
  • Adaptive layout (tablet, foldable, desktop or browser window, window size) → `../compose-ui/references/adaptive-layouts.md`; if this is the task's main area, also `../compose-ui/SKILL.md`.
  • State and lifetime → `../compose-architecture/references/state-ownership.md`; if this is the task's main area, also `../compose-architecture/SKILL.md`.
  • Errors → `../compose-architecture/references/error-handling.md`; if this is the task's main area, also `../compose-architecture/SKILL.md`.
  • Navigation → `../compose-architecture/references/navigation.md`; if this is the task's main area, also `../compose-architecture/SKILL.md`.
  • Data storage → `../compose-data/references/datastore.md`; if this is the task's main area, also `../compose-data/SKILL.md`.
  • Network → `../compose-data/references/networking-ktor.md`; if this is the task's main area, also `../compose-data/SKILL.md`.
  • Paging → `../compose-data/references/paging.md`; if this is the task's main area, also `../compose-data/SKILL.md`.
  • DI and modules → `../compose-architecture/references/dependency-injection.md`; if this is the task's main area, also `../compose-architecture/SKILL.md`.
  • Platform / iOS / desktop → `../compose-platform/references/sharing-and-bridges.md`; if this is the task's main area, also `../compose-platform/SKILL.md`.
  • Notifications and background work → `../compose-platform/references/notifications-and-background-work.md`; if this is the task's main area, also `../compose-platform/SKILL.md`.
  • Build and Gradle → `../compose-project/references/convention-plugins.md`; if this is the task's main area, also `../compose-project/SKILL.md`.
  • Testing → `../compose-feature/references/testing.md`; if this is the task's main area, also `../compose-feature/SKILL.md`.

Not covered here → use judgement and state the assumption.

Read more
@meet-miyani
Ships withcompose-kit

**A Compose skill for AI coding agents: seven agent skills that make Claude Code, Codex, Cursor, Copilot and Gemini write better Jetpack Compose and Compose Multiplatform code.** One consistent house style, measured on seven models in real agent CLIs.

Stars on GitHub

Momentum

stars in total
306
Star history of Meet-Miyani/compose-skill on GitHub, a chart by star-history.com

Other skills on compose-kit.

compose-data

compose-data

Owns repositories, data sources and mapping for Compose and Compose Multiplatform apps: DTO to domain to UiModel boundaries, Ktor…

compose-feature

compose-feature

Adds, changes, or reviews a screen, sheet, dialog, or destination slice (endpoint to repository to ViewModel to UI to navigation…

compose-platform

compose-platform

Owns platform splits for Compose Multiplatform apps: places declarations in commonMain, chooses expect/actual vs interface plus…

compose-project

compose-project

Owns project and build-level work for Compose and Compose Multiplatform apps: bootstrapping a new project, adopting the kit in an…

compose-ui

compose-ui

Writes and reviews composables for Compose and CMP: the Route/Screen/leaf split, state-read placement and stability,…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about compose.

Which coding agents can use compose?
compose installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.