Марина Макеева
Назад
Лаба

Дизайн-система задним числом

Длительность
один вечер
Стек
Claude Code, Claude Design, Figma MCP, Tokens Studio (не использован), TypeScript

Сайт уже был на mmkeewa.ru, когда я поняла, что у меня нет нормальной дизайн-системы. Цвета прописаны хексами в трёх местах, отступы — каждый раз заново. Когда я просила Claude добавить новый блок, он каждый раз изобретал палитру: pink становился бордовым, charcoal превращался в black, отступ 28 становился 32.

Через две итерации сайт перестал выглядеть консистентным. Стало понятно: либо сейчас сделать систему, либо через месяц переделать будет дороже, чем сделать заново.

Главный экран сайта mmkeewa.ru

До дизайн-системы — italic-pink слово вшито в один компонент, остальные не знают про него

Попытка 1 — Claude Design

Пошла в Claude Design, накидала скриншоты сайта, попросила собрать систему по референсу. Получился аккуратный документ — токены, шкалы, компоненты.

Когда захотела перенести его в Figma — оказалось, что десктопная версия Claude Design не подключена к Figma MCP. MCP-коннектор работает только из Claude Code, не из дизайн-инструмента. Тупик.

Claude Design — попытка собрать систему

Дизайн получился — а способа перенести его в Figma нет

Попытка 2 — JSON через Tokens Studio

Claude Design предложил экспорт токенов в формат W3C / Tokens Studio JSON. План: импортируешь в плагин Tokens Studio внутри Figma — и переменные сами создаются.

Сделала JSON, открыла Tokens Studio. Полноценный импорт оказался в платной версии за $9/мес. На принципе платить за инструмент-посредник не хотелось.

Tokens Studio — paywall на импорт

JSON работает, плагин-импортёр платный

Попытка 3 — собственный плагин Figma

Попросила Claude Code написать плагин: читает tokens.json + спеку компонентов и собирает дизайн-систему в Figma за один прогон. Плагин Claude Code написал, скомпилировал.

Когда я загрузила его в Figma — упали ошибки. Что-то с типами шрифтов, что-то с порядком создания вариантов. Без знания Figma Plugin API я не понимала, какую строчку править.

Что сработало — Claude Code + Figma MCP

Финальный путь: попросила Claude Code запустить плагин напрямую через Figma MCP, не загружая через UI. MCP даёт прямой доступ к Figma Plugin API из внешнего процесса — Claude Code пишет JS и сразу выполняет в файле, видит ошибки и сам их чинит, без круга «скомпилировал → импортировал → упало → расковыривай».

const core = figma.variables.createVariableCollection('core');
const inkVar = figma.variables.createVariable(
  'color/text/ink',
  core,
  'COLOR',
);
inkVar.setValueForMode(core.defaultModeId, {
  r: 0.144, g: 0.131, b: 0.110,
});

За один сеанс собралось:

  • 128 переменных в двух коллекциях — core (raw values) + semantic (aliases на core)
  • 9 text styles, 2 effect styles
  • 7 страниц с эмодзи-префиксами для визуального разделения
  • 11 primitive-компонентов — Button (12 вариантов), Eyebrow, Badge, Logo, Input, InstallBlock, SideNavItem, FloatingNavItem, NavLink, CaseIcon ×7, SkillIcon ×3
  • 5 composite-компонентов — Card/Work, Card/SkillEmbed, Card/Template, Block/TimeCompression, Modal/Subscribe
  • 3 шаблона страниц T1/T2/T3 — собранные из инстансов

Cover страница дизайн-системы в Figma

Файл дизайн-системы в Figma — Cover-страница

Токены акцента в Figma

Колл цветовых токенов с привязкой к переменным

Иконки кейсов

7 case-иконок — каждая 64×64, 1.5px stroke, один pink-акцент

Плюс Claude Code сразу обозначил canonical-страницы (🧱 Components, 🧩 Composite, 📄 Templates) — те, что плагин перезаписывает при каждом Sync & Build, — и personal-страницы (🛠 Drafts, 🖼 Mockups), где я могу свободно рисовать, не боясь, что мою работу затрёт следующим прогоном.

Anti-patterns страница в Figma

Anti-patterns как часть системы — то, чего не делать, важнее правил

Что я унесла

Дизайн-система — не отдельный проект на месяц. Это два канонических файла (tokens.json + components.spec.json) и бот, который синхронизирует Figma с ними. React-код потребляет CSS-переменные, Figma строится плагином, Claude получает контекст из DESIGN.md + WORKFLOW.md — всё держится на этих двух файлах.

Время от старта эксперимента до рабочей системы — ~6 часов. Хотела сделать «за неделю», получилось за вечер благодаря тому, что MCP убирает шаг «скомпилировал плагин — импортировал — упало — разбирайся».

Главный вывод не про инструменты. Дизайн-система задним числом всегда дороже, чем сразу. Но если уже задним числом — пусть будет вечер, а не месяц.