scroll-progress-timeline — скилл для Claude Code: обзор и установка
Превращает упорядоченный список шагов в интерактивную шкалу процесса со скроллом. Подходит для онбординга, чекаута, дорожных карт и историй в вебе.
npx skills add MengTo/Skills --skill scroll-progress-timeline -a claude-codeЧто делает scroll-progress-timeline
Скилл описывает правила вёрстки и логику для таймлайнов со шкалой прогресса. В основе лежит модель данных из упорядоченного списка шагов, который сначала рендерится как семантическая разметка с заголовками. Поверх фоновой линии накладывается шкала с scaleY или scaleX, чтобы браузер обрабатывал анимацию на уровне композитора без лишней перерисовки страницы.
Для длинных текстов и разной высоты карточек скилл предписывает использовать левую направляющую, а на мобильных экранах — сразу сворачивать чередующийся макет в одну колонку. Шаг считается активным, когда линия прогресса пересекает его центр. Доступность поддержана атрибутом aria-current="step", а при системной настройке prefers-reduced-motion анимация отключается в пользу готовой линии или дискретных шагов.
Какие задачи решает
- собрать пошаговый процесс онбординга или чекаута с индикатором скролла
- анимировать шкалу прогресса через
transformбез просадки FPS - адаптировать чередующийся таймлайн для узких экранов мобильных устройств
- настроить доступность шкалы для скринридеров и режима пониженного движения
Примеры запросов агенту
- Помоги сверстать вертикальный таймлайн чекаута с прогресс-баром при скролле
- Сделай адаптивную дорожную карту проекта с левой направляющей линией по шагам
Как установить scroll-progress-timeline
1Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill scroll-progress-timeline -a claude-code2Вручную: положить файлы
~/.claude/skills/scroll-progress-timeline/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/scroll-progress-timeline/
1Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill scroll-progress-timeline -a codex2Вручную: положить файлы
.agents/skills/scroll-progress-timeline/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill scroll-progress-timeline -a cursor2Вручную: положить файлы
.cursor/skills/scroll-progress-timeline/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install MengTo/Skills scroll-progress-timeline2Вручную: положить файлы
.github/skills/scroll-progress-timeline/SKILL.md1Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill scroll-progress-timeline -a gemini-cli2Командой платформы
gemini skills install https://github.com/MengTo/Skills --path agent-skills/web-design/scroll-progress-timelineВручную: положить файлы
.devin/skills/scroll-progress-timeline/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add MengTo/Skills --skill scroll-progress-timeline -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора148
Похожие
Рядом в теме «Фронтенд и UI»
Всё по теме «Фронтенд и UI» →Вопросы о scroll-progress-timeline
Как установить scroll-progress-timeline в Claude Code?
Выполните команду npx skills add MengTo/Skills --skill scroll-progress-timeline -a claude-code в терминале. Файл сохранится в ~/.claude/skills/scroll-progress-timeline/SKILL.md.
Что делает scroll-progress-timeline?
Он задаёт правила для создания таймлайнов со шкалой прогресса при скролле. Агент применяет разметку на основе данных, правильную геометрию измерений и аппаратное ускорение анимаций.
Как таймлайн ведёт себя при включённом prefers-reduced-motion?
При системном требовании уменьшить движение шкала отображается сразу заполненной или переключается между шагами дискретно, без непрерывной интерполяции и размытия.
Исходный текст
SKILL.md · MIT
---
name: scroll-progress-timeline
description: Turn any ordered process into a data-driven vertical or horizontal scroll story with a base line, progress fill, active step states, responsive collapse, semantic fallback, and reduced-motion behavior. Use for onboarding, checkout, roadmaps, recipes, case studies, service processes, histories, or narratives where progress through the sequence should become visible while scrolling.
---
# Scroll Progress Timeline
Use one progress line to connect ordered information. The sequence must remain complete, readable, and navigable before animation is added.
## Model the steps
Keep the content data-driven:
```js
const steps = [
{ id: "brief", number: "01", title: "Set the direction", body: "..." },
{ id: "build", number: "02", title: "Make the system", body: "..." },
{ id: "ship", number: "03", title: "Release and learn", body: "..." }
];
```
Render it as an ordered list with real headings. The line, dots, media, and active state enhance that structure; they do not replace it.
## Build the line
1. Render a quiet base line behind every point.
2. Place one progress line on top with `transform-origin: top` for vertical or `left` for horizontal.
3. Measure the first and last point centers, not arbitrary section edges.
4. Normalize scroll position between those centers.
5. Apply `scaleY(progress)` or `scaleX(progress)` so updates stay on the compositor.
6. Mark a step active when the progress head crosses its center.
```js
const progress = Math.min(1, Math.max(0,
(viewportAnchor - lineStart) / (lineEnd - lineStart)
));
line.style.transform = `scaleY(${progress})`;
```
Schedule DOM writes in one animation frame. Recalculate geometry after font and image loading, resize, orientation changes, and content mutation.
## Choose the layout
- Use a centered alternating timeline only when both sides have enough width and similar content weight.
- Use a left rail for long copy, compact steps, or mixed card heights.
- Use a horizontal line for short sequences with concise labels and explicit keyboard-safe overflow.
- Use pinned full-screen chapters only when each step carries a distinct visual state. Keep the pin finite and release before the next section.
- Collapse to a simple left rail on small screens. Do not preserve alternation at the expense of reading order.
## Animate step state
Use small opacity, translate, scale, blur, color, or media transitions. Keep every step readable while inactive. Expose active index with `aria-current="step"` only when that state is meaningful and current; do not announce every scroll update with a live region.
Use IntersectionObserver for simple active-state entry. Use a normalized scroll measurement or GSAP ScrollTrigger when the line must fill continuously or coordinate pinned media.
## Handle navigation
- Make step links real anchors when users can jump within the process.
- Add `scroll-margin` for sticky headers.
- Preserve focus and do not move it during passive scrolling.
- Keep URLs and browser history stable unless the user explicitly selects a step.
- If steps are interactive, use buttons or links with visible focus; never make a decorative dot the only control.
## Reduce motion
Under `prefers-reduced-motion: reduce`, show the complete line or discrete reached states without scrubbed interpolation, blur, pinning, or large transforms. Keep ordinary document flow and all step content.
## Verify
Test variable step counts, uneven card heights, missing media, long translations, 390/768/1024/1440 widths, 200% zoom, fast forward and reverse scrolling, direct anchor navigation, keyboard order, reduced motion, late font/image layout, route cleanup, and console errors. The active step and line head must agree at every boundary.
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