Skip to main content
Зміст гайду

Зміст гайду

Час на вивчення: 12 хв
#automation#design#website#extractor#skill#claude#code
Початківець12 хв

DESIGN.md Extractor: розбираємо дизайн будь-якого сайту з Claude

Повний практичний посібник з використання скіла DESIGN.md Extractor для Claude Code: вилучення візуальних токенів, генерація файлу DESIGN.md, інтерактивне HTML-прев'ю та експорт у Tailwind CSS.

Опубліковано:

1. Що таке DESIGN.md Extractor та навіщо потрібна екстракція дизайн-систем

У сучасній веброзробці дизайн-системи майже завжди залишаються закритими або фрагментованими: вони поховані у приватних макетах Figma, розпорошені по десятках файлів CSS або існують лише в пам'яті провідного дизайнера. Коли розробникові потрібно створити інтерфейс за мотивами референсу або швидко перейняти візуальну мову клієнтського сайту, доводиться годинами вручну копіювати hex-коди піпеткою у DevTools та лінійкою вимірювати радіуси кнопок.

DESIGN.md Extractor — це спеціалізований скіл для Claude Code, який повністю автоматизує процес реверс-інжинірингу вебдизайну. Агент аналізує живу сторінку, зчитує системні токени безпосередньо з DOM та CSS, а потім генерує машинно-читаний артефакт DESIGN.md разом з автономною візуальною вітриною design-preview.html.

mermaid
flowchart TD A["URL сайту або назва бренду<br><i>'stripe.com'</i>"] --> B["Claude Code + design-md-extractor"] B --> C["DOM & CSS Parser<br><i>(Зчитування :root змінних, обчислення стилів)</i>"] C --> D["Екстракція 4 категорій токенів<br><i>(Кольори, шрифти, відступи, радіуси)</i>"] D --> E["Генерація DESIGN.md<br><i>(YAML-специфікація + дизайн-бриф)</i>"] D --> F["Збірка design-preview.html<br><i>(Офлайн UI-кіт на чистих токенах)</i>"] E & F --> G["Експорт у Tailwind CSS / Figma / Кодову базу"]

Порівняння ручного аналізу та роботи зі скілом

Етап роботиРучний розбір через DevToolsВикористання DESIGN.md Extractor
Збір палітри кольорівРучне копіювання десятків окремих правил color та backgroundАвтоматичне вилучення повної ієрархії (~35 токенів) з :root
Аналіз типографікиВибіркове вимірювання font-size на різних заголовкахСемирівнева стандартизована шкала з інтерліньяжем та трекінгом
Сітка та відступиСуб'єктивні оцінки paddings та margins між блокамиТочний математичний крок модульної сітки (наприклад, база 8px)
Формат результатуРозрізнені нотатки в блокноті або сирі скриншотиСтандартизований DESIGN.md та інтерактивний UI-кіт у HTML
Час на проєктВід 3 до 6 годин рутинної роботиМенше 60 секунд на повний цикл генерації
Примітка

Скіл взаємодіє з відкритим вебкодом сторінки та вилучає фактичні параметри, які браузер використовує для рендерингу, уникаючи здогадок або суб'єктивних інтерпретацій.


2. Архітектура та принцип роботи: від URL до дизайн-системи

Робочий конвеєр екстрактора складається з кількох взаємопов'язаних фаз, що забезпечують точність збору даних.

Покроковий алгоритм аналізу

  1. Завантаження та рендеринг сторінки: Claude звертається до цільового URL, отримуючи повний HTML-документ та підключені таблиці стилів.
  2. Парсинг глобальних змінних :root: агент знаходить оголошені CSS custom properties (--color-primary, --font-sans, --spacing-unit, --radius-lg).
  3. Обчислення Computed Styles: для елементів без явних CSS-змінних скрипт аналізує ключові компоненти (кнопки, заголовки, інпути, навігацію), зчитуючи реальні обчислені значення браузера.
  4. Нормалізація та структурування: сирі кольори приводяться до канонічного формату HEX/OKLCH, а шрифти зіставляються з каталогом Google Fonts або системними стеками.
  5. Генерація артефактів: створення файлу специфікації DESIGN.md та збірка автономної HTML-сторінки попереднього перегляду.
Порада

