# Excalidraw

> Создание схем и диаграмм в Excalidraw для Obsidian. Use when user says 'сделай схему', 'нарисуй диаграмму', 'excalidraw', 'схема в obsidian', 'визуализация'.

- **Type:** Skill
- **Install:** `agentstack add skill-alekseiul-sprut-agent-kit-excalidraw`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [AlekseiUL](https://agentstack.voostack.com/s/alekseiul)
- **Installs:** 0
- **Category:** [Productivity](https://agentstack.voostack.com/c/productivity)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [AlekseiUL](https://github.com/AlekseiUL)
- **Source:** https://github.com/AlekseiUL/sprut-agent-kit/tree/main/skills/excalidraw
- **Website:** https://t.me/Sprut_AI

## Install

```sh
agentstack add skill-alekseiul-sprut-agent-kit-excalidraw
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

---
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` как шаблон или создать новый:

```bash
node scripts/gen_excalidraw_v2.js > "obsidian/Название.excalidraw.md"
```

### Шаг 2: Структура файла

```markdown
---
excalidraw-plugin: parsed
tags: [excalidraw, тема]
---

# Excalidraw Data

## Text Elements
Текст блока 1 ^id1

Текст блока 2 ^id2

%%
## Drawing
\`\`\`compressed-json
[сжатый JSON через lz-string]
\`\`\`
%%
```

### Шаг 3: Привязка текста к блокам (КРИТИЧНО!)

**Текст ОБЯЗАТЕЛЬНО должен быть привязан к контейнеру!**

На прямоугольнике:
```json
{
  "type": "rectangle",
  "id": "box1",
  "boundElements": [{ "type": "text", "id": "box1-text" }]
}
```

На тексте:
```json
{
  "type": "text",
  "id": "box1-text",
  "containerId": "box1"
}
```

**Без этой связи текст НЕ отображается внутри блоков!**

---

## Скрипт-генератор

Путь: `scripts/gen_excalidraw_v2.js`

Использует:
- `lz-string` для сжатия (npm install lz-string)
- Helper функции для создания блоков с привязанным текстом

### Основные функции:

```javascript
// Блок с текстом внутри
createBox(id, x, y, width, height, strokeColor, bgColor, text, fontSize)

// Отдельный текст (заголовки)
createText(id, x, y, text, fontSize, color)

// Стрелка
createArrow(id, x, y, dx, dy, color)
```

---

## Стиль схем для владельца

### Цвета фона
- Чёрный фон: `#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

### Язык
- Всё на русском
- Понятные описания
- Эмодзи для визуальных якорей ( 👤 ⚡ 🤖 📁 🔑)

---

## Чеклист перед созданием

1. ✅ Установлен lz-string: `npm install lz-string`
2. ✅ Используется gen_excalidraw_v2.js или аналог
3. ✅ Текст привязан через containerId + boundElements
4. ✅ Файл имеет расширение `.excalidraw.md`
5. ✅ Frontmatter: `excalidraw-plugin: parsed`
6. ✅ Секция `## Text Elements` с `^id` для каждого текста
7. ✅ Секция `## Drawing` с `compressed-json`

---

## Открытие в Obsidian

```bash
open "obsidian://open?vault=obsidian&file=Название.excalidraw"
```

Если открывается как текст:
- Правый клик → "Open as Excalidraw drawing"
- Или кнопка переключения режима в углу

---

## Примеры рабочих схем

- `obsidian/Agent - Architecture.excalidraw.md` — архитектура системы
- `obsidian/Агенты OpenClaw.excalidraw.md` — агентская система

---

*Создано: 2026-02-03*

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [AlekseiUL](https://github.com/AlekseiUL)
- **Source:** [AlekseiUL/sprut-agent-kit](https://github.com/AlekseiUL/sprut-agent-kit)
- **License:** MIT
- **Homepage:** https://t.me/Sprut_AI

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-alekseiul-sprut-agent-kit-excalidraw
- Seller: https://agentstack.voostack.com/s/alekseiul
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
