CB html-to-video-pipeline
Надежный рендеринг HTML в MP4 через запись в браузере без интерфейса (Playwright/Puppeteer) + ffmpeg — порядок действий, подводные камни и шаги проверки, которые ВЫ ДОЛЖНЫ выполнить правильно, иначе результат будет молчаливо испорчен. Активируйте всякий раз, когда пользователь создает или отлаживает любой конвейер, который преобразует страницу HTML/CSS/JS (один файл, составную, управляемую GSAP или управляемую `@keyframes`) в видеофайл, включая запись без интерфейса, захват экрана веб-страницы, детерминированный покадровый захват, объединение нескольких сцен или вывод видео, смешанного движком. Также активируйте, когда симптом звучит так: мигание смены шрифтов в начальных кадрах (FOUT), первые несколько секунд видео застыли/мертвы, анимация воспроизводится во время загрузки страницы и обрезается, объединенные сегменты создают видео, продолжительность которого сильно отличается от нужной (например, 8 секунд становятся 35 секундами), HTML, загруженный по `file://`, не может получить свои под-сцены, экспортированное видео мягче/размытее по сравнению с браузером, или воспроизведение прерывается/выглядит прерывистым, несмотря на передачу высокого значения `-r` fps в ffmpeg. Используйте даже для одноразовых скриптов — здесь режимы сбоев достаточно тонкие, чтобы при их повторном введении с нуля они обычно снова возникали.
машинный переводПоказать оригиналСкрыть оригинал«Reliable HTML-to-MP4 rendering via headless browser recording (Playwri…»
Reliable HTML-to-MP4 rendering via headless browser recording (Playwright/Puppeteer) + ffmpeg — the ordering, gotchas, and verification steps you MUST get right or the output silently rots. Trigger whenever the user is building or debugging any pipeline that turns an HTML/CSS/JS page (single-file, multi-composition, GSAP-driven, or `@keyframes`-driven) into a video file, including headless recording, screen capture of a web page, deterministic frame-by-frame capture, multi-scene concatenation, or engine-mixed video output. Also trigger when the symptom sounds like: font swap flashing in the opening frames (FOUT), the first few seconds of the video are frozen/dead, animations play during page load and get truncated, concatenated segments produce a video whose duration is wildly wrong (e.g., 8s becomes 35s), `file://` loaded HTML fails to fetch its sub-scenes, the exported video is soft/blurry compared to the browser, or playback stutters/looks choppy despite passing a high `-r` fps to ffmpeg. Use even for one-off scripts — the failure modes here are subtle enough that starting from scratch usually reintroduces them.
Надежный рендеринг HTML в MP4 через запись в браузере без интерфейса (Playwright/Puppeteer) + ffmpeg — порядок действий, подводные камни и шаги проверки…
Как процесс B 65/100 · Почти готов — слабые места: результат и критерий готовности, повторный запуск, отчётность по ходу
Как улучшить
- Сократите description до 1024 символов.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 7. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- ошибка
description-longdescription 1132 символов, лимит 1024 - предупреждение
frontmatter-yamlSKILL.md: фронтматтер не разбирается как YAML (YAML parse error: Nested mappings are not allowed in compact mappings at line 2, column 14: description: Reliable HTML-to-MP4 rendering via headless browser recording (Pla… ^ ); поля прочитаны построчно. Обычная причина — двоеточие в незакавыченном значении
Процессный рейтинг: все десять параметров 65/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 30Повторный запуск. Изменяющих операций: 4, без проверки текущего состояния
- 60Инструменты и файлы. Используются инструменты (bash, web, node), но во frontmatter они не объявлены
- 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 70Стоимость исполнения. Тело инструкции 4075 токенов
- 100Шаги. Шагов: 32
- 100Ошибки и развилки. Развилок: 3, есть раздел про ошибки
- 100Согласованность. Имя и обязательные поля на месте
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Ответ описан самодельной разметкой (4 тегов): типизированный вызов надёжнее
- medium Тестов 4, и все положительные: нет ни одного случая «должен отказать» или «должен переспросить»
- low Среди тестов нет случая на инъекцию через данные
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 1132: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- +2Инструкции на одном языке
- +4Структура: 16 заголовков
- +3Пошаговые инструкции: 32 пунктов
- +4Есть примеры (9 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (5 из 5)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 51.