Якщо сайт використовує утилітарні фреймворки (наприклад, Tailwind CSS), скіл розпізнає класи p-4, rounded-xl, bg-slate-900 та реконструює базову конфігурацію теми.


3. Чотири виміри візуальних токенів: кольори, типографіка, відступи, форма

DESIGN.md Extractor витягує та структурує візуальні токени за чотирма основними категоріями, створюючи цілісну систему.

Колірна палітра (Colors)

Екстрактор формує розширену палітру з приблизно 35 функціональних токенів за стандартом Material Design 3 та Radix UI:

  • Брендові акценти: primary, secondary, tertiary та їхні контрастні пари on-primary, on-secondary.
  • Поверхні та шари: background, surface, surface-variant, surface-container (від найсвітлішого до найтемнішого рівня підняття).
  • Системні стани: error, warning, success, info разом із відповідними текстовими контрастами.
  • Нейтральні відтінки: outline, outline-variant, scrim, shadow.

Типографічна ієрархія (Typography)

Шрифтова система описується через 7 стандартизованих рівнів:

Рівень токенаПризначенняТиповий розмірВисота рядкаНакреслення
headline-xlГоловні банери, Hero H148px – 64px1.1 – 1.15Bold / ExtraBold
headline-lgСекційні заголовки H232px – 40px1.2SemiBold
title-mdЗаголовки карток H320px – 24px1.3Medium / SemiBold
body-lgЛід-абзаци, вступний текст18px1.5 – 1.6Regular
body-mdОсновний текст сторінки15px – 16px1.5 – 1.6Regular
label-mdКнопки, вкладки, бейджі13px – 14px1.2 – 1.4Medium
label-smПідписи до полів, дисклеймери11px – 12px1.3Regular / Medium

Модульна сітка та відступи (Spacing)

Скіл визначає базовий модуль сітки (зазвичай 4px або 8px) і вибудовує гармонійну шкалу:

  • xs (4px), sm (8px), md (16px), lg (24px), xl (32px), 2xl (48px).
  • Фіксуються також глобальні макетні параметри: максимальна ширина контейнера (max-width: 1280px) та горизонтальні поля безпеки (gutter: 24px).

Геометрія форм та глибина (Shapes & Elevation)

  • Радіуси: шкала заокруглень від none (0px) до full (9999px для круглих аватарів та пігулкоподібних кнопок).
  • Тіні (Box Shadows): багаторівневі тіні для створення глибини (shadow-sm, shadow-md, shadow-xl), що імітують фізичне підняття карток над фоном.

4. Анатомія артефакту DESIGN.md: YAML-специфікація та Prose-секції

Файл DESIGN.md спроєктований як гібридний документ: його верхня частина є строгою YAML-структурою для лінтерів, компіляторів та генераторів коду, а нижня — професійним дизайн-брифом для людей та AI-асистентів.

Зразок структури YAML-frontmatter

yaml
--- name: "Acme Cloud Platform" extractedFrom: "https://acme.example.com" version: "1.0.0" colors: primary: "#4F46E5" on-primary: "#FFFFFF" primary-container: "#EEF2FF" secondary: "#06B6D4" background: "#0F172A" surface: "#1E293B" surface-variant: "#334155" on-surface: "#F8FAFC" outline: "#475569" typography: fontFamilySans: "'Inter', -apple-system, sans-serif" fontFamilyMono: "'JetBrains Mono', monospace" headline-xl: fontSize: "48px" lineHeight: "1.1" fontWeight: "800" letterSpacing: "-0.02em" body-md: fontSize: "16px" lineHeight: "1.5" fontWeight: "400" letterSpacing: "0em" spacing: base: "8px" sm: "8px" md: "16px" lg: "24px" xl: "32px" shapes: borderRadiusSm: "4px" borderRadiusMd: "8px" borderRadiusLg: "16px" borderRadiusFull: "9999px" ---

Сім описових розділів (Prose Sections)

