Communitygithub.com

sstani-bgv/montage-skills

Разметить motion-план для ролика (по умолчанию в стиле v4 «презентация с картинками»: kinetic-интро, спикер + достраивающаяся панель, картинки-метафоры, звук) — посмотреть транскрипт, скрипт или само видео и решить, в каких местах и какими приёмами визуально показать то, что автор проговаривает голосом. На выходе MOTION.md с таймкодами, выбранными приёмами и покадровыми спеками на каждую сцену. Используй этот скилл всегда, когда нужно понять, где в ролике нужны анимации, какие именно и почему, когда пользователь даёт транскрипт или ссылку на своё видео и спрашивает, что тут анимировать, а также когда надо переразметить уже существующий план. Сборкой занимается /motion-build, оркестрацией — /motion-run.

What is montage-skills?

montage-skills is a Claude Code agent skill that разметить motion-план для ролика (по умолчанию в стиле v4 «презентация с картинками»: kinetic-интро, спикер + достраивающаяся панель, картинки-метафоры, звук) — посмотреть транскрипт, скрипт или само видео и решить, в каких местах и какими приёмами визуально показать то, что автор проговаривает голосом. На выходе MOTION.md с таймкодами, выбранными приёмами и покадровыми спеками на каждую сцену. Используй этот скилл всегда, когда нужно понять, где в ролике нужны анимации, какие именно и почему, когда пользователь даёт транскрипт или ссылку на своё видео и спрашивает, что тут анимировать, а также когда надо переразметить уже существующий план. Сборкой занимается /motion-build, оркестрацией — /motion-run.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sstani-bgv/montage-skills/tree/HEAD/motion-plan

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation


name: motion-plan description: Разметить motion-план для ролика (по умолчанию в стиле v4 «презентация с картинками»: kinetic-интро, спикер + достраивающаяся панель, картинки-метафоры, звук) — посмотреть транскрипт, скрипт или само видео и решить, в каких местах и какими приёмами визуально показать то, что автор проговаривает голосом. На выходе MOTION.md с таймкодами, выбранными приёмами и покадровыми спеками на каждую сцену. Используй этот скилл всегда, когда нужно понять, где в ролике нужны анимации, какие именно и почему, когда пользователь даёт транскрипт или ссылку на своё видео и спрашивает, что тут анимировать, а также когда надо переразметить уже существующий план. Сборкой занимается /motion-build, оркестрацией — /motion-run.

Motion-план: где и что показывать

Ты решаешь не «какую красивую анимацию сделать», а что именно из сказанного нужно показать глазами. Это разные задачи. Анимация в этом стиле работает не как украшение, а как второй канал: голос объясняет, картинка одновременно показывает структуру мысли.

Отсюда главный критерий выбора: у мысли есть форма — контраст, последовательность, вложенность, масштаб, развилка. Приём выбирается под форму, а не под настроение.

Стиль по умолчанию — v4

Размечай под стиль v4 (../motion-build/references/style-v4.md, одобрен автором как эталон):

  • у каждой сцены раскладка: kinetic (интро + 2–3 панчлайна), split-cam (основной язык, ≈40 %), full (крупное понятие, ≈20 %), split-screen (автор показывает/рисует, ≈25 %), lower (термин по ходу демо);
  • у каждой сцены, кроме kinetic и чистых схем, — промпт картинки-героя на английском: только объект-метафора одной фразой с одной cobalt-blue деталью (стиль-хвост общий, в gen_images.sh);
  • у каждой сцены — SFX-кьюшки (whoosh / pop / click / click-soft / ping / key-press / typing / stamp / neg);
  • плотность стрима: ~1 вставка в 60 с, 8–19 с каждая, не чаще раза в 40 с; где автор живьём демонстрирует или рисует — split-screen/lower или без вставки (и запиши, почему);
  • тайминги снимай пословно (Groq whisper с timestamp_granularities[]=word), а не по сегментам. Если автор записал отдельное интро — план интро по образцу recipes/v4/intro-kinetic-steps-split.html.

Что читать

  • references/catalog.md — каталог приёмов: какую форму мысли показывает каждый и когда он уместен. Основной справочник, читай целиком перед разметкой.
  • references/rhythm.md — ритм и раскладка: плотность склеек по участкам, сколько вставок на ролик, сколько держать сцену, четыре повторяющиеся раскладки кадра. Читай до того, как расставлять таймкоды.

Порядок

1. Получи текст с таймкодами

Есть транскрипт — работай с ним. Нужны таймкоды; если их нет, попроси или сними их с видео.

Есть ссылка или файл видео — загрузи скилл watch. Он скачает, снимет транскрипт и нарежет кадры. Кадры пригодятся: по ним видно, где уже есть скринкаст, а где голая говорящая голова, которую и надо оживлять.

Есть только сценарий без записи — размечай по нему, таймкоды считай приблизительно из расчёта ~150 слов в минуту, и честно скажи, что они поплывут после записи.

2. Найди биты, у которых есть форма

