К основному содержанию
скилл CX Codex

scroll-scrubbed-visual-sequence — скилл для Claude Code

Собирает обратимые визуальные сцены, управляемые прокруткой: от сборки продукта до смены состояний интерфейса. Пригодится для интерактивных hero-блоков и диаграмм.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add MengTo/Skills --skill scroll-scrubbed-visual-sequence -a claude-code
Открыть на GitHub

Что делает scroll-scrubbed-visual-sequence

Скилл помогает спроектировать сцену, где положение прокрутки задаёт визуальное состояние в обоих направлениях. Он предлагает нормализованный прогресс, sticky- или pinned-этап, отдельный слой для текста и контролов, а также освобождение сцены перед следующим разделом.

Рендерер можно выбрать под задачу: видео, последовательность изображений, canvas, SVG, DOM или WebGL. Для GSAP-проектов предусмотрен ScrollTrigger, а для реализации без зависимостей — измерение секции на прокрутке и изменение кадра через requestAnimationFrame. Изображения подгружаются по мере необходимости, устаревшие запросы отменяются.

Заголовки, подписи и CTA остаются в семантическом HTML. При prefers-reduced-motion: reduce скилл убирает pinning и scrubbing, показывает выбранный статичный кадр и возвращает обычный поток документа. Для варианта с GSAP проект уже должен использовать GSAP; без него есть отдельный путь реализации.

Какие задачи решает

  • связать положение прокрутки с визуальным состоянием
  • собрать сцену со sticky-этапом и обратным движением
  • выбрать рендерер для видео, кадров, canvas или SVG
  • сохранить текст и управление доступными без анимации

Примеры запросов агенту

  • Собери hero-сцену, где прокрутка поэтапно меняет состояние продукта и возвращает его назад при обратном движении.
  • Реализуй последовательность изображений с sticky-этапом, загрузкой соседних кадров и статичным состоянием для prefers-reduced-motion: reduce.
  • Сделай диаграмму на SVG, привяжи её к нормализованному прогрессу и не встраивай текст в изображения.

Как установить scroll-scrubbed-visual-sequence

1Через Skills CLI (Vercel)

npx skills add MengTo/Skills --skill scroll-scrubbed-visual-sequence -a claude-code

2Вручную: положить файлы

~/.claude/skills/scroll-scrubbed-visual-sequence/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/scroll-scrubbed-visual-sequence/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о scroll-scrubbed-visual-sequence

Как установить scroll-scrubbed-visual-sequence в Claude Code?

Выполните по порядку: npx skills add MengTo/Skills --skill scroll-scrubbed-visual-sequence -a claude-code, затем повторите npx skills add MengTo/Skills --skill scroll-scrubbed-visual-sequence -a claude-code, после этого откройте ~/.claude/skills/scroll-scrubbed-visual-sequence/SKILL.md.

Что делает scroll-scrubbed-visual-sequence?

Скилл задаёт структуру для визуальных трансформаций, которые управляются нативной прокруткой и воспроизводятся вперёд и назад. Он охватывает sticky-сцену, нормализованный прогресс и несколько вариантов рендера.

Нужен ли GSAP для этого скилла?

Нет. Для проекта с GSAP скилл предлагает ScrollTrigger, а без него — реализацию на измерениях секции, обработчиках прокрутки и requestAnimationFrame.

Исходный текст

SKILL.md · MIT
---
name: scroll-scrubbed-visual-sequence
description: Build reversible scroll-controlled visual transformations with a pinned or sticky stage, normalized progress, and video, image-sequence, canvas, SVG, or DOM renderers. Use for hero transformations, product assembly, interface state walkthroughs, object rotation, diagrams, or photo sequences that must move forward and backward with native scrolling.
---

# Scroll-Scrubbed Visual Sequence

Turn one visual transformation into a responsive scroll instrument. Keep the page usable without motion and keep the renderer replaceable.

## Define the sequence

Write the visual states before coding:

```js
const sequence = {
  scrollVh: 280,
  frameCount: 96,
  fit: "contain",
  posterFrame: 0,
  reducedMotionFrame: 95,
  copyStops: [0, 0.42, 0.78]
};
```

Use one normalized value for every renderer:

```js
const progress = Math.min(1, Math.max(0,
  (viewportTop - sectionTop) / (sectionHeight - viewportHeight)
));
```

Never make wheel delta, elapsed time, or autoplay the source of truth. Native scroll position must determine the exact visual state in both directions.

## Choose the renderer

- Use video when the sequence is continuous, photographic, or expensive to render live. Encode frequent keyframes, preload metadata, reserve the aspect ratio, and coalesce `currentTime` writes in `requestAnimationFrame`.
- Use an image sequence when exact art-directed frames matter. Preload the current frame first, then nearby frames; never block first paint on the whole set.
- Use canvas for procedural drawing or compositing. Cap device pixel ratio at 2 and redraw only when progress changes.
- Use SVG or DOM for diagrams, product cards, interface states, and accessible text. Drive transforms, opacity, clip paths, and CSS variables instead of layout-heavy properties.
- Use WebGL only when depth, lighting, or a real 3D camera materially strengthens the idea. Provide a static poster and dispose resources.

## Build the scroll stage

1. Keep the section in normal document flow and set its height from `scrollVh`.
2. Put the visual in a `position: sticky` stage sized to the viewport.
3. Keep copy and controls in a separate layer. Do not bake essential text into frames.
4. Map progress to the renderer with no implicit easing. Add optional smoothing after correctness is proven.
5. Refresh measurements after fonts and intrinsic media sizes settle.
6. Release the sticky stage cleanly before the next section and keep the footer reachable.

