Skip to content
cccskills
FreePublished on GitHub

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 Kotlin work outside a Compose or CMP app.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md5.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Compose

Every task

  • Verify before claiming done: run the checks named by the task path and report their result.
  • 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.
  • 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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use when writing, changing or reviewing code that touches the house contract for Jetpack Compose and Compose Multiplatform apps: module graph, MVI/BaseViewModel, error tiers, state ownership, naming, Koin DI, Navigation 3 and coroutines. The compose skill is the entry point. Do NOT use for Gradle-only work (compose-project), new screens (compose-feature), composable-only work (compose-ui), repositories or persistence (compose-data), or expect/actual splits (compose-platform).

The English summary is being prepared. Showing the original description.

Meet-Miyani/compose-skill304Updated Oct 16, 2026

Owns repositories, data sources and mapping for Compose and Compose Multiplatform apps: DTO to domain to UiModel boundaries, Ktor clients and bearer auth, WebSocket and SSE, Room, DataStore, Paging 3, offline-first and data-layer tests. Use when writing or reviewing a repository, data source, DTO, mapper, HttpClient, bearer token, WebSocket, SSE, Room DAO, migration, DataStore, PagingSource, RemoteMediator, offline cache or MockEngine test. Do NOT use for ViewModel or UI wiring (compose-feature), composables (compose-ui), the MVI contract or error tiers (compose-architecture), Gradle modules (compose-project), or commonMain vs platform splits (compose-platform).

The English summary is being prepared. Showing the original description.

Meet-Miyani/compose-skill304Updated Oct 16, 2026

Adds, changes, or reviews a screen, sheet, dialog, or destination slice (endpoint to repository to ViewModel to UI to navigation to DI to tests) in a Compose or CMP project. Use when adding a screen, building a new feature, adding a ViewModel or destination, wiring list/detail or a form screen, scaffolding a slice, or reviewing a feature change. Covers Contract.kt, launchGuarded wiring, SavedStateHandle drafts, the state matrix, and new-feature.sh. Do NOT use for routing or architecture (compose-architecture), pure refactors, Gradle work (compose-project), recomposition or styling (compose-ui), repository or persistence work (compose-data), or expect/actual splits (compose-platform).

The English summary is being prepared. Showing the original description.

Meet-Miyani/compose-skill304Updated Oct 16, 2026

Owns platform splits for Compose Multiplatform apps: places declarations in commonMain, chooses expect/actual vs interface plus DI, wires host adapters and ports, and validates iOS/Swift interop, desktop and web targets, and platform lifecycle. Use when touching commonMain, expect, actual, iosMain, Swift, SKIE, Flow to Swift, desktop, wasm, web target, or platform-specific code. Do NOT use for routing or architecture (compose-architecture), feature slices (compose-feature), composables or resources (compose-ui), repositories or persistence (compose-data), or Gradle target setup (compose-project).

The English summary is being prepared. Showing the original description.

Meet-Miyani/compose-skill304Updated Oct 16, 2026

Owns project and build-level work for Compose and Compose Multiplatform apps: bootstrapping a new project, adopting the kit in an existing project, adding or extracting a module, convention plugins in build-logic, the version catalog, and CI plus agent hooks. Use when starting a Compose Multiplatform app, adding a module, or editing settings.gradle.kts, build.gradle.kts, build-logic, libs.versions.toml, or packaging. Do NOT use for routing and architecture choices (compose-architecture), feature code (compose-feature), repositories and persistence (compose-data), composables or resources (compose-ui), or commonMain vs platform code (compose-platform).

The English summary is being prepared. Showing the original description.

Meet-Miyani/compose-skill304Updated Oct 16, 2026

Writes and reviews composables for Compose and CMP: the Route/Screen/leaf split, state-read placement and stability, loading/empty/error UX states, LazyColumn lists and grids, animation choice, accessibility and semantics, design-system tokens, CMP Res resources, Coil images, and keyboard/focus. Use when touching @Composable code, recomposition, stability, LazyColumn, animation, shimmer or skeleton, accessibility, theme, colors, Res.string, Coil, focus, or keyboard. Do NOT use for MVI, error tiers, or module graph (compose-architecture), ViewModel or data work (compose-feature, compose-data), Gradle or module work (compose-project), or expect/actual splits (compose-platform).

The English summary is being prepared. Showing the original description.

Meet-Miyani/compose-skill304Updated Oct 16, 2026

See all skills by Meet-Miyani

Report a problem with this skill