Иди по тексту и отмечай места, где автор произносит утверждение со структурой. Признаки:

  • противопоставление — «было / стало», «не X, а Y», «раньше / теперь»;
  • перечисление — «три вещи», «во-первых… во-вторых…»;
  • последовательность — «сначала, потом, в итоге»;
  • вложенность или уровни — «слой», «внутри», «поверх»;
  • число или сравнение величин — «в десять раз», «за минуту вместо четырёх часов»;
  • развилка — «либо, либо», «если — то»;
  • цитата или чужая мысль;
  • определение — «X — это то, что…».

Места без формы («сейчас расскажу», «об этом чуть позже», переходы между темами) не размечай.

3. Держи плотность

В референсном стиле визуальная вставка приходит примерно раз в 10 секунд, и почти ни один графический план не стоит статично. Но это не значит «анимируй всё подряд»: половина хронометража там — говорящая голова с оверлеем, а не полнокадровая графика.

Ориентир для десятиминутного ролика: 8–14 полнокадровых вставок плюс оверлеи (титры, плашки глав, выноски) там, где говорящая голова идёт долго.

Если бит важный, но соседний уже занят — оставь его без графики. Две сильные вставки подряд гасят друг друга; между ними нужен воздух.

4. Подбери приём под форму

Открой references/catalog.md и подбери приём по форме мысли, а не по красоте. В каталоге у каждого приёма написано, что он показывает и когда уместен.

Три правила, которые важнее вкуса:

Один приём — одна мысль. Если в бите две мысли, это два бита или одна из них уходит в текст.

Не повторяй приём подряд. Два rack-focus через сцену читаются как шаблон. Держи в голове последний использованный и следующий выбирай другой.

Сложность приёма пропорциональна важности мысли. Самый дорогой приём — на самый важный тезис ролика. Если камерный проезд с шестью слоями обслуживает проходную фразу, зритель считает это шумом.

5. Напиши MOTION.md

# Motion-план — <название ролика>

Хронометраж: 12:40 · вставок: 11 · оверлеев: 6

## Сцены

### 01 · 00:14–00:19 · Хук одним проездом
**Говорит:** «Почти все используют ИИ неправильно, и дело не в промптах.»
**Форма мысли:** заявка-противопоставление, обещание раскрыть.
**Приём:** камерный проезд с тремя микро-приёмами (раздвижка марки, распад титра, marker wipe).
**В кадре:** тезис 70px Unbounded, маркер под «неправильно», марка сверху, две монолинейные иконки.
**Почему:** это самая важная фраза ролика, ей достаётся самый дорогой приём.
**Длительность:** 5,0 с

### 02 · 00:47–00:51 · Было / стало
...

Обязательные поля: таймкод, что говорится, форма мысли, приём, что в кадре, почему этот приём, длительность. Поле «почему» не формальность — если его нечем заполнить, приём выбран наугад.

6. Разверни каждую сцену в спеку

Сабагент, который будет собирать, не видел ни ролика, ни плана. Спека должна быть самодостаточной.

Спека на сцену

Формат, по которому работает /motion-build:

# Сцена 02 — «Было / стало» (приём: вертикальный push с velocity-match)

Референс приёма: catalog → vertical-push. **Копируем механику, палитру берём из дизайн-системы.**

## Что происходит
Одним абзацем: суть движения и почему оно так устроено.

## Покадрово
| t | Состояние |
|---|---|
| 0.0–1.4 | Сцена A на месте, push-in 1.00→1.03 ease none. |
| 1.4–1.95 | Рельс едет yPercent 0 → −50, power3.inOut, blur одним фильтром 0→14→0 с пиком на 1.675. |
| 1.95–3.6 | Сцена B держится, заголовок и чипы собираются пословесно. |

## Тайминги и easing
Точные цифры и кривые. Что критично, а что можно двигать.

## Z-порядок
[0] фон → [1] … → [N] …

## Контент
Точные тексты, которые должны стоять в кадре. Не «заголовок», а сам заголовок.

## Длительность композиции: 3,6 с

Тексты в кадре пиши сам и бери из речи автора — сокращённые до пяти-семи слов. Сабагент не должен их придумывать: он не знает, о чём ролик.

Проверяй арифметику каждого текстового бита. Длительность набора = число слов × каденцию (0.10–0.13 с/слово для подписей и чипов, 0.20–0.25 для того, что читают вместе с диктором). Если окно в покадровке короче — спека внутренне противоречива, и сборщик всё равно её нарушит, просто потратив на это итерацию. Это ловилось трижды за один ролик: цитата в 14 слов не влезала в окно 1.85 с ни при какой каденции.

Закладывай на вход 1,2 секунды, а не 0,6. Двухступенчатый вход — закон стиля: быстрый влёт expo.out ~.44 с, потом медленная досадка power1.out ~.76 с. Планировщик, глядя на кадры, видит, что блок «уже приехал» к 0.6, и пишет в покадровку окно 0.5–1.1. Сборщик обязан выбрать между буквой окна и кривой — и по правилам скилла выбирает кривую, то есть спека нарушается штатно и каждый раз. На одном ролике так разошлись три сцены из девяти.

