# Web Publish

> Фронтенд и публикация страниц: UI-стек (ui-ux-pro-max, MCP magic, framer-motion) и публикация демо-витрин в VibeEngineering-LLC/demo-web-pages через GitHub Pages. Триггеры: «сделай страницу/лендинг/дашборд», «свёрстай интерфейс», «опубликуй демо», «выложи витрину», «нужен React-компонент». Вынесено из CLAUDE.md §26/§29.

- Skill: `vibeengineering-llc/web-publish` (Agent Skill)
- Install (CLI): `npx skillmds@latest add vibeengineering-llc/web-publish`
- Raw SKILL.md: https://api.skillmd.com/api/skills/vibeengineering-llc/web-publish/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: VibeEngineering-LLC (https://skillmd.com/u/vibeengineering-llc)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/vibeengineering-llc/web-publish

---


# web-publish — фронтенд-стек и публикация демо-страниц

Два правила оператора. Раньше — §26 и §29 глобального `CLAUDE.md`, перенесены дословно: нужны только при фронтенд-работе и публикации, а не в каждой сессии.

## 1. UI/React-инструментарий — дефолты для генерации фронтенда (§26, НАВСЕГДА, 2026-06-30)

**ИМПЕРАТИВ:** любая фронтенд-работа (React/Next/Vue/Svelte) идёт по фиксированному стеку, не выбирать каждый раз заново (обоснованное отклонение допустимо — зафиксировать причину):

- **Design knowledge** (стили/палитры/шрифты/UX-гайды/типы графиков) → скилл `ui-ux-pro-max-skill` (vendored, 7 sub-skills).
- **Готовый React-код по описанию** (`/ui …`) → MCP `magic` (`@21st-dev/magic`). **2026-07-11 (#SYS-2): из user-scope удалён** (плодил экземпляр в каждой сессии, пик 28 шт/~2 ГБ) — подключать точечно `-s project` в UI-проектах; restore: `C:\Users\<you>\.claude\magic-mcp-restore.txt`.
- **Анимации** → `framer-motion` (npm MIT, `motion/react`; новые проекты `motion` после v11-ребренда).

Фазы: Design → Generate (`magic`) → Animate (`framer-motion`) → Polish (accessibility/bundle/SSR). Карв-ауты, таблица «где живёт», provenance: `C:\Users\<you>\.claude\references\ui-react-toolkit.md`.

## 2. Публикация демо-страниц — дефолтный метод (§29, НАВСЕГДА, 2026-07-10)

**Зафиксировано оператором 2026-07-10:** «запомни этот метод для демостраниц. используй по умолчанию».

**ИМПЕРАТИВ:** любую самодостаточную демо/витрину (дизайн-макет, отчёт-эксперимент, интерактив) публикую дефолтом в `github.com/VibeEngineering-LLC/demo-web-pages` (public, GitHub Pages) — папкой `<slug>/index.html`, живой URL `https://vibeengineering-llc.github.io/demo-web-pages/<slug>/`. Auth: `gh` как `Verter73`.

Artifact-файл (контент без `<!doctype>/<head>`) ПЕРЕД пушем обернуть в полный документ (разрез по первому `</style>`: title+style→`<head>`, остальное→`<body>`, каркас `lang="ru"`+charset+viewport).

**Гейты:**
1. Секрет-скан файла до пуша (реальные имена клиентов/брендов, ИНН, номера хостинг-аккаунтов, пароли к панелям управления → 0 совпадений; приватный проект-агент наружу не идёт, только чистые витрины).
2. `git add` конкретного пути, **НИКОГДА `-A`**.
3. Публикация в public — явная команда оператора на конкретную страницу.

Метод, код-обёртка, шаги: `C:\Users\<you>\.claude\references\demo-web-pages-publish.md`.

**Санитизация публичных страниц** (действует и здесь): не упоминать имена приватных контуров/агентов, реальные PII (ФИО, номера, адреса), локальные IP-диапазоны домашней/офисной сети, названия и детали любых опсек-чувствительных или финансовых внутренних проектов.

## Известное состояние площадки (на 2026-08-14)

Репозиторий `VibeEngineering-LLC/demo-web-pages` — public, ~21 МБ. Локальный клон в `Temp` был выеден очисткой временных файлов (`.git` без HEAD) — перед следующей публикацией клонировать заново, не рассчитывать на старый чекаут.

