SuperAPI AI Directory

compose

General & other

View repository

Updated 10-16 00:22

About this skill

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.