| name | excalidraw |
| description | Создание схем и диаграмм в Excalidraw для Obsidian. Use when user says 'сделай схему', 'нарисуй диаграмму', 'excalidraw', 'схема в obsidian', 'визуализация'. |
Excalidraw Skill — Создание схем для Obsidian
Триггеры: "сделай схему", "нарисуй диаграмму", "excalidraw", "схема в obsidian", "визуализация"
Важно! Формат Excalidraw в Obsidian
Obsidian Excalidraw плагин использует сжатый формат compressed-json (LZ-string).
Обычный JSON в code block НЕ РАБОТАЕТ — схема откроется как текст!
Как создавать схему
Шаг 1: Использовать генератор
Запустить скрипт scripts/gen_excalidraw_v2.js как шаблон или создать новый:
node scripts/gen_excalidraw_v2.js > "obsidian/Название.excalidraw.md"
Шаг 2: Структура файла
---
excalidraw-plugin: parsed
tags: [excalidraw, тема]
---
# Excalidraw Data
## Text Elements
Текст блока 1 ^id1
Текст блока 2 ^id2
%%
## Drawing
\`\`\`compressed-json
[сжатый JSON через lz-string]
\`\`\`
%%
Шаг 3: Привязка текста к блокам (КРИТИЧНО!)
Текст ОБЯЗАТЕЛЬНО должен быть привязан к контейнеру!
На прямоугольнике:
{
"type": "rectangle",
"id": "box1",
"boundElements": [{ "type": "text", "id": "box1-text" }]
}
На тексте:
{
"type": "text",
"id": "box1-text",
"containerId": "box1"
}
Без этой связи текст НЕ отображается внутри блоков!
Скрипт-генератор
Путь: scripts/gen_excalidraw_v2.js
Использует:
lz-string для сжатия (npm install lz-string)
- Helper функции для создания блоков с привязанным текстом
Основные функции:
createBox(id, x, y, width, height, strokeColor, bgColor, text, fontSize)
createText(id, x, y, text, fontSize, color)
createArrow(id, x, y, dx, dy, color)
Стиль схем для {{OWNER_NAME}}
Цвета фона
- Чёрный фон:
#000000
- Тёмно-серый блок:
#111827
- Очень тёмный:
#0f0f23
Цвета акцентов
- Зелёный (успех, поток):
#22c55e / bg #14532d
- Оранжевый (warning, Gateway):
#f97316 / bg #7c2d12
- Фиолетовый (API, premium):
#a855f7 / bg #581c87
- Синий (user, channels):
#3b82f6 / bg #1e3a8a
- Индиго (агент):
#4338ca / bg #312e81
- Серый (контейнеры):
#374151 / bg #111827
Шрифты
- Заголовок: 24-28px
- Секции: 20px
- Блоки: 13-14px
- Подписи стрелок: 12px
Язык
- Всё на русском
- Понятные описания
- Эмодзи для визуальных якорей (🦀 👤 ⚡ 🤖 📁 🔑)
Чеклист перед созданием
- ✅ Установлен lz-string:
npm install lz-string
- ✅ Используется gen_excalidraw_v2.js или аналог
- ✅ Текст привязан через containerId + boundElements
- ✅ Файл имеет расширение
.excalidraw.md
- ✅ Frontmatter:
excalidraw-plugin: parsed
- ✅ Секция
## Text Elements с ^id для каждого текста
- ✅ Секция
## Drawing с compressed-json
Открытие в Obsidian
open "obsidian://open?vault=obsidian&file=Название.excalidraw"
Если открывается как текст:
- Правый клик → "Open as Excalidraw drawing"
- Или кнопка переключения режима в углу
Примеры рабочих схем
obsidian/{{AGENT_NICKNAME}} - Полная архитектура.excalidraw.md — архитектура системы
obsidian/Агенты OpenClaw.excalidraw.md — агентская система
Создано: 2026-02-03