# framer-motion-scroll

Скилл для Framer Motion: подсказывает агенту, как делать анимации, привязанные к прокрутке, параллакс и индикаторы прогресса.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 803 установки · ★ 10
- Автор: C-Jeril
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/C-Jeril/framer-motion-skills/tree/HEAD/skills/framer-motion-scroll/SKILL.md
- Обновлён: 2026-04-02
- HTML: https://affpapa.org/nevibecode/skills/framer-motion-scroll

## Что делает

Скилл описывает работу с прокруткой в Framer Motion: `useScroll` следит за прогрессом, `useTransform` переводит его в значения масштаба, прозрачности или смещения. Внутри — примеры кода на JSX и таблицы опций. Есть разбор формата `offset`: пара вроде `["start end", "end start"]` задаёт, когда элемент виден, а `[0, 1]` берёт весь документ.

Отдельные разделы — параллакс с разной скоростью слоёв, полоса прогресса чтения и `useInView` для появления блока при входе в область видимости. У `useInView` расписаны `once`, `margin` и `amount`; для входных анимаций скилл советует ставить `once: true`, иначе эффект будет срабатывать при каждом проходе мимо.

Скилл ссылается на соседние: `framer-motion-core` для базовой анимации, `framer-motion-variants` для вариантов, `framer-motion-layout` для layout-анимаций. Ставить его имеет смысл, если в проекте уже есть Framer Motion и React — без них примеры из скилла некуда вставлять. Отдельно скилл предупреждает: не анимируйте layout-свойства ради эффектов прокрутки и не забывайте задавать высоту контейнера при горизонтальном скролле.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add C-Jeril/framer-motion-skills --skill framer-motion-scroll -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add C-Jeril/framer-motion-skills --skill framer-motion-scroll -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add C-Jeril/framer-motion-skills --skill framer-motion-scroll -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install C-Jeril/framer-motion-skills framer-motion-scroll
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add C-Jeril/framer-motion-skills --skill framer-motion-scroll -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/C-Jeril/framer-motion-skills --path skills/framer-motion-scroll
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add C-Jeril/framer-motion-skills --skill framer-motion-scroll -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/C-Jeril/framer-motion-skills/tree/HEAD/skills/framer-motion-scroll/SKILL.md

## Когда брать
- привязать масштаб или прозрачность блока к прогрессу прокрутки
- сделать параллакс с разной скоростью слоёв
- добавить полосу прогресса чтения страницы
- включать анимацию появления, когда блок попадает в область видимости
- разобраться с форматом offset для `useScroll`

## Примеры запросов агенту
- сделай параллакс на framer-motion-scroll: фон двигается медленнее текста
- нужна полоса прогресса чтения через useScroll и useTransform
- анимация появления секции при скролле, один раз, через useInView

## Похожие
- [framer-motion-animator](https://affpapa.org/nevibecode/skills/framer-motion-animator.md) — скилл · 11100 установок
- [motion-framer](https://affpapa.org/nevibecode/skills/motion-framer.md) — скилл · 5900 установок
- [framer-motion](https://affpapa.org/nevibecode/skills/athevon-framer-motion.md) — скилл · 990 установок
- [motion](https://affpapa.org/nevibecode/skills/motion.md) — скилл · 1100 установок
- [scroll-scrubbed-word-reveal](https://affpapa.org/nevibecode/skills/scroll-scrubbed-word-reveal.md) — скилл · 1400 установок
- [scroll-animations](https://affpapa.org/nevibecode/skills/scroll-animations.md) — скилл · 1100 установок

Из того же набора: [c-jeril/framer-motion-skills](https://affpapa.org/nevibecode/by/c-jeril/framer-motion-skills.md) — 3 карточки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

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