Після блоку YAML файл містить 7 детальних інженерних секцій:

  1. Brand & Style Personality: тональність бренду (наприклад, "Суворий інженерний мінімалізм у стилі Linear" або "Теплий споживчий фінтех у стилі Stripe").
  2. Color Palette Rationale: правила комбінування кольорів та вимоги доступності контрасту WCAG AA.
  3. Typography Rhythm: правила ієрархії заголовків та вирівнювання за базовою лінією.
  4. Layout & Spacing Philosophy: принципи організації сітки, адаптивні контрольні точки (breakpoints).
  5. Elevation & Depth: використання шаруватості, градієнтів та розмиття фону (backdrop-filter blur).
  6. Shape & Border Language: філософія заокруглень, товщина меж та обведень.
  7. Component Blueprints: готові патерни для побудови кнопок, інпутів, карток та навігаційних меню.

5. Інтерактивне прев'ю: архітектура design-preview.html

Разом із документом DESIGN.md скіл формує автономний HTML-файл design-preview.html. Це повноцінна інтерактивна дизайн-вітрина.

mermaid
flowchart LR subgraph design_preview_html["design-preview.html (Офлайн-вітрина)"] P["Колірна палітра<br><i>(Клік копіює HEX/RGB)</i>"] T["Шрифтовий стенд<br><i>(Google Fonts лінійка)</i>"] C["UI Sandbox<br><i>(Кнопки, картки, форми)</i>"] S["Демо-екран<br><i>(Синтезований макет)</i>"] end design_preview_html --> B["Відкриття у будь-якому браузері<br><i>(Без node_modules, без бекенду)</i>"]

Переваги автономного прев'ю:

  • Zero Dependencies: файл не вимагає Node.js, вебсервера чи сторонніх бібліотек. Достатньо двічі клікнути на файл у Finder чи Провіднику.
  • Вбудовані ассети: іконки та графіка вбудовані у форматі Inline SVG або Base64, що гарантує працездатність вітрини навіть без підключення до мережі.
  • Копіювання токенів в один клік: клік на будь-яку плашку кольору автоматично копіює відповідне значення у буфер обміну.
  • Інтерактивні стани: усі компоненти підтримують псевдокласи :hover, :focus-visible, :active та :disabled.

6. Встановлення та запуск скіла в Claude Code

Скіл design-md-extractor активується природними командами у діалозі або через спеціальний слеш-виклику.

Команди запуску в терміналі

Що відбувається після надсилання команди

  1. Claude Code запускає підкапотні скрипти збору стилів.
  2. Агент виводить прогрес сканування: читання CSS-змінних, аналіз шрифтів, вимірювання компонентів.
  3. У кореневій папці вашого репозиторію з'являються файли DESIGN.md та design-preview.html.
  4. Агент пропонує відкрити HTML-файл у браузері (open design-preview.html).

7. Інтеграція токенів у Tailwind CSS, Figma та React

Отримані токени легко інтегруються у реальний виробничий процес без ручного переписування конфігурацій.

Експорт у конфігурацію Tailwind CSS

Використовуйте вилучені значення безпосередньо у tailwind.config.ts:

typescript
import type { Config } from 'tailwindcss'; const config: Config = { content: ['./src/**/*.{js,ts,jsx,tsx,mdx}'], theme: { extend: { colors: { brand: { primary: '#4F46E5', 'on-primary': '#FFFFFF', surface: '#1E293B', background: '#0F172A', }, }, borderRadius: { sm: '4px', md: '8px', lg: '16px', }, fontFamily: { sans: ['Inter', 'sans-serif'], }, }, }, plugins: [], }; export default config;

Підключення через CSS Custom Properties

Ви також можете імпортувати змінні у файл globals.css:

