Compose Performance Skills

Набор из 26 скиллов о производительности Jetpack Compose: от аудита с замерами до профилей Baseline и R8

  • 520 ★ репозитория
  • Последний коммит
  • Apache-2.0
Скилл

Минимальный доступ

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

  • Скиллы состоят из инструкций и ничего не запускают сами, но по ним агент собирает релиз и гоняет бенчмарки на устройстве
  • Установочный скрипт создает символические ссылки в папке скиллов агента
Все причины и проверки

skydoves/compose-performance-skills

Установка

Работает в

В терминале, через 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

СкиллМинимальный доступ599Звезды репозитория

Скиллы для Kotlin, Jetpack Compose и Android: состояние и эффекты, производительность, Flow, тесты, бенчмарки, Gradle и рабочие процессы с PR

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

Официальные 30 скиллов команды Android: Jetpack Compose, обновление AGP 9, R8, профилирование Perfetto, Navigation 3, CameraX и политики Google Play

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

Awesome Android Agent Skills

awesome-android-agent-skills

Скиллы по современной разработке под Android для Copilot, Claude, Gemini и Cursor: Kotlin, Jetpack Compose, архитектура, Hilt, Room

СкиллМинимальный доступ993Звезды репозитория

Скилл по Material Design 3 для кодовых агентов: токены, более 30 компонентов, темы, адаптивная верстка и аудит соответствия, с упором на Jetpack Compose

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

Скиллы Callstack по React Native: производительность, обновление версий, миграция нативных приложений, тестирование и CI

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

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

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

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
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`).

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

Foxx AICompose Performance Skills
Foxx AI

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