Compose Skill

Семь скиллов, которые учат агента писать Jetpack Compose и Compose Multiplatform в одном архитектурном стиле

  • 306 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Расширенный доступ

Почему такой уровень

  • Агент по инструкциям скилла запускает shell-скрипты проверок и скрипт создания функции
  • Скрипты проверок можно установить в проект и подключить к CI
Все причины и проверки

meet-miyani/compose-skill

Установка

Ручная установка

/plugin marketplace add Meet-Miyani/compose-skill

Затем выполните /plugin install compose-kit@compose-kit и перезапустите Claude Code.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Агент по инструкциям скилла запускает shell-скрипты проверок и скрипт создания функции
  • Скрипты проверок можно установить в проект и подключить к CI

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Compose Skill, он же Compose Kit, — набор из семи скиллов для Jetpack Compose и Compose Multiplatform. Вход в набор — скилл compose с коротким деревом решений примерно на 1,3 тысячи токенов. Он определяет вид задачи и затронутую область, например новую функцию, исправление ошибки или ревью. Затем агент открывает только нужные справочные файлы. Остальные шесть скиллов делят области. compose-architecture описывает граф модулей, контракт MVI на общем BaseViewModel, Koin и Navigation 3. compose-feature ведет экран от контракта до тестов и умеет делать ревью. compose-ui собирает правила для композаблов: деление на Route и Screen, состояния экрана, доступность и адаптивные макеты. compose-data отвечает за слой данных на Ktor, Room и DataStore. compose-project настраивает новые проекты, модули и CI. compose-platform разбирает общий код в commonMain, интеграцию с iOS и цели для десктопа и веба. Вместе со скиллами идут шаблоны проекта и функции и скрипты проверок для CI.

Для кого. Android-разработчикам и командам Kotlin Multiplatform, которые пишут с агентом много экранов и хотят единой архитектуры.

Подходит, если

  • Агент пишет новый экран на Compose, и контракт MVI, навигация и тесты должны совпадать по стилю с остальным проектом
  • Нужно ревью Compose-кода с разделением замечаний по важности, без правок файлов
  • Начинается проект на Compose Multiplatform, и требуются модули, плагины соглашений, каталог версий и CI
  • Надо вынести общий код в commonMain и аккуратно подключить iOS через expect/actual
  • Существующий код нужно подогнать под стиль набора, не добавляя в него новых экранов и функций

Не подходит, если

  • Работа идет на Kotlin вне приложения на Compose или Compose Multiplatform: скилл compose сам указывает, что для такого кода он не предназначен
  • Команда держится другого стиля, например Hilt с MVVM, и не собирается переходить: набор будет предлагать миграцию отдельным пунктом
  • Нужен только узкий разбор производительности Compose: для измерений и Baseline Profiles в каталоге есть Compose Performance Skills
  • Нужна одна короткая правка без архитектурных решений: семь скиллов с деревом решений для нее избыточны

Пример запроса к агенту

Добавь экран настроек профиля на Compose: контракт MVI, ViewModel, навигация и тесты, в стиле остального проекта

Ограничения

Набор задает собственный стиль: MVI на общем BaseViewModel, Koin с аннотациями, Navigation 3. В проекте с другой архитектурой придется принять этот стиль или получать от набора только предложения по миграции.

Автор проверял набор на пяти–семи моделях и сам нашел слабое место. В задачах на подгонку под соглашения агенты с набором перестраивали код слишком сильно. В версии 6.1 правило «без новых элементов управления, экранов и функций» стало выполняться в 8 проверках из 10 против 2 раньше. Для установки через npx skills нужен Node 22.20 или новее, через gh skill — GitHub CLI 2.90 или новее.

Как отключить. Удалите папки семи скиллов из .claude/skills/ или .agents/skills/ проекта, либо из каталога скиллов вашего агента, если ставили глобально. Плагин Claude Code отключается и удаляется через команду /plugin. Строку про compose в AGENTS.md или CLAUDE.md тоже уберите.

Частые вопросы

Как поставить Compose Skill в Claude Code?

Для плагина выполните `/plugin marketplace add Meet-Miyani/compose-skill`, затем `/plugin install compose-kit@compose-kit` и перезапустите Claude Code. Отдельные скиллы кладет в .claude/skills/ проекта команда из инструкции для агента, с флагом `-g` она ставит их глобально.

Сколько токенов набор отнимает у контекста?

Входное дерево compose занимает около 1,3 тысячи токенов, весь набор — около 127 тысяч. Агент читает по одному справочному файлу на затронутую область, а в тесте v5 35 запусков из 40 уложились меньше чем в 20 тысяч токенов.

Что будет, если в проекте уже стоит Hilt и MVVM?

В цельной кодовой базе набор следует вашему паттерну: Hilt, MVVM, Navigation 2 или собственный базовый класс. Переход на свой стиль он предлагает отдельно, не подмешивая в текущую задачу.

Зачем в наборе shell-скрипты?

Это 11 проверок, которые ловят расхождения со стилем в CI, к ним написаны 90 тестов на фикстурах. Установить их в проект можно командой `bash <каталог скиллов>/compose-architecture/scripts/install-guards.sh <проект>`.

С какими агентами работает Compose Skill?

Автор называет Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, Gemini CLI и Antigravity. Для каждого на сайте проекта есть своя страница установки, а идентификатор агента передается флагом `-a`.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Набор из 16 инженерных скиллов для агентов: разработка под Apple, упаковка macOS, производительность React, ревью и рефакторинг кода

СкиллРасширенный доступ4 тыс.Звезды репозитория
Выбор редакции

Набор скиллов от команды Kotlin для агентов: перевод Java в Kotlin, миграции сборки и правильная работа с бэкенд-фреймворками

ПлагинРасширенный доступ1,1 тыс.Звезды репозитория

Справочник по настольным приложениям на нескольких ОС с нативным ощущением: восемь принципов, четыре слоя, разбор WebView и аудит из 75 пунктов

СкиллМинимальный доступ1,9 тыс.Звезды репозитория
Выбор редакции

Официальный набор скиллов Unity для агентов: работа с редактором, сборки, 2D и 3D, UI, URP, звук, мультиплеер и монетизация

СкиллРасширенный доступ1,2 тыс.Звезды репозитория

Builder Skills

Skills for agents

Набор небольших скиллов от Builder.io для рабочих привычек агента: визуальные планы и разборы диффов, сверка с документацией, кросс-агентное ревью и аккуратные

СкиллРасширенный доступ4,6 тыс.Звезды репозитория
Официальный

17 скиллов от MiniMax: фронтенд и бэкенд, Android, iOS, Flutter, шейдеры, документы PDF, PPTX, XLSX, DOCX, а также генерация музыки, голоса и видео

СкиллРасширенный доступ13,7 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
Compose Skill (эта запись)нет306
Compose Performance Skillsнет52126 скиллов только про производительность Compose, от замера до Baseline Profiles
Awesome Android Agent Skillsнет995подборка скиллов для современной Android-разработки без единого архитектурного стиля

Коротко о README

README открывается результатами авторского теста и перечнем семи скиллов. Дальше идут схема работы от запроса к нужным файлам и способы установки для разных агентов. Таблицы по версиям v5, v6 и v6.1 собраны по оценкам двух независимых проверяющих.

Бейдж для README

Исходный 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.
- 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`.

Сообщить о проблеме

Foxx AICompose Skill
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.