css
:root { --color-primary: #4f46e5; --color-on-primary: #ffffff; --color-surface: #1e293b; --radius-md: 8px; --spacing-base: 8px; }

Синхронізація з Figma через Tokens Studio

YAML-блок із файлу DESIGN.md можна конвертувати у формат JSON (tokens.json) та імпортувати в плагін Tokens Studio for Figma, миттєво створивши набір Figma Variables.


8. Практичні бізнес-сценарії та кейси використання

Екстрактор дизайн-систем є незамінним інструментом для швидкої продуктової розробки та аналітики.

Чотири головні сценарії застосування

  1. Реверс-інжиніринг та аналіз конкурентів: Отримайте повну розкладку стилю лідерів індустрії (Linear, Vercel, Apple, Stripe) ще до написання першого рядка власного CSS.
  2. Онбординг на новий клієнтський проєкт: Замість тривалих опитувань клієнта щодо брендбука достатньо запустити екстрактор на їхньому поточному сайті та за хвилину отримати готову базу стилів.
  3. Побудова MVP без дизайнера: Засновники стартапів можуть взяти візуальну гармонію успішного продукту за основу, адаптувати акцентні кольори та отримати професійний вигляд застосунку з першого дня.
  4. Живлення агентних систем: Файл DESIGN.md виступає як системний контекст для інших AI-асистентів, гарантуючи, що згенеровані моделями нові сторінки суворо відповідатимуть заданій дизайн-системі.

9. Практичний воркшоп: екстракція дизайн-системи та збірка компонента

Спробуймо пройти повний цикл: від аналізу сайту до створення нового React-компонента на основі отриманих токенів.

Крок 1. Запуск екстракції цільового сайту

Відкрийте термінал у вашому проєкті та виконайте:

text
Extract design system from https://news.ycombinator.com or your preferred inspiration website

Claude збере дані та згенерує DESIGN.md.

Крок 2. Перегляд згенерованого UI-кіта

Відкрийте отримане прев'ю у вебпереглядачі:

bash
open design-preview.html

Переконайтеся, що палітра, контрастність та типографічні розміри відповідають естетиці сайту.

Крок 3. Генерація компонента за файлом DESIGN.md

Поставте завдання Claude Code з прямим посиланням на створену специфікацію:

text
Using the tokens and component rules defined in DESIGN.md, create a responsive PricingCard component in src/components/PricingCard.tsx with primary and secondary CTA buttons.

Claude прочитає точні радіуси, тіні та кольори із DESIGN.md і створить компонент, що органічно вписується в цільову дизайн-систему:

typescript
import React from 'react'; interface PricingCardProps { title: string; price: string; features: string[]; isPopular?: boolean; } export const PricingCard: React.FC<PricingCardProps> = ({ title, price, features, isPopular }) => { return ( <div className={`p-6 rounded-[16px] border ${isPopular ? 'border-[#4F46E5] bg-[#1E293B]' : 'border-[#475569] bg-[#0F172A]'} text-[#F8FAFC]`}> <h3 className="text-xl font-semibold mb-2">{title}</h3> <div className="text-4xl font-extrabold mb-4">{price}</div> <ul className="space-y-3 mb-6"> {features.map((feat, idx) => ( <li key={idx} className="text-sm text-[#94A3B8] flex items-center gap-2"> ✓ {feat} </li> ))} </ul> <button className="w-full py-3 rounded-[8px] bg-[#4F46E5] hover:bg-[#4338CA] text-white font-medium transition-colors"> Почати користування </button> </div> ); };

10. Швидка самоперевірка та підсумковий чек-лист

Закріпіть знання щодо роботи з екстрактором дизайн-систем.

Контрольні питання

Порада

1. Звідки DESIGN.md Extractor бере точні значення кольорів і шрифтів?

Відповідь: Скіл зчитує реальні CSS custom properties (:root) та обчислені стилі (Computed Styles) безпосередньо з DOM живого сайту, а не генерує значення навмання.

Порада

2. Які два ключові файли створюються в результаті роботи скіла?

Відповідь: Машинно-читаний документ DESIGN.md (з YAML-шапкою та 7 текстовими розділами) та самодостатня офлайн-сторінка попереднього перегляду design-preview.html.

Порада

3. Як файл DESIGN.md допомагає при роботі інших AI-скілів Claude?

Відповідь: Він слугує суворим дизайн-контекстом: AI-генератори інтерфейсів читають токени з DESIGN.md і створюють нові компоненти, які на 100% узгоджуються з фірмовим стилем.

Чек-лист готовності вилученої дизайн-системи

  • Файл DESIGN.md містить валідний блок YAML-frontmatter із токенами кольорів, шрифтів та відступів.
  • Усі 7 текстових розділів описують специфіку дослідженого бренду без загальних кліше.
  • Файл design-preview.html коректно відкривається локально в браузері без помилок консолі.
  • Перевірено контрастність акцентних кольорів на відповідність стандартам доступності WCAG.
  • Токени перенесені у tailwind.config.ts або globals.css цільового проєкту.
  • Згенеровані перші компоненти інтерфейсу протестовано на сумісність із загальною сіткою.
Цей гайд повністю безкоштовний. Якщо він зекономив вам вечір — ви можете підтримати розвиток проєкту.
Підтримати автора