dash · v1.0.0 · 2026-10-03 · sha256 76450757c6ffbfe1

dash v1.0.0A

Immutable. This exact content never changes and is served at /api/v1/blob/76450757c6ffbfe1.

---
name: dash
description: "ДАШБОРД ОТ ИДЕИ ДО ССЫЛКИ В ОДИН ЗАХОД: собрать визуализацию, положить в единый каталог, перелинковать с остальными, выложить на наш GitHub Pages, СРАЗУ дать живую ссылку и открыть панель в правой части… Триггеры: /dash, /дашборд, «сделай дашборд», «покажи визуально», «нарисуй табличку», «выложи дашборд», «дай ссылку на дашборд», «опубликуй панель», «build a dashboard», «publish the dashboard»"
version: 1.0.0
---

# /dash — дашборд от идеи до живой ссылки

> 🧒 В отчёте Антону не забудь блок «Простыми словами».

**Три правила Антона (06.08.2026), которые этот скилл исполняет:**

1. **Всегда стараться делать визуализацию в любой сессии.** Не «предложить», а сделать.
2. **Каждая новая визуализация перелинковывается с существующими и выкладывается на GitHub.**
3. **Ссылку даёшь СРАЗУ ЖЕ, как сделал, и открываешь панель в правой части экрана.**

Фундамент: витрина https://tonydzi.github.io/dashboards/ — ссылка оттуда
открывается у любого пира без синка, VPN и логина. Канон: память `dashboards-live-on-hub`,
Библия `reglament-dashbordy-na-github-pages`, `CLAUDE.md` §2.4.

---

## Шаг 1 — Решить, что дашборд нужен (по умолчанию нужен)

Триггер: результат сессии несёт **больше одного факта**, по которому принимают решение —
данные, статус, счётчики, аудит, список, сравнение, «покажи X», итог раскатки, разбор.

Не строю: однострочный ответ · «готово» · один-два факта · спор без данных · Антон сказал
«тут дашборд не нужен» на этом типе задач. **Решил не строить — пишу это строкой с причиной,
а не молчу.** Стена текста вместо панели = нарушение правила, а не стиль.

## Шаг 2 — Собрать

Самодостаточный HTML в **`$OBSIDIAN_VAULT\_Dashboards`** (единый каталог, второй копии нигде).
Палитра как у соседей: `--canvas:#010409 --panel:#161b22 --border:#30363d --ink:#e6edf3
--dim:#8b949e --link:#2f81f7 --green:#3fb950 --[человек]:#d29922 --red:#f85149`.

АК-47: один файл, без внешних библиотек и CDN, чтобы открывался всегда и чинился руками.
Широкое (таблицы, диаграммы) прячем в `overflow-x:auto`, страница по горизонтали не едет.

⚠️ **Цифры в панели обязаны быть настоящими.** Нет данных — пишем «не измерено», а не
правдоподобное число. Панель существует ради решений.

## Шаг 3 — Перелинковать и выложить

```
python ~/.claude/scripts/dashboards_build_public.py --build
```

Сборщик сам: отсеет CRM и секреты, замаскирует имена (половина символов, цифры не трогает),
**сверит все числа до и после** (разошлись = файл не поедет), врежет в каждую панель полосу
навигации «все дашборды + категория + соседи» и пересоберёт индекс по категориям.

Затем публикация из `~/.claude/_dashboards_publish/dashboards`:

```
git add -A && git commit -m "новый дашборд: <имя>" && git push origin main
```

Сборка Pages занимает несколько минут. Если статус висит `building` дольше десяти минут или
упал в `errored`, дёрни пересборку через API `POST /repos/.../pages/builds` — легаси-сборщик
у нас уже падал один раз с безликим «Page build failed» и чинился ровно этим.

## Шаг 4 — Отдать человеку. НЕМЕДЛЕННО, тем же сообщением

**Три вещи в одном ответе, ни одну не откладываем:**

1. **Живая ссылка** `https://tonydzi.github.io/dashboards/<Имя-Файла>.html`
   — прямо в тексте, а не «лежит в папке». Ссылка на локальный путь у коллеги битая.
2. **Открыть в правой части экрана:**
   - в этом приложении — `mcp__Claude_Browser__preview_start` с URL панели (браузерная
     панель открывается справа), либо `SendUserFile` с `display:"render"`;
   - [коллега] на её машине дополнительно `Start-Process "<путь к файлу>"` — она просила
     открывать в браузере, а не только присылать файлом.
3. **Абсолютный путь текстом** — Антону ссылки-файлы не кликаются, путь нужен строкой.

⛔ «Дашборд готов, посмотри в папке» = правило нарушено. Готово = ссылка есть и панель уже
открыта у человека на экране.

## Шаг 5 — Записать след

- Счётчик: `python ~/.claude/scripts/dashboard_log.py built --type "<тип задачи>" --file "<путь>"`.
- Если панель обновляется регулярно, у неё должен быть генератор, и генератор пишет
  **один** файл в `_Dashboards`, а не копии.

---

## Грабли, уже оплаченные (06.08.2026)

- **Маска съедала цифры** внутри хендлов и почт → гейт чисел краснел на 8 файлах. Цифры не
  трогаются никогда, даже внутри маскируемого слова.
- **Детектор секретов ловил слово «task-»** и снимал с публикации 23 здоровые панели.
  Ложный сторож хуже отсутствующего: его перестают читать.
- **CRM-фильтр сравнивал подстроки** и прятал наши же панели про recall, потому что внутри
  «Recall» сидит «call». Сравнивай слова.
- **`_Dashboards` в волте на машине [коллега] синкается ТОЛЬКО в одну сторону** (шара
  `anton-knowledge` = receiveonly): панель, рождённая у неё, по синку наружу не уедет
  вообще. Именно поэтому доставка идёт через GitHub, а не через общую папку.
  «Положил в правильное место» ≠ «доставлено».

## Границы

- CRM наружу не публикуем. Панель про людей, лиды и контакты остаётся в волте; сборщик
  определяет это сам, обойти можно только явным `--include-crm`.
- Секреты не публикуем никогда, детектор жёсткий.
- Правило про то, ЧТО строить по умолчанию — `prefer-visual-dashboards` (§2.4). Этот скилл
  про полный путь от сборки до экрана человека.


<!--kit-footer-->

---

**Like this skill?** It is one of 100 in [second-brain-starter-kit](https://github.com/tonydzi/second-brain-starter-kit): the second brain we built for ourselves and run every day at Palo Alto AI Research Lab. Install the whole set with `npx skills add tonydzi/second-brain-starter-kit`. Everything is open source and free, so take what you need.

Flagships worth a look on their own: [secondop-panel](https://github.com/tonydzi/secondop-panel) (a second opinion from a panel of external models), [claude-memory-tidy](https://github.com/tonydzi/claude-memory-tidy) (stop your agent's memory from rotting), [telegram-mcp-kit](https://github.com/tonydzi/telegram-mcp-kit) (your own Telegram over MCP in about 15 minutes).

Author: **Anton Dziatkovskii**, Palo Alto AI Research Lab. Telegram [@tonydzi](https://t.me/tonydzi) - WhatsApp [+1 341 222 9178](https://wa.me/13412229178) - X [@Tony_Stef_](https://x.com/Tony_Stef_)

**Engineers: want to test-drive this setup?** Message me. I hand out free starter seeds to engineers who test and report back, and custom skill requests are welcome.