Claude Info
Дизайн

excalidraw-skill

Agents365-ai/excalidraw-skill

Claude Code skill для создания диаграмм в стиле Excalidraw по текстовому описанию. Поддерживает экспорт в PNG/SVG/PDF через Kroki API или локальный CLI, встроенную семантическую цветовую систему, точные правила отступов и защиту от типичных ошибок вёрстки.

Установка

terminal
bash
npm install -g excalidraw-brute-export-cli

README

Excalidraw Skill — генерация диаграмм

Claude Code skill для создания диаграмм в стиле ручного рисунка из естественного языка с автоматическим экспортом в PNG/SVG.

English

Зачем этот skill

  • Генерация диаграмм из естественного языка — опишите нужную схему на русском или английском, и диаграмма будет создана автоматически без ручного перетаскивания элементов.
  • Нулевой порог входа — не нужно изучать формат Excalidraw JSON, синтаксис Mermaid или любой другой DSL.
  • Экспорт без установки (Kroki API) — достаточно curl, не нужны npm, Docker или инструменты браузерной автоматизации.
  • Проактивная генерация — когда Claude обнаруживает сложную систему, требующую визуализации, диаграмма создаётся автоматически без явного запроса.
  • Профессиональная дизайн-система — встроенная семантическая цветовая система (правило 60-30-10), иерархия размеров шрифтов, семантика стрелок (сплошная/пунктирная/точечная) и шаблоны компоновки для разных типов диаграмм.
  • 5 режимов диаграмм — блок-схемы, архитектурные схемы, диаграммы последовательностей, ментальные карты, диаграммы с дорожками — каждый со своими правилами компоновки и отступов.
  • Защита от антипаттернов — задокументированные типичные ошибки (наложение текста в областях, запутанные стрелки, коллизии подписей) позволяют Claude избегать проблем ещё до генерации.
  • Умный расчёт размеров — автоматическое вычисление ширины элементов по длине подписи (max(160, charCount * 9)), адаптация для CJK-символов, исключение обрезки текста.
  • Точная система отступов — пиксельные правила для стрелок с подписями и без, межколоночные расстояния, внутренние отступы областей.
  • 3 режима маршрутизации стрелок — прямые линии, L-образные ломаные, кривые изгибы.
  • Редактируемый вывод — файлы .excalidraw открываются и редактируются на excalidraw.com с полным сохранением привязок стрелок.
  • Поддержка офлайн — локальный CLI (на базе Firefox) работает полностью без сети.

Сравнение с аналогами

ВозможностьЭтот skillНативный Claude CodeДругие skills
Генерация Excalidraw JSON✓ с дизайн-системой✓ без правил компоновки✓ у каждого свой акцент
Экспорт PNG/SVG✓ автоматически✗ требует явного запросачастично
Экспорт без установки (Kroki API)✓ только curl✗ нет запасного варианта
Проактивный запуск (автодетект)✓ от 3+ компонентов✗ только по явному запросу
Семантическая цветовая система✓ правило 60-30-10✗ нет дизайн-нормчастично
Точные правила отступов✓ пиксельные нормы✗ на глазчастично
Защита от антипаттернов✓ встроенная документация✗ нет защиты
Умный расчёт размеров (CJK)✓ автоадаптация✗ частое обрезание
Маршрутизация стрелок (прямая/ломаная/кривая)✓ 3 режима✗ только прямыечастично
Двусторонняя привязка стрелок✓ полное взаимодействие✗ статические линиичастично
Ключевые слова на нескольких языках
Сквозной рабочий процесс✓ генерация→экспорт→отчёт✗ только генерация кодачастично
Один самодостаточный файл✓ один SKILL.mdн/д✗ (4–6 файлов)

Ключевые преимущества перед нативным Claude Code:

  • Полный конвейер — Claude Code умеет писать Excalidraw JSON, но не экспортирует изображения автоматически и не знает дизайн-норм. Этот skill обеспечивает полную автоматизацию от генерации до готового результата.
  • Профессиональное качество — встроенные семантические цвета, точные отступы, маршрутизация стрелок: вывод готов к использованию без ручных правок.
  • Защита от ошибок — антипаттерны предотвращают наложение текста, запутанные стрелки и другие типичные проблемы.
  • Проактивная визуализация — диаграммы создаются автоматически при обсуждении архитектуры, без явного запроса.

Почему Skill, а не MCP?

Формат JSON в Excalidraw — это просто массив элементов с полями x/y/width/height, которые Claude умеет писать нативно. Skill учит Claude «как рисовать», MCP даёт Claude «кисть». Когда LLM сам умеет рисовать — лучше научить его делать это правильно.

ПараметрSkillMCP Server
ПринципИнструкции вводятся в контекст ClaudeОтдельный запущенный сервис
ГенерацияClaude пишет JSON напрямую (нативная способность LLM)Требует кода для обработки логики генерации JSON
ГибкостьClaude понимает семантику, свободная компоновкаФиксированные параметры API, ограниченная гибкость
УстановкаСкопировать один файлЗапустить сервис, настроить MCP
ЗависимостиНетСреда выполнения Node.js / Python
ЭкспортВызов существующих инструментов (curl / CLI)Требует встроенной логики экспорта или всё равно вызывает curl

Ценность MCP — в предоставлении Claude возможностей, недоступных ему самому: доступ к базам данных, браузерная автоматизация, API с аутентификацией. Ядро генерации диаграмм — дизайн компоновки + написание JSON — как раз то, в чём LLM наиболее силён.

