Router, не генератор. Он не рисует слайды сам — он ведёт многоэтапный сценарий и на каждом этапе подключает нужный скилл (загрузкой его SKILL.md). Это прямой перенос проверенного паттерна «тонкий entry -> quality -> reviewer» (majiayu000/claude-skill-registry) и полного цикла guizang-ppt-skill на наш каталог.
Внешние базы, на которых выстроен роутер: op7418/guizang-ppt-skill (полный цикл 0->7, заблокированные темы, Node-валидаторы); Mathews-Tom/armory skills/marp-slides (ленивая подгрузка references, роутинг); majiayu000/claude-skill-registry (marp-authoring + marp-slide-quality + marp-slide-reviewer); anthropics/skills skills/pptx (fidelity-экспорт, validate.py, Visual QA); wanshuiyin/…/slides-polish (постраничный ревьюер против reference-визуала, версионирование).
presentation-maker.frontend-perfection.Порядок и гейты — консенсус из anthropics/skills (pptx, frontend-design, theme-factory), guizang-ppt-skill, armory/marp-slides, majiayu000 trio, wanshuiyin/slides-polish.
Сними неопределённость ДО генерации (guizang «7 вопросов» / armory «один запрос + дефолты»):
web-scraper;docs-product + seo-contentdocs-product: из материалов вытащи VISION/позиционирование/ценности -> структуру
«зачем / что / доказательство» (дуга Hook -> Context -> Core -> Shift -> Takeaway).seo-content: читабельность (Flesch-KincoW), уберил воду, E-E-A-T.outline.md (формат presentation-maker) с assertion-заголовками
(полное предложение с глаголом + точка), одна идея/слайд, ≤6 буллетов.
Гейт: заголовки — выводы, не темы; нет повторов; консистентность цифр между слайдами.frontend-design-tastetheme presentation-maker
(через presentation-maker/templates/themes/*.json или frontmatter theme:).
Гейт: uniqueness пройден ДО сборки; палитра «содержательна», не дефолтна.presentation-makerdeck_md.py outline.md -o deck.json --goal <pitch|consulting|keynote|report|edu> --theme <имя из Этапа 2> --lang rubuild_html.py deck.json slides.html (16:9; токены из Этапа 2 инжектятся в :root).deck.json и пересобирай при необходимости (контракт единый).
Гейт: deck.json валиден; слайдов столько же, сколько в outline; layout-разнообразие
(≥6 разных типов на 8–12 слайдов, нет 3 одинаковых подряд).frontend-perfection + deck_auditfrontend-perfection -> meta_audit.py --html slides.html --css <css>: WCAG-контраст
(вычисляемый luminance ≥4.5:1), zero raw hex вне токенов, порядок заголовков,
a11y (alt, focus, landmark). При наличии Node — audit.js (Lighthouse ≥13) на локальном сервере.deck_audit.py deck.json --html slides.html: assertion-заголовки, words/slide budget,
единый mood, контраст.presentation-makerverify_slides.py slides.html --spec deck.json (обязательный Playwright-гейт:
переполнения, наложения, навигация) — должен быть PASS.build_pdf.py slides.html deck.pdf (PDF 1:1 с HTML, тот же рендер).build_pptx.py deck.json deck.pptx — полная дизайн-система (14 типов слайдов,
1600×900, токены из Этапа 2 в theme). Геометрия проверяется гейтами:
qa_pptx.py deck.pptx --render — geometric gate (bounds/overlap/tables) + JPEG-рендеры
для визуального просмотра; дизайн-элементы ghost*/decor*/chrome-* исключены.qa_intern.py deck.pptx --skip-token-rules — extern-линтер intern (alignment,
DOUBLE_SPACE, margins); фильтрует ложные срабатывания дизайн-системы по имени фигуры.qa_pptx.py --render
сверить ghost/decor-элементы, выходящие за холст (их геометрия не проверяется).
Гейт: verify_slides PASS; qa_pptx PASS; qa_intern 0 ошибок; PDF собран; pptx — финальный.Итоговая дека проходит, если:
:root/theme, ноль raw hex вне токенов.Относительно репо-рута, скрипты presentation-maker:
python3 skills/presentation-maker/scripts/deck_md.py outline.md -o deck.json --theme <name> --lang ru
python3 skills/presentation-maker/scripts/build_html.py deck.json slides.html
python3 skills/presentation-maker/scripts/verify_slides.py slides.html --spec deck.json
python3 skills/presentation-maker/scripts/build_pdf.py slides.html deck.pdf
python3 skills/presentation-maker/scripts/build_pptx.py deck.json deck.pptx
python3 skills/presentation-maker/scripts/deck_audit.py deck.json --html slides.html
# UI/UX аудит (frontend-perfection, офлайн, без Node):
python3 skills/frontend-perfection/scripts/meta_audit.py --html slides.html --css <css>
qa_pptx.py) и extern-линтер intern (qa_intern.py), PDF/PPTX из единого deck.json.presentation-maker.Ground recommendations in the supplied repository or brief. State assumptions, missing inputs, and unresolved risks. Return a concrete artifact or checklist with an owner/action for each open item, then verify that the result answers the requested goal rather than merely repeating the framework.