# horizontal-scroll-scenes

Скилл для сцен, которые едут слева направо, пока пользователь скроллит вниз. Одна чистая функция превращает scrollY в сцену, паузу и переход.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 367 установок · ★ 7001
- Автор: MengTo
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/MengTo/Skills/tree/HEAD/agent-skills/web-design/horizontal-scroll-scenes/SKILL.md
- Обновлён: 2026-10-25
- HTML: https://affpapa.org/nevibecode/skills/horizontal-scroll-scenes

## Что делает

Скилл описывает механику, где положение скролла — единственное состояние. Функция `travel(sp)` каждую секунду берёт `scrollY / (scrollHeight - innerHeight)` и возвращает тройку `{i, dw, f}`: номер сцены, прогресс внутри неё и прогресс перехода. Камера, линия стирания, текст и индекс пишутся из этой тройки, поэтому обратный скролл, перетаскивание ползунка, прыжок по якорю и перезагрузка на глубине попадают в тот же кадр. Ничего не запоминается — каждое состояние выводится заново.

Внутри — правила с указанием, какую поломку каждое предотвращает. Отдельно разобраны бюджет паузы и перехода (`DWELL` 1.15, `MOVE` 0.85, одна сцена на два экрана), стирание огнём или панорама между сценами, индекс глав и прогресс, ссылки с пропуском промежуточных сцен, поведение клавиатуры и режим уменьшенной анимации. Демо собрано на Vanilla JavaScript с DOM/CSS и inline SVG, исходник — на three.js; машина состояний в обоих случаях одна.

Нормировать нужно по `scrollHeight - innerHeight`, а не по жёстко прописанной высоте в пикселях: на телефоне адресная строка схлопывается прямо во время скролла, `innerHeight` меняется, и карта в пикселях уезжает. Захват колеса и `scroll-snap` здесь прямо запрещены — они ломают тач, инерцию трекпада и поиск по странице.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add MengTo/Skills --skill horizontal-scroll-scenes -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/horizontal-scroll-scenes/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/horizontal-scroll-scenes/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add MengTo/Skills --skill horizontal-scroll-scenes -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/horizontal-scroll-scenes/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add MengTo/Skills --skill horizontal-scroll-scenes -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/horizontal-scroll-scenes/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install MengTo/Skills horizontal-scroll-scenes
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/horizontal-scroll-scenes/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add MengTo/Skills --skill horizontal-scroll-scenes -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/MengTo/Skills --path agent-skills/web-design/horizontal-scroll-scenes
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/horizontal-scroll-scenes/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add MengTo/Skills --skill horizontal-scroll-scenes -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/MengTo/Skills/tree/HEAD/agent-skills/web-design/horizontal-scroll-scenes/SKILL.md

## Когда брать
- собрать сцены, которые едут вбок при вертикальном скролле
- удержать правильный кадр после перезагрузки на середине страницы
- сделать переход между сценами без двойной экспозиции камеры
- пропустить промежуточные сцены по ссылке и не мигнуть шесть раз
- учесть клавиатуру и режим уменьшенной анимации

## Примеры запросов агенту
- Собери горизонтальные сцены по скиллу horizontal-scroll-scenes: восемь глав, пауза и переход как в правилах
- Переделай этот слайдер на нативный скролл по horizontal-scroll-scenes, чтобы перезагрузка на глубине не сбивала кадр
- Добавь по horizontal-scroll-scenes ссылку с пропуском промежуточных сцен и индекс глав

## Похожие
- [scroll-craft](https://affpapa.org/nevibecode/skills/scroll-craft.md) — скилл · 1200 установок
- [scroll-animations](https://affpapa.org/nevibecode/skills/scroll-animations.md) — скилл · 1100 установок
- [framer-motion-scroll](https://affpapa.org/nevibecode/skills/framer-motion-scroll.md) — скилл · 803 установки
- [epic-design](https://affpapa.org/nevibecode/skills/epic-design.md) — скилл · 701 установка
- [scenes](https://affpapa.org/nevibecode/skills/scenes.md) — скилл · 950 установок
- [frost-sequence-camera-orbit](https://affpapa.org/nevibecode/skills/frost-sequence-camera-orbit.md) — скилл · 10000 установок

Из того же набора: [mengto/skills](https://affpapa.org/nevibecode/by/mengto/skills.md) — 148 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
