chrisbanes/skills
Скиллы для Kotlin, Jetpack Compose и Android: состояние и эффекты, производительность, Flow, тесты, бенчмарки, Gradle и рабочие процессы с PR
- 1 127 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Скиллы `run-github-project` и `shepherd` ведут репозиторий: опрашивают PR, чинят CI, а флаг `drain` --auto-merge разрешает слияние
- `gradle-run` запускает команды Gradle от имени агента
- Скиллы по Compose и Kotlin сами по себе остаются инструкциями
Установка
- Работает в
Ручная установка
/plugin marketplace add chrisbanes/skills
/plugin install chrisbanes-skills@chrisbanes-skillsУстановка плагином в Claude Code.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Скиллы `run-github-project` и `shepherd` ведут репозиторий: опрашивают PR, чинят CI, а флаг `drain` --auto-merge разрешает слияние
- `gradle-run` запускает команды Gradle от имени агента
- Скиллы по Compose и Kotlin сами по себе остаются инструкциями
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Плоский набор скиллов по Kotlin, Jetpack Compose и Android, он же пакет Agent Plugins 1.0.0. Для Compose есть `compose-state-and-effects` (владение состоянием и жизненный цикл эффектов), `compose-performance` (стабильность и отложенное чтение состояния по данным рантайма), `compose-component-design`, `compose-animations`, `compose-focus-navigation` для клавиатуры и TV и `compose-ui-testing-patterns`. По Kotlin работают `kotlin-concurrency-and-flow`, `kotlin-control-flow` и `kotlin-api-design`. Отдельные скиллы сравнивают Android-бенчмарки на физических устройствах, запускают Gradle через компактную обертку и готовят релиз Kotlin-библиотеки. Скилл `using-chrisbanes-skills` направляет задачу к нужному скиллу, а `deliver-spec`, `run-github-project`, `shepherd` и `implement-with-subagents` ведут работу от спецификации до слитого PR.
Для кого. Для Android- и Kotlin-разработчиков, которые поручают Claude Code или Codex писать и проверять код на Jetpack Compose и Kotlin Flow.
Подходит, если
- Compose-экран перерисовывается слишком часто, нужна диагностика стабильности и отложенного чтения состояния
- Надо решить, где хранить состояние экрана и как привязать к жизненному циклу сбор Flow, колбэки, навигацию и `snackbar`
- Требуется выбрать API анимации Compose для появления, переходов и смены содержимого
- Нужно сравнить конфигурации Android-бенчмарков на физическом устройстве с контролем условий
- Готовится релиз Kotlin-библиотеки: списки изменений и снимки API Metalava
Не подходит, если
- Нужен перевод Java в Kotlin или миграция сборки: этим занимается kotlin-agent-skills от команды Kotlin
- Вам нужны грабли Compose Multiplatform по опыту конкретного приложения: для этого есть kotlin-footguns
- Вы не хотите отдавать агенту рабочие процессы с PR: `shepherd` опрашивает открытые PR и чинит CI
- Проект не использует Kotlin и Compose: скиллы привязаны к ним
Пример запроса к агенту
Используй `compose-performance` и разберись, почему список товаров в этом экране постоянно рекомпозируется, опираясь на данные профилировщикаОграничения
Часть рабочих процессов опирается на внешние скиллы (`triage`, `tdd`, `wayfinder`, `research` из набора Matt Pocock): установка chrisbanes/skills их не ставит и сама не подтягивает. Автор перестроил таксономию, и старые скиллы вроде `compose-state-hoisting` заменены кластерами, так что ссылки на прежние имена перестали работать. Оценки из README носят справочный характер и не служат условием выпуска. Для OpenCode V2 нужна версия 2.0.22 или новее, для V1 — 1.18.29 или новее.
Как отключить. Для плагина Claude Code отключите или удалите его через меню /plugin, для Codex снимите плагин через его менеджер плагинов. Если ставили через npx skills, удалите папки скиллов из каталога скиллов агента.
Частые вопросы
Как поставить chrisbanes/skills в Claude Code?
Через плагин: /plugin marketplace add chrisbanes/skills, затем /plugin install chrisbanes-skills@chrisbanes-skills. Другой путь: npx skills add chrisbanes/skills.
С какого скилла начинать работу с Compose?
README советует `compose-state-and-effects` для состояния и эффектов, `compose-performance` для рекомпозиции, стабильности и тормозов и `kotlin-concurrency-and-flow` для ревью Flow и корутин.
Чем chrisbanes/skills отличается от kotlin-agent-skills?
kotlin-agent-skills от команды Kotlin посвящен переводу Java в Kotlin, миграциям сборки и бэкенд-фреймворкам. Здесь упор на Compose, Kotlin Flow, бенчмарки и рабочие процессы вокруг PR.
Нужны ли дополнительные скиллы для рабочих процессов?
Для части сценариев да: `deliver-spec` использует `triage`, `implement-with-subagents` и `run-github-project` используют `tdd`. Они берутся из репозитория Matt Pocock и не устанавливаются автоматически.
Что случилось со старыми названиями скиллов?
В README отмечена смена таксономии: например, `compose-state-authoring`, `compose-state-hoisting` и `compose-side-effects` объединены в `compose-state-and-effects`, а три скилла о рекомпозиции в `compose-performance`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыОфициальные 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
Набор из 26 скиллов о производительности Jetpack Compose: от аудита с замерами до профилей Baseline и R8
Скилл для Jetpack Compose и Compose Multiplatform: агент пишет UI по справочникам и сверяется с исходниками androidx
Kotlin Footguns
kotlin-footguns
Скиллы по граблям Kotlin, Compose Multiplatform и Android, собранные по опыту автора приложения SimpMusic. Лицензия GPL-3.0
Набор скиллов по iOS 26+, Swift 6.3 и SwiftUI: агент получает знания по современным фреймворкам Apple
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| chrisbanes/skills (эта запись) | нет | 1 127 | |
| Compose Agent Skill | нет | 599 | один скилл по Compose и Compose Multiplatform со справочниками и сверкой с исходниками androidx |
| kotlin-agent-skills | нет | 1 100 | официальный набор команды Kotlin: перевод Java в Kotlin и миграции сборки |
| Kotlin Footguns | нет | 1 732 | грабли Kotlin и Compose Multiplatform по опыту одного приложения, лицензия GPL-3.0 |
Коротко о README
README представляет репозиторий как набор скиллов по Kotlin, Compose, Android и «заземленному письму», он же переносимый пакет Agent Plugins. Дальше идут установка для Claude Code, Codex и OpenCode, таблица внешних провайдеров скиллов, каталог скиллов с подсказками «с чего начать» и таблица миграции со старых названий. Вторая половина посвящена правилам разработки, релизам по CalVer, запуску оценок и таблицам результатов.
Бейдж для README
Исходный SKILL.md
--- name: compose-state-and-effects description: Use when writing or reviewing Jetpack Compose state ownership, remember state, state hoisting, screen state holders, LaunchedEffect, DisposableEffect, SideEffect, Flow collection, navigation, snackbar, analytics, or focus requests. --- # Compose state and effects ## Core principle Give every piece of UI state one lowest responsible owner, then run imperative work through the effect whose lifecycle follows that owner. Composition renders; state and effects make rendering change safely. A screen-ownership review is incomplete until it names the plain, previewable content composable that receives immutable state and event callbacks separately from app wiring and composition-owned runtime objects. ## Procedure 1. Establish the requested scope and visible behavioral requirements. Treat an ownership change as a finding only when code or task evidence shows a lifecycle, testability, business, or coordination need. 2. Inventory mutable UI state, app state, event streams, app dependencies, and imperative work in the affected screen or component. 3. Place each state value at its lowest necessary owner: local UI state, hoisted state, a plain UI state holder, or a screen state holder. 4. For a screen boundary, keep durable data and intents in the wiring owner, Compose runtime objects in composition or a plain UI state holder, and rendering in a previewable content composable that takes immutable state and callbacks. Read [State hoisting](references/state-hoisting.md) for the implementation shape; naming only state and intents is not that boundary. Keep this content callable with sample state and callbacks; an `@Preview` wrapper is optional and is not required for the state-driven boundary. Before adding it, confirm the module declares its tooling; do not assume Compose runtime or UI dependencies provide it. Respect the task's file scope: do not add tooling or change build files unless authorized. If Preview tooling is needed but unavailable within scope, omit the wrapper and report the setup gap. 5. Choose an effect API whose lifecycle matches the work, and key it by the semantic input that should restart or dispose it.