Каждый раз, когда я верстаю интерфейс по Material Design 3, уходит время на одни и те же задачи: проверка цветовых токенов, выбор правильного компонента, соответствие elevation и shape спецификации. Документация на m3.material.io — это SPA, которая медленно загружается и неудобна в поиске.
Что это делает
material-3-skill — скилл для Claude Code, превращающий его в эксперта по Material Design 3. Устанавливается в ~/.claude/skills/ и добавляет команду /material-3.
Он поддерживает четыре режима:
Генерация компонентов. Описываете нужный элемент — получаете код с правильными токенами.
Claude Code возвращает Jetpack Compose-код с MaterialTheme, корректными OutlinedTextField, FilledButton, отступами и elevation. Это не «похоже на Material» — это код, соответствующий спеке.
Генерация темы. Указываете seed-цвет — получаете полную цветовую схему.
На выходе — ColorScheme с primary, secondary, tertiary, surface, error и всеми производными (onPrimary, primaryContainer и т.д.), включая тёмную тему. Всё по алгоритму Material You.
Scaffold приложения. Каркас с адаптивной навигацией.
Формируется адаптивный шаблон: bottom navigation на телефонах, navigation rail на планшетах, navigation drawer на десктопах — с правильными breakpoint’ами из MD3.
Аудит. Самая полезная функция — проверка готового приложения на соответствие MD3.
Скилл анализирует код по 10 категориям: цветовые токены, типографика, shape, elevation, компоненты, layout, навигация, motion, доступность и темизация. Выдаёт оценку и конкретные замечания с предложениями по исправлению.
Compose-first, но не Compose-only
Скилл ориентирован на Jetpack Compose — это основная платформа. Но поддерживает и другие:
- Jetpack Compose: полная поддержка — каталог, API, Expressive
- Flutter: вторичная — ThemeData(useMaterial3: true), ColorScheme.fromSeed
- Web: ограниченная — @material/web в режиме сопровождения, без Expressive
Для веба скилл честно предупреждает: Material Web не развивается, M3 Expressive на вебе не реализован. Можно использовать токены и компоненты, но новые функции не появятся. Такая прозрачность ценна — многие инструменты обещают «всё и сразу».
Что внутри: структура файлов
Каждый reference-файл — это дистиллят официальной документации с m3.material.io, Android Developers и AndroidX Compose Material3 API. Это не копия, а обобщённые таблицы токенов, шаблоны компонентов, примеры layout’ов, приведённые к единому формату.
Аудит — самая полезная часть
Генерация компонентов удобна, но Claude Code и без скилла неплохо справляется с Material-подобным кодом. А вот аудит — уникальная функция, которой нет в других инструментах.
Проверка охватывает 10 категорий:
- Color tokens: используются ли MaterialTheme.colorScheme.primary или захардкожены цвета вроде #1A73E8
- Typography: применены ли правильные стили из MaterialTheme.typography
- Shape: соответствуют ли скругления токенам (small, medium, large, extraLarge)
- Elevation: корректны ли уровни тени для каждого компонента
- Components: используются ли стандартные компоненты вместо самодельных
- Layout: адаптивность, breakpoints, канонические макеты
- Navigation: правильный тип навигации для размера экрана
- Motion: Expressive-анимации и переходы
- Accessibility: контрастность, размеры touch-зон, описания контента
- Theming: динамические цвета, тёмная тема, палитры на основе seed
Результат — отчёт с оценкой по каждой категории и указанием конкретных строк кода для исправления. Для проектов с дизайнерским ревью это экономит часы работы.
M3 Expressive — новый слой (май 2025)
Скилл поддерживает M3 Expressive — обновление Material Design 3 с акцентами в типографике, новыми формами-морфингами и расширенными паттернами анимации. Поддержка зависит от платформы:
- Compose: motion и emphasized type доступны
- Flutter: частичная поддержка через community-пакеты
- Web: не реализовано и не планируется
Скилл включает матрицу совместимости — перед использованием Expressive-возможностей можно проверить их доступность на вашей платформе.
Ограничения
Compose-first. Если вы работаете с Flutter или вебом — скилл полезен, но не оптимален. Основные примеры и маппинги заточены под Compose.
Может устаревать. Скилл основан на документации на момент создания. При обновлении спецификации Google он может отставать, пока не будет обновлён. Для точных API-сигнатур стоит сверяться с официальными Android-документами.
Не заменяет дизайнера. Скилл генерирует технически корректный код, но не принимает дизайн-решения. Выбор seed-цвета или необходимости FAB остаётся за вами.