Генерация Excalidraw-схем (.excalidraw v2) из простого JSON. Поддерживает pipeline, mindmap, flowchart и экспорт файла для excalidraw.com.
Используй этот скилл, когда пользователь просит:
.excalidraw JSON (Excalidraw v2)pipeline -- вертикальный flow по этапамmindmap -- радиальная карта от центраflowchart -- произвольный граф по узлам/связям./scripts/excalidraw_gen.py
Скрипт принимает JSON через:
stdin--input schema.jsonstdout (по умолчанию)--output result.excalidrawfontFamily: 1 (Hand-drawn)fontSize: 18 (блоки), 20 (заголовки этапов), 28 (главный заголовок)roughness: 0strokeWidth: 2roundness: { type: 3 } для прямоугольников#ffffff#495057research -- bg #e3f2fd, stroke #1565c0analysis -- bg #ede7f6, stroke #6a1b9areview -- bg #fff3e0, stroke #e65100final / factcheck -- bg #e8f5e9, stroke #2e7d32input -- bg #ffebee, stroke #d32f2fdefault{
"title": "Pipeline название",
"type": "pipeline",
"stages": [
{
"label": "1. ЗАПРОС",
"color": "input",
"blocks": [{"text": "Новость\nПост\nВопрос"}]
},
{
"label": "2. РЕСЁРЧ",
"subtitle": "параллельно",
"color": "research",
"blocks": [
{"text": "Grok\nВеб-поиск"},
{"text": "Kimi\nДоп. источники"},
{"text": "Opus\nГлубокий анализ", "color": "analysis"}
]
}
]
}
Через stdin:
echo '{"title":"Test","type":"pipeline","stages":[{"label":"1. ЗАПРОС","color":"input","blocks":[{"text":"Новость"}]}]}' | python3 scripts/excalidraw_gen.py > output.excalidraw
Через файлы:
python3 scripts/excalidraw_gen.py --input schema.json --output result.excalidraw
pipeline: авто-раскладка сверху вниз, стрелки между этапами и к блокам этапаmindmap: центр = title, ветви = nodes[]flowchart: используй nodes[] с координатами (x,y) и edges[] (from,to)default