Превращаем Claude Code в дизайнера мирового уровня: генерация UI-компонентов, тем и аудит по гайдлайнам

Каждый раз, когда я верстаю интерфейс по 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 категорий:

  1. Color tokens: используются ли MaterialTheme.colorScheme.primary или захардкожены цвета вроде #1A73E8
  2. Typography: применены ли правильные стили из MaterialTheme.typography
  3. Shape: соответствуют ли скругления токенам (small, medium, large, extraLarge)
  4. Elevation: корректны ли уровни тени для каждого компонента
  5. Components: используются ли стандартные компоненты вместо самодельных
  6. Layout: адаптивность, breakpoints, канонические макеты
  7. Navigation: правильный тип навигации для размера экрана
  8. Motion: Expressive-анимации и переходы
  9. Accessibility: контрастность, размеры touch-зон, описания контента
  10. 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 остаётся за вами.

Читать оригинал