Пиши окно по полной длительности обеих фаз. Если по смыслу следующая фаза должна начаться раньше — так и пиши: «досадка продолжается под рисование линии», это штатное перекрытие фаз, а не конфликт.

Так же проверяй перекрытия: если написано «хендофф с перекрытием 0.25 с», сложи собственные цифры фаз и убедись, что получается 0.25, а не 0.05.

Сквозной якорь исходника

Посмотри кадры исходника до разметки: есть ли в нём постоянный элемент — камера-PiP в углу, плашка канала, рамка. Если есть, полнокадровая вставка его убирает, и на каждой вставке этот элемент пропадает.

Это решается на сборке (наложением якоря поверх вставок), но знать надо на разметке: отметь в шапке MOTION.md координаты якоря и напиши, что вставки его не перекрывают. Иначе сцены соберут композицию прямо под ним, и якорь закроет содержимое.

Где в исходнике реально проходят склейки

Разметка по транскрипту даёт таймкод фразы, но не говорит, что в этот момент в кадре. Проверять это выборочными кадрами каждые 20–30 секунд недостаточно: на этом ролике кадры 0:50 и 1:10 дали «лицо» и «скринкаст», из чего следовало, что говорящая голова идёт до ~0:55. Фактически скринкаст начинался на 0:52.2 — ровно там, куда был размечен оверлей на лицо, и сцену пришлось пересобирать.

Для каждой размеченной точки сними кадр на самом таймкоде и на его конце, а не полагайся на соседние выборки. Это два кадра на сцену и десять секунд работы, и они снимают весь класс ошибок «панель легла не на то».

Отдельно это важно для оверлеев: полнокадровая вставка перекрывает исходник целиком, и ей безразлично, что под ней, а оверлей рассчитан на конкретную подложку. Оверлей, размеченный на лицо и попавший на скринкаст, закрывает содержание экрана и выглядит ошибкой монтажа.

Проверь и то, что оверлей не закрывает собственную графику автора. На скринкасте кадр уже занят: подписи на доске, панели интерфейса, его же PiP. Нижняя треть — не универсальное место; если низ кадра занят, глоссарий уезжает в верхний угол, и это нормально. В плане указывай не «нижняя треть», а конкретную свободную зону, которую ты увидел на кадре.

Оверлеи

Там, где долго идёт говорящая голова, полнокадровая вставка не нужна — нужен оверлей поверх кадра. Их тоже размечай, отдельным списком: таймкод, тип (нижний титр, плашка главы, выноска-цитата, стеклянная панель-тезис), текст.

Правило дизайн-системы: стекло только поверх видео и максимум одна панель в кадре.

Типичные ошибки разметки

Иллюстрация вместо показа. «Тут он говорит про скорость — поставим часы.» Часы не показывают мысль, они её подписывают. Показать скорость — это «было / стало» с двумя цифрами.

Приём под красоту. Карусель глав уместна там, где перечисляются главы, а не там, где просто хочется движения.

Слишком много текста в кадре. Зритель считывает кадр за две секунды. Не больше 3–4 элементов, основной текст от 24px.

Разметка под свои возможности, а не под ролик. Если сцена просится сложная — размечай сложную. Решение «дорого, сделаем попроще» принимает пользователь, а не ты.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

sstani-bgv/montage-skills

Собрать ОДНУ анимационную вставку для видео на HyperFrames + GSAP в стиле канала. По умолчанию — стиль v4 «презентация с картинками» (одобрен автором как эталон, два русскоязычных YouTube-референса): крупные слова в интро, спикер + достраивающаяся панель, сгенерированные Codex 3D-картинки-метафоры, звук на каждое появление графики. Светлая тема, Onest/Unbounded; как акценты — приёмы вроде PiP-морфа, rack-focus, карусели глав, velocity-matched швов, zoom-through, перспективного свопа окон, каскадов с бэйджами. Используй этот скилл всегда, когда нужно собрать, починить или доработать отдельную анимацию/сцену/motion-вставку по готовой спеке, когда сабагент получил задание на одну сцену из motion-плана, а также когда речь идёт о HyperFrames-композиции для ролика в этом стиле. Не для планирования всего ролика — это /motion-plan, и не для оркестрации — это /motion-run.

sstani-bgv/montage-skills

Сделать все анимационные вставки для ролика от начала до конца (по умолчанию в стиле v4 «презентация с картинками» — эталон, одобренный автором) — посмотреть видео или транскрипт, разметить motion-план, раздать сцены сабагентам, принять работу, собрать черновой монтаж со вставками поверх исходника и отдать его вместе с MP4 по таймкодам. Используй этот скилл всегда, когда пользователь просит сделать анимации для своего ролика, оживить видео вставками, «сделать как у такого-то блогера», собрать графику под уже записанный материал или довести ранее размеченный motion-план до готовых файлов. Это точка входа: сам зовёт /motion-plan для разметки и раздаёт сборку по /motion-build. Для одной отдельной анимации бери /motion-build напрямую.

Related Skills