Skip to content
Back to skills

Naglyadno

ASecurity

Наглядно: показать и научить рисунком, а не только текстом. Одна мысль — картинка-скетч; 2–8 схем, графиков, графов, ментальных карт — HTML-галерея; большая система — интерактивный холст в духе Excalidraw с иконками, стрелками и подробностями по клику. Применять для сложных отчётов, уроков, устройства команды и продуктов. Триггеры — «покажи схемой», «нарисуй», «наглядно», «визуализируй отчёт», «ментальная карта», «граф», «холст», «карта системы», «дай галерею».

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentspythonbashnodeapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned October 6, 2026

npx -y skills add shakhruz/mila-companion --skill naglyadno --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Naglyadno?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Naglyadno
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shakhruz-naglyadno/badge)](https://www.skillsdirectory.com/skills/shakhruz-naglyadno)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: naglyadno
description: "Наглядно: показать и научить рисунком, а не только текстом. Одна мысль — картинка-скетч; 2–8 схем, графиков, графов, ментальных карт — HTML-галерея; большая система — интерактивный холст в духе Excalidraw с иконками, стрелками и подробностями по клику. Применять для сложных отчётов, уроков, устройства команды и продуктов. Триггеры — «покажи схемой», «нарисуй», «наглядно», «визуализируй отчёт», «ментальная карта», «граф», «холст», «карта системы», «дай галерею»."
---

# Наглядно — выбрать форму, нарисовать, проверить глазами

Слово владельца 06.10.2026: «научись не только писать текст, но и иллюстрировать то, что хочешь показать и чему научить».

## Что выбрать

| Что показываем | Форма | Как |
|---|---|---|
| Одна мысль, один процесс, одно сравнение | **Картинка** (скетч-инфографика) | навык `infographic`, путь 1 — не дублируем |
| 2–8 схем, графиков, графов, ментальных карт, таблиц-выводов | **HTML-галерея** | `scripts/gallery.py spec.json out.html` |
| Большая система: люди, роли, связи, десятки узлов | **Холст** | `scripts/canvas.py spec.json out.html` |

Сомнение: если на одну картинку не влезает ≤ 8 блоков текста — это галерея; если нужны связи и «клик за подробностями» — холст.

## Правила (для всех форм)

1. **Факты только из источника.** Каждая цифра и имя — из файла, ответа инструмента или слова владельца. Нет данных — не рисуем. Источник пишем в подвал (`footer`).
2. **Подписи по-русски через `humanizer-ru`:** коротко, без канцелярита, без англицизмов. Вывод под карточкой — одна строка с цифрой.
3. **Приёмка глазами.** Готовое открыть и посмотреть (Read по PNG): ничего не обрезано, подписи читаются, цифры совпали с источником. Где есть Chrome — `scripts/shot.sh in.html out.png [W] [H] [dark]` (headless Chrome, путь — `CHROME` или поиск); в контейнере Chrome нет — `--queue` (см. ниже), потом Read по PNG.
4. **Без кухни и данных клиентов наружу.** В схеме, уходящей клиенту или в публичный канал: ни цен и тарифов, ни переписки, ни имён людей-клиентов (только названия компаний), ни токенов. Закрытый клиент (`clients/privacy.json`) — только в схеме для него самого.
5. **Один файл — один владелец.** Спеки и результат — в папке дела, не поверх чужих файлов.

## Картинка (одна мысль)

Идти по `infographic` → «Путь 1»: выжимка → humanizer-ru → промпт из `infographic/prompts/style-sketch.md` → `genimage.py --model gemini-3-pro --size 4:5 --quality 1K` → Read. Формат: 4:5 лента, 9:16 сторис, 16:9 слайд. ≈ $0,14 за кадр, не больше 3 попыток на мысль. Ключ — как в навыке, не печатать; клиенту — на ключе клиента. Нет ключа — галерея (текст-карточка с крупной цифрой) вместо картинки.
Отправка: `reply` с `files: ["/абс/путь.png"]` и одной строкой смысла.

## Галерея

```bash
python3 ~/.claude/skills/naglyadno/scripts/gallery.py spec.json out.html [--queue W H]
```
Один самодостаточный HTML (картинки зашиты внутрь), светлая и тёмная тема (кнопка «Тема»), открывается из `file://`. Библиотеки: mermaid и Chart.js с jsdelivr/cdnjs, нужен интернет у смотрящего.

```json
{"title":"…","subtitle":"…","footer":"источник…","cols":2,"cards":[
 {"type":"mermaid","title":"…","code":"flowchart LR\n A-->B","takeaway":"вывод в одну строку","wide":true},
 {"type":"chart","title":"…","chart":{"type":"bar|line|pie|doughnut","labels":["a","b"],"datasets":[{"label":"…","data":[1,2]}]},"takeaway":"…"},
 {"type":"image","title":"…","src":"pic.png","takeaway":"…"},
 {"type":"text","title":"…","big":"405 → 200","body":"что было","takeaway":"что стало"}]}
```
mermaid понимает: `flowchart`, `mindmap`, `sequenceDiagram`, `gantt`, `timeline`, `graph`, `stateDiagram-v2`, `erDiagram`. Переводы строки внутри узла — `<br/>`. Ошибка в синтаксисе покажется в карточке красным текстом — исправить и пересобрать.

## Холст

```bash
python3 ~/.claude/skills/naglyadno/scripts/canvas.py spec.json out.html [--queue W H]
```
Рисованный стиль (SVG + rough.js), колесо — зум, перетаскивание — панорама, на телефоне два пальца, «⤢ Всё» — вписать. Клик по узлу — панель: роль, владелец, статус, связи. Рядом кладётся `out.excalidraw`: открыть на excalidraw.com (Open) и править руками; кнопка «⬇ .excalidraw» в самой странице отдаёт тот же файл.

```json
{"title":"…","subtitle":"…","footer":"источник","legend":[{"kind":"ведёт","color":"#0f766e","dash":"dash","label":"ведёт"}],
 "groups":[{"id":"g1","title":"Наши","color":"#0f766e","x":0,"y":0,"w":460,"h":250}],
 "nodes":[{"id":"a","icon":"🌟","title":"Отдел продаж","sub":"3 человека","x":10,"y":60,"w":200,"h":76,"color":"#c2410c","big":false,
           "details":{"Роль":"…","Владелец":"…","Статус":"🟢 жива"},"note":"абзац внизу панели"}],
 "edges":[{"from":"a","to":"b","kind":"ведёт","label":"подпись"}]}
```
`dash`: `null` сплошная, `"dash"` пунктир, `"dot"` точки. Координаты — пиксели холста; узел 200×76, шаг 220×92, группе +56 сверху под заголовок. Если узлов больше 40 — делить на два холста по смыслу. Спеку для большого холста собирать скриптом из источника (маленький скрипт, который читает таблицу или файл и пишет spec.json), а не руками.

## Холст-ссылка (если задан MILA_CANVAS_URL)

Если у дома есть свой сервер холстов (Excalidraw с API `POST /api/scene`, `PUT /api/scene/<id>`), холст отдаётся
**ссылкой**: владелец открывает на телефоне и компьютере, смотрит, двигает, правит, правки сохраняются на сервере.

```bash
python3 ~/.claude/skills/naglyadno/scripts/canvas_publish.py spec.json [--title "Название"]   # или file.excalidraw
python3 …/canvas_publish.py spec.json --update <id>      # переопубликовать в ту же ссылку (затрёт правки владельца — спросить)
```
Печатает `$MILA_CANVAS_URL/#<id>` — эту ссылку и отправлять (`reply`, одна строка смысла). Ссылка = доступ: не для
закрытых клиентов и кухни, правило 4 выше. `CANVAS_API` — необязательный внутренний адрес того же API (из контейнера).
`MILA_CANVAS_URL` не задан (по умолчанию) — скрипт кладёт рядом `.excalidraw` и печатает путь: отправить файлом
вместе с HTML-холстом («откройте на excalidraw.com → Open»).

## Отправка в Telegram

- **Картинка** — `reply` с `files`, одна строка выжимки.
- **Галерея и холст** — html-файлом (`files`) + 1–2 строки: что внутри и главный вывод. Файл открывается в браузере; в Telegram встроенный просмотр HTML слабый — так и сказать: «откройте в браузере».
- **PNG галереи/холста** (если нужно превью в ленте): где есть Chrome — `shot.sh`, в контейнере `--queue` → `~/work/<папка>/<имя>.png` после `.done`.

## Контейнер (Милы без Chrome)

HTML собирается без Chrome (только stdlib Python). Для PNG: `python3 …/gallery.py spec.json ~/work/папка/out.html --queue 1280 1800` — заявка уходит в `~/work/render-queue/`, хост рисует PNG раз в минуту и пишет `.done` (ok или ошибка). HTML обязан лежать внутри `~/work`.

Files in this skill

  • SKILL.md9.8 KB
  • scripts/canvas.py16.8 KB
  • scripts/canvas_publish.py2.9 KB
  • scripts/gallery.py7.4 KB
  • scripts/shot.sh906 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.