Compose Performance Skills
Набор из 26 скиллов о производительности Jetpack Compose: от аудита с замерами до профилей Baseline и R8
- 520 ★ репозитория
- Последний коммит
- Apache-2.0
Минимальный доступ
Почему такой уровень
- Скиллы состоят из инструкций и ничего не запускают сами, но по ним агент собирает релиз и гоняет бенчмарки на устройстве
- Установочный скрипт создает символические ссылки в папке скиллов агента
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/compose-performance-skillsОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемМинимальный доступИнструмент ничего не запускает и не ходит в сеть.
- Скиллы состоят из инструкций и ничего не запускают сами, но по ним агент собирает релиз и гоняет бенчмарки на устройстве
- Установочный скрипт создает символические ссылки в папке скиллов агента
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Compose Performance Skills — 26 скиллов для агента на одну тему: производительность Jetpack Compose. Каждый скилл разбирает один сценарий. Часть посвящена рекомпозиции: стабильности типов, пропуску лишних вызовов и поиску рекомпозиций без причины. Другие разбирают ленивые списки, цепочки модификаторов с миграцией на Modifier.Node, побочные эффекты и сбор Flow. Еще есть скиллы о профилях Baseline, настройке R8, горячей перезагрузке с Compose HotSwan и цикле измерений. Скилл устроен одинаково: в шапке SKILL.md слова-триггеры, дальше пошаговый алгоритм, пары правильного и неправильного кода и контрольный список проверки. Папки делятся на девять категорий, от audit и build до side-effects и stability. Файл INDEX.md сопоставляет симптом со скиллом. Входная точка для широкой жалобы вроде «приложение тормозит везде» — скилл auditing-compose-performance. Он ведет аудит по циклу «измерить, диагностировать, исправить, проверить» и ищет причины в отчетах компилятора Compose. Если симптом назван точно, например дергается прокрутка в LazyColumn, агент сразу берет узкий скилл.
Для кого. Для Android-разработчиков на Jetpack Compose, у которых тормозит прокрутка, растет число рекомпозиций или нужен аудит перед релизом.
Подходит, если
- LazyColumn пропускает кадры при быстрой прокрутке, а счетчики рекомпозиций растут на каждом тике
- Команда начинает спринт по производительности, и ей нужен план работ с замерами до и после правок
- Надо понять, какие типы компилятор считает нестабильными, и закрепить базовые показатели стабильности в CI
- Перед релизом нужно сгенерировать профиль Baseline и настроить R8 для Compose
- Хочется быстрее проверять правки с горячей перезагрузкой и не терять состояние экрана
Не подходит, если
- Вы пишете Compose-интерфейс с нуля и ищете общие правила разработки: набор посвящен только производительности
- Приложение сверстано в XML или не на Android: скиллы целиком про Jetpack Compose
- Вы хотите поставить скиллы через Android CLI: набор лежит вне официального каталога Google и подключается клоном и скриптом
- Релизную сборку собрать нельзя или под рукой нет физического устройства: аудит требует замеров на релизе, цифры эмулятора автор считает непоказательными
Пример запроса к агенту
LazyColumn дергается при быстрой прокрутке, а в Layout Inspector число рекомпозиций растет на каждом тике. Найди проблему со стабильностью и исправь ееОграничения
Автор отлаживал скиллы на Claude Code, где SKILL.md загружается напрямую. Работу в Android Studio Agent mode и Gemini он целиком не проверял и просит сообщать о результатах в трекер. В Claude.ai файлы SKILL.md загружают вручную как вложения, а в Claude API передают в системном промпте или через файловый API Agent Skills. Для замеров в проекте нужен модуль Macrobenchmark. Некоторые советы привязаны к версиям: например, Strong Skipping по умолчанию включается с Kotlin 2.0.20. Ссылки на API в скиллах закреплены за конкретными версиями.
Как отключить. Выполните `./scripts/install-skills.sh --uninstall` из папки клона, затем удалите клон и перезапустите Claude Code.
Частые вопросы
Как поставить Compose Performance Skills в Claude Code?
Склонируйте репозиторий в ~/.claude/skills-sources/compose-performance-skills и запустите scripts/install-skills.sh. Повторный запуск скрипта ничего не ломает. После перезапуска Claude Code сам выбирает скилл по словам симптома в запросе.
Почему обычный git clone в ~/.claude/skills не работает?
Загрузчик Claude Code ждет файл SKILL.md прямо в папке скилла, а в репозитории скиллы лежат глубже, в папках категорий. Установочный скрипт раскладывает символические ссылки в плоскую структуру. Другой каталог назначения передается аргументом, а флаг `--uninstall` убирает ссылки.
Как подключить скиллы к Android Studio Agent mode или Gemini?
Из папки проекта клонируйте репозиторий в `.compose-performance-skills-source` и запустите скрипт с каталогом `.agent/skills` в качестве цели. Агенты находят скиллы в локальных папках проекта. Автор не проверял работу с этими агентами целиком.
С чего начать, если приложение тормозит целиком?
Со скилла auditing-compose-performance. До первой правки он требует замеры релизной сборки на физическом устройстве и возвращается к замеру после каждого исправления. Один узкий симптом агент сразу отдает узкому скиллу.
Как выбрать скилл под свой симптом?
В файле INDEX.md таблица сопоставляет симптом со скиллом. Например, медленный LazyColumn ведет к optimizing-lazy-layouts, вопрос о стабильности типов к diagnosing-compose-stability.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкилл для Jetpack Compose и Compose Multiplatform: агент пишет UI по справочникам и сверяется с исходниками androidx
Скиллы для Kotlin, Jetpack Compose и Android: состояние и эффекты, производительность, Flow, тесты, бенчмарки, Gradle и рабочие процессы с PR
Официальные 30 скиллов команды Android: Jetpack Compose, обновление AGP 9, R8, профилирование Perfetto, Navigation 3, CameraX и политики Google Play
Awesome Android Agent Skills
awesome-android-agent-skills
Скиллы по современной разработке под Android для Copilot, Claude, Gemini и Cursor: Kotlin, Jetpack Compose, архитектура, Hilt, Room
Скилл по Material Design 3 для кодовых агентов: токены, более 30 компонентов, темы, адаптивная верстка и аудит соответствия, с упором на Jetpack Compose
Скиллы Callstack для React Native
Callstack Agent Skills
Скиллы Callstack по React Native: производительность, обновление версий, миграция нативных приложений, тестирование и CI
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Compose Performance Skills (эта запись) | нет | 520 | |
| Compose Agent Skill | нет | 599 | учит писать Compose-интерфейс по справочникам и сверяться с исходниками androidx, без упора на производительность |
| Android skills | да | 10 003 | официальные 30 скиллов команды Android: Compose, AGP 9, R8, Perfetto, Navigation 3, CameraX и политики Google Play |
Коротко о README
README объясняет формат Agent Skills по стандарту agentskills.io и показывает структуру каталогов. Соглашения об именах простые: название скилла в форме герундия и не больше 500 строк в теле. Дальше идут способы подключения для Claude Code, Android Studio, Android CLI, Claude.ai и API и быстрый пример с LazyColumn.
Бейдж для README
Исходный SKILL.md
---
name: auditing-compose-performance
description: Use this skill to run an end-to-end Jetpack Compose performance audit when the symptom is broad ("the app feels sluggish", "scroll is rough everywhere", "we're starting a perf sprint", "what should we fix first?"). Orchestrates the four-phase Measure → Diagnose → Fix → Verify loop by sequencing the 25 focused skills (release-mode setup, R8, Baseline Profiles, Compose Compiler reports, stability inference, Layout Inspector, `@TraceRecomposition`, stabilization, strong skipping, phase-deferral, derivedStateOf, lazy layouts, lazy prefetch, Modifier.Node, modifier ordering, flow collection, effects, CI gates, hot-reload) and produces a written audit report with Before/After Macrobenchmark numbers. Use when the developer wants a perf sprint kickoff, a pre-release perf gate, onboarding to a perf-troubled codebase, or a written deliverable. Use when the user mentions "audit", "perf review", "perf sprint", "where do I start", or has no specific symptom yet.
license: Apache-2.0. See LICENSE for complete terms.
metadata:
author: Jaewoong Eum (skydoves)
keywords:
- jetpack-compose
- performance
- audit
- orchestrator
- perf-sprint
- measure-diagnose-fix-verify
- baseline-profile
- macrobenchmark
- compose-compiler-reports
- stability
---
# Auditing Compose Performance — the Measure → Diagnose → Fix → Verify orchestrator
This is the highest-level entry point in the `compose-performance-skills` library. When the developer's symptom is broad — "the app feels sluggish", "scroll is rough everywhere", "we're starting a perf sprint", "where do we even start?" — Claude enters here. The orchestrator does **NOT** replace the 25 focused skills; it sequences them through a four-phase loop and produces a written audit report at the end.
The phases are **Measure → Diagnose → Fix → Verify**, run in order, never skipped. Phase 1 establishes baseline numbers from a release + R8 build on a real device, because anything else is fiction. Phase 2 turns symptoms into named causes from the Compose Compiler reports, Layout Inspector, and runtime tracing. Phase 3 applies one targeted fix at a time, re-measuring between fixes so the delta of each change is provable. Phase 4 regenerates the Baseline Profile, locks in a CI stability gate, and commits the baseline files so regressions cannot slip back.
Perf work without measurement is guessing. Skydoves hot take #1 applies throughout: **DO NOT** chase 100% skippability — that is a diagnostic on a compiler report, not the goal. The goal is `FrameTimingMetric` and `StartupTimingMetric` improvement on a real device.
## When to use this skill
- The developer reports broad sluggishness with no specific surface ("the app feels heavy", "everything is slow").
- A team is kicking off a performance sprint and wants a structured plan.
- A new team member needs onboarding to a perf-troubled codebase.
- A pre-release perf gate is required before shipping.
- The user asks for an "audit", "perf review", or a written deliverable.
- The user has no idea where to start and wants Claude to triage.
## When NOT to use this skill
- A specific symptom is already named (scroll jank in `LazyColumn`, `derivedStateOf` not firing, custom modifier recomposing). Go straight to the focused skill. See `../../INDEX.md` for the symptom→skill map.
- The developer only wants to fix one issue and does not want a written report. Pick the focused skill from `../../INDEX.md`.
- No release build is possible (e.g. broken signing config). Resolve that first; this audit MUST measure release.
## Prerequisites
- Project builds the release variant successfully (`./gradlew assembleRelease`).