Функциональность

  • Генерация файлов .excalidraw JSON по описанию на естественном языке
  • Экспорт в SVG через Kroki API — без установки, только curl
  • Локальный экспорт в PNG/SVG через excalidraw-brute-export-cli (на базе Firefox)
  • Автоматический запуск при необходимости визуализации сложных систем
  • Автоматическое применение семантических цветов, иерархии шрифтов и стилей стрелок
  • Автоматический расчёт ширины элементов по подписи с адаптацией для CJK-символов
  • Пошаговое построение больших диаграмм для предотвращения превышения лимита токенов
  • Генерация полностью интерактивных файлов с двусторонней привязкой стрелок

Возможности

Семантическая цветовая система

8 семантических категорий цветов — основной (синий), успех (зелёный), предупреждение (жёлтый), ошибка (красный), внешний (фиолетовый), процесс (голубой), триггер (оранжевый), нейтральный (серо-синий). Правило 60-30-10: 60% пустое пространство, 30% основной цвет, 10% акцентный.

Режимы диаграмм

РежимКомпоновкаПрименение
Блок-схемаГоризонтально или вертикально, отступ 200pxПроцессы, деревья решений
Архитектурная схемаКолонки с точными правилами отступовДизайн систем, микросервисы
Диаграмма последовательностей200px между участникамиAPI-потоки, протоколы
Ментальная картаРадиальная, уменьшение по уровнямМозговой штурм, концептуальные карты
Диаграмма с дорожкамиГоризонтальные дорожки + стрелки между нимиМежкомандные рабочие процессы

Точная система отступов

СценарийОтступ
Стрелки с подписями150–200px
Стрелки без подписей100–120px
Межколоночный (с подписями)400px
Межколоночный (без подписей)340px
Внутренний отступ области50–60px

Маршрутизация стрелок

3 режима: прямые линии (по умолчанию), L-образные ломаные (прямоугольные повороты через points), кривые изгибы (roundness: { type: 2 }).

Семантика стрелок

СтильЗначение
Сплошная линияОсновной поток
Пунктирная линияОтвет, асинхронность
Точечная линияОпциональная или слабая зависимость

Умный расчёт размеров элементов

Автоматический расчёт ширины по подписи: латинские символы — max(160, charCount * 9), CJK-символы — max(160, charCount * 18). Исключает обрезку текста в генерируемых диаграммах.

Иерархия шрифтов

Заголовок (28px) → Заголовок группы (24px) → Подпись (20px) → Описание (16px) → Примечание (14px)

Защита от антипаттернов

Встроенная документация типичных ошибок — центрирование текста с наложением в областях, запутанные стрелки между зонами, коллизии подписей коротких стрелок, правила прозрачности контейнеров — позволяет Claude избегать ошибок ещё до генерации.

Зависимости

ИнструментНазначение
curlОтправка .excalidraw в Kroki API для рендеринга в SVG
excalidraw-brute-export-cliCLI для локального экспорта .excalidraw → PNG/SVG
Playwright + FirefoxHeadless-браузер для локального CLI

curl предустановлен на macOS, Linux и Windows (Git Bash/WSL).

Установка skill

Claude Code (глобально):

bash
git clone https://github.com/Agents365-ai/excalidraw-skill.git ~/.claude/skills/excalidraw

Claude Code (только текущий проект):

bash
git clone https://github.com/Agents365-ai/excalidraw-skill.git .claude/skills/excalidraw

OpenClaw:

bash
git clone https://github.com/Agents365-ai/excalidraw-skill.git skills/excalidraw

SkillsMP: найдите excalidraw на skillsmp.com и установите в один клик.

Установка зависимостей

Вариант A: Kroki API (рекомендуется — без установки, только SVG)

bash
# curl предустановлен, достаточно проверить:
curl --version

Дополнительная настройка не требуется. SVG рендерится через https://kroki.io.

Вариант B: Локальный CLI (обязателен для PNG)

bash
npm install -g excalidraw-brute-export-cli
npx playwright install firefox

Особенности платформ

ПлатформаДополнительные шаги
macOSТребуется однократный патч (см. ниже)
WindowsНе требуется
LinuxНе требуется

Патч для macOS (однократно, обязателен для локального CLI)

CLI использует Control+O / Control+Shift+E, но macOS требует клавишу Meta (Cmd):

bash
CLI_MAIN=$(npm root -g)/excalidraw-brute-export-cli/src/main.js
sed -i '' 's/keyboard.press("Control+O")/keyboard.press("Meta+O")/' "$CLI_MAIN"
sed -i '' 's/keyboard.press("Control+Shift+E")/keyboard.press("Meta+Shift+E")/' "$CLI_MAIN"

Использование

Просто опишите нужную диаграмму:

Нарисуй архитектурную схему микросервисного интернет-магазина: клиенты Mobile/Web/Admin, API Gateway, микросервисы Auth/User/Order/Product/Payment, очередь сообщений Kafka, сервис Notification и отдельные базы данных для каждого сервиса

Claude автоматически создаст файл .excalidraw и экспортирует его в PNG.

Пример

Запрос:

Нарисуй архитектурную схему микросервисного интернет-магазина: клиенты Mobile/Web/Admin, API Gateway (с аутентификацией, ограничением запросов и маршрутизацией), микросервисы Auth/User/Order/Product/Payment, очередь Kafka, сервис Notification, User DB / Order DB / Product DB / Redis Cache / Stripe API

Результат:

Архитектурная схема микросервисов

Структура файлов

  • SKILL.md — файл инструкций skill, загружаемый Claude Code
  • README.md — этот файл (на китайском)
  • README_EN.md — описание на английском
  • assets/ — примеры диаграмм

Лицензия

MIT

Похожие скиллы