Словами самого skill
Skill design-system — общий владелец бренда для плагина markdown-html. Он один раз фиксирует идентичность бренда через мастер первичной настройки из 10 вопросов — основные и акцентные значения HEX, шрифты Google Fonts для заголовков и основного текста, стиль оформления (редакционный, технический, минималистичный или игривый), каталог вывода по умолчанию, тему кода, поведение оглавления, а также необязательные название и логотип компании — затем проверяет контраст основного текста и ссылок по WCAG 2.2 AA и выводит 12 пользовательских свойств CSS в пространстве HSL.
Три инструмента на Python, использующие только стандартную библиотеку, отвечают за онбординг, загрузку конфигурации и проверку палитры; приоритет — проект, затем глобальные настройки, затем встроенные значения по умолчанию. Каждый конвертер (md-document, md-review, md-slides) читает сохранённую конфигурацию, поэтому изменение токена меняет каждый отрендеренный документ.
Что он выдаёт
- Файл конфигурации, в котором хранятся бренд и производная палитра; создаётся глобально или в проекте.
- Двенадцать пользовательских свойств CSS, встроенных в блок стилей каждого конвертера, например --md-surface, --md-border, --md-link и --md-warn.
- JSON-схема для конфигурации, поставляется как ассет для валидации.
Как это работает
- 01Запустите онбординг один раз
Этот skill выступает единым владельцем бренда для плагина markdown-html: md-document, md-review и md-slides используют конфиг, который он записывает, поэтому один запуск задаёт оформление сразу для всех конверсий.
- 02Ответьте на десять вопросов
Мастер настройки сохраняет default_output_dir, HEX-код основного и акцентного цвета, шрифты для заголовков и основного текста, design_style, code_theme, toc.behavior, а также опциональные company_name и logo_url.
- 03Пусть валидация блокирует сохранение
brand_palette_validator.validate() запускается после каждого изменения, поэтому пара повторно проверяется при каждом редактировании поля, а не только в конце работы мастера настройки.
- 04Извлечь двенадцать токенов
derive_palette() вычисляет токены, такие как --md-surface на уровне bg плюс-минус 4-6% светлоты и --md-text-muted как rgba(text, 0.68), и сохраняет их в derived_palette в том же файле конфигурации.
- 05Разрешение config по приоритету
config_loader.py — импортируемый загрузчик, который вызывает каждый конвертер перед рендерингом; он объединяет настройки проекта, затем глобальные, затем встроенные значения по умолчанию, и учитывает переменную окружения для обхода.
- 06Переопределить или сбросить в неинтерактивном режиме
Помимо интерактивного мастера, onboard.py принимает --defaults, --set key=value, --scope project, --show и --reset, что позволяет изменять или сбрасывать поля бренда без повторного прохождения всех вопросов.