Use GSAP ScrollTrigger when the project already uses GSAP or needs exact pin, refresh, and timeline coordination:

```js
ScrollTrigger.create({
  trigger: section,
  start: "top top",
  end: () => `+=${innerHeight * 2.8}`,
  pin: stage,
  scrub: true,
  invalidateOnRefresh: true,
  onUpdate: ({ progress }) => render(progress)
});
```

For a dependency-free implementation, measure the section on scroll and resize, then schedule one render per animation frame.

## Handle media safely

- Keep a poster visible until the first real frame paints.
- Clamp frame indexes to `0...frameCount - 1`.
- Cancel stale image requests and never queue every seek during fast scrolling.
- Use `object-fit` and an explicit focal point so the subject survives mobile crops.
- Pause decoding, rendering, and observation while the section is offscreen or the document is hidden.
- Clean up ScrollTriggers, observers, listeners, animation frames, Blob URLs, and renderer resources on route change or unmount.

## Preserve access and control

- Keep headings, copy, captions, and the CTA in semantic HTML.
- Do not trap scrolling, block keyboard navigation, or require precise pointer input.
- Under `prefers-reduced-motion: reduce`, remove pinning and scrubbing, render the selected static frame, and restore ordinary document flow.
- If the sequence communicates ordered information, expose the same states as text or a list.

## Tune deliberately

Expose scroll distance, renderer, frame count, poster frame, media fit, focal point, copy stops, overlay strength, smoothing, and reduced-motion state as configuration. Avoid magic numbers distributed across event handlers.

## Verify

Check forward and reverse scrolling, fast flicks, resize while active, 390/768/1024/1440 widths, unloaded frames, blocked video, reduced motion, keyboard order, route cleanup, and console errors. The same scroll position must always reproduce the same state.

Use [demo/index.html](demo/index.html) as the working reference and [demo/PROMPT.md](demo/PROMPT.md) to recreate or remix it. Keep [REFERENCES.md](REFERENCES.md) as the links-only implementation source list.

© MengTo · MIT · MengTo/Skills

Похожие скиллы

Всё по теме «Фронтенд и UI» →
html-diagram plannotator Генерирует автономные интерактивные HTML-диаграммы без сторонних сервисов и сборки. Пригодится, когда нужно визуализировать топологию, состояния, таймлайн или архитектуру проекта. CX Codex +1 4 100установок scroll-world oso95 Скилл собирает лендинг, где скролл управляет камерой: она влетает внутрь сцены и без склеек переходит к следующей. CX Codex +1 4 800установок gsap-framer-scroll-animation официальный Utkarsh Patrikar Скилл помогает создавать анимации, связанные со скроллом, через GSAP ScrollTrigger и Framer Motion. Подойдёт для React, Next.js и vanilla JS. 3 900установок locomotive-scroll freshtechbro Скилл помогает внедрить Locomotive Scroll: плавную прокрутку, параллакс и анимации от скролла. Нужен при сборке страниц с отслеживанием элементов во вьюпорте. CX Codex +1 2 500установок scroll-reveal-libraries freshtechbro Подключает лёгкие CSS-анимации появления элементов при прокрутке через библиотеку AOS. Помогает верстать лендинги и блоги без тяжеловесного JS-кода. CX Codex +1 2 400установок scroll-experience sickn33 Скилл помогает проектировать скролл-анимации, параллакс и интерактивное повествование для веб-страниц. Пригодится для сцен, которые раскрываются при прокрутке. CX Codex +1 2 000установок

Из того же набора148

company-logos Скилл настраивает добавление логотипов брендов через Iconify Simple Icons в сетке 64x64 вместо текстовых названий и случайных картинок. CX Codex +1 1 500установок marquee-loop Скилл помогает собрать бесконечную бегущую строку из логотипов, отзывов или скриншотов. Пригодится для секций, где элементы должны прокручиваться по кругу без заметного стыка. CX Codex +1 1 500установок matterjs Помогает агенту собрать сцену на Matter.js: движок, рендер, тела, ограничения и перетаскивание мышью. Пригодится, когда нужна физика на canvas. CX Codex +1 1 500установок css-border-gradient Добавляет в веб-интерфейс аккуратные градиентные рамки через CSS или Tailwind. Пригодится карточкам цен, модальным окнам и кнопкам, которым нужна сдержанная подсветка контура. CX Codex +1 1 500установок unsplash-asset-images Скилл подбирает фотографии Unsplash под аватары, хедшоты, фоны и обои и сразу называет нужные пропорции и разрешения. CX Codex +1 1 600установок scroll-world-storytelling Скилл превращает статьи, кейсы и продуктовые истории в кинематографичные скролл-лендинги. Пригодится, когда вместо скучных блоков нужен связный визуальный мир. CX Codex +1 1 600установок staggered-word-reveal Создаёт пословное появление короткого текста при прокрутке. Подходит для заголовков, подзаголовков, цитат и вступительных блоков. CX Codex +1 1 600установок editorial-portfolio-chapters Скилл для сайтов креативных студий, агентств, фотографов и художников: работа ведёт рассказ, а не блок «о нас». Пригодится, когда портфолио нужно собрать как серию журнальных глав. CX Codex +1 1 400установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой