Agent skill

Locomotive Scroll

by freshtechbro in freshtechbro/claudedesignskills

A guide to the Locomotive Scroll library for smooth scrolling, parallax, viewport detection, sticky elements and GSAP ScrollTrigger integration.

MITAuto-check passedFrontend & Design

Install Locomotive Scroll

skills CLI
$ npx skills add freshtechbro/claudedesignskills --skill locomotive-scroll -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install freshtechbro/claudedesignskills locomotive-scroll --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/freshtechbro/claudedesignskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/locomotive-scroll .claude/skills/locomotive-scroll && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
locomotive-scroll
GitHub stars
1k
Token cost
~3.1k tokens
SKILL.md length
429 words
Files
10 (incl. scripts, references, assets)
Skills in repo
19
Repo updated
First seen
Licence
MIT

At a glance

A guide to the Locomotive Scroll library for smooth scrolling, parallax, viewport detection, sticky elements and GSAP ScrollTrigger integration.

  • Works in 12 steps: HTML Structure → Initialization → Data Attributes → …
  • Adding smooth scrolling and parallax to a landing page
  • SKILL.md covers Overview, Installation, Core Concepts and Common Patterns, plus 6 more sections
  • Runs Python and JavaScript scripts from its folder; calls npm; reaches cdn.jsdelivr.net

What it does

Locomotive Scroll is a JavaScript library for smooth scrolling, parallax effects, viewport detection, scroll events, sticky elements and horizontal scrolling, and this guide shows how to use it. It covers installation with npm, the data-scroll-container HTML structure, initialization and a table of data attributes for speed, direction, sticky positioning, targets, offsets, repeat detection, event calls and ids.

It lists trade-offs to plan for: scroll hijacking can hurt accessibility, so offer a way to disable it, low-end devices may need the effect turned off, touch scrolling feels different, and fixed positioning needs workarounds. Bundled files include a starter project, an API reference, a GSAP integration note and two Python helper scripts, generate_config.py and integration_helper.py.

When your agent uses it

  • Adding smooth scrolling and parallax to a landing page
  • Triggering animations when elements enter the viewport
  • Building a horizontal scrolling section
  • Combining Locomotive Scroll with GSAP ScrollTrigger

Example prompts

  • “Add Locomotive Scroll parallax to the hero section of this landing page.”
  • “Make the case study section scroll horizontally with sticky headings.”
  • “Connect Locomotive Scroll to GSAP ScrollTrigger for a pinned timeline.”

Requirements

  • Node.js and npm to install `locomotive-scroll`

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. HTML Structure
  2. Initialization
  3. Data Attributes
  4. Basic Smooth Scrolling
  5. Parallax Effects
  6. Viewport Detection and Callbacks
  7. Sticky Elements
  8. Programmatic Scrolling
  9. Horizontal Scrolling
  10. Mobile Responsiveness
  11. Fixed Positioning Issues
  12. Images Not Lazy Loading

What it can do on your machine

Read from SKILL.md and the folder at commit 1da73fe. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python and JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • cdn.jsdelivr.net

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Locomotive Scroll loads about 3.1k tokens when it runs, and up to ~9.4k if it reads all its reference files. Until then it costs about 143 tokens; SKILL.md has 429 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~143
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from freshtechbro/claudedesignskills at commit 1da73fe, republished under its MIT licence (© freshtechbro). 429 words, ~3,092 tokens.

Download SKILL.mdSave it as .claude/skills/locomotive-scroll/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
locomotive-scroll
description
Comprehensive skill for Locomotive Scroll smooth scrolling library with parallax effects, viewport detection, and scroll-driven animations. Use this skill when implementing smooth scrolling experiences, creating parallax effects, building scroll-triggered animations, or developing immersive scrolling websites. Triggers on tasks involving Locomotive Scroll, smooth scrolling, parallax, scroll detection, scroll events, sticky elements, horizontal scrolling, or GSAP ScrollTrigger integration. Integrates with GSAP for advanced scroll-driven animations.

Locomotive Scroll

Comprehensive guide for implementing smooth scrolling, parallax effects, and scroll-driven animations using Locomotive Scroll.

Overview

Locomotive Scroll is a JavaScript library that provides:

  • Smooth scrolling: Hardware-accelerated smooth scroll with customizable easing
  • Parallax effects: Element-level speed control for depth
  • Viewport detection: Track when elements enter/exit viewport
  • Scroll events: Monitor scroll progress for animation synchronization
  • Sticky elements: Pin elements within defined boundaries
  • Horizontal scrolling: Support for horizontal scroll layouts

When to use Locomotive Scroll:

  • Building immersive landing pages with parallax
  • Creating smooth, Apple-style scroll experiences
  • Implementing scroll-triggered animations
  • Developing narrative/storytelling websites
  • Adding depth and motion to long-form content

Trade-offs:

  • Scroll-hijacking can impact accessibility (provide disable option)
  • Performance overhead on low-end devices (detect and disable)
  • Mobile touch scrolling feels different (test extensively)
  • Fixed positioning requires workarounds

Installation

bash
npm install locomotive-scroll
javascript
// ES6
import LocomotiveScroll from 'locomotive-scroll';
import 'locomotive-scroll/dist/locomotive-scroll.css';

// Or via CDN
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/locomotive-scroll/dist/locomotive-scroll.min.css">
<script src="https://cdn.jsdelivr.net/npm/locomotive-scroll/dist/locomotive-scroll.min.js"></script>

Core Concepts

1. HTML Structure

Every Locomotive Scroll implementation requires specific data attributes:

html
<!-- Scroll container (required) -->
<div data-scroll-container>

  <!-- Scroll sections (optional, improves performance) -->
  <div data-scroll-section>

    <!-- Tracked elements -->
    <h1 data-scroll>Basic detection</h1>

    <!-- Parallax element -->
    <div data-scroll data-scroll-speed="2">
      Moves faster than scroll
    </div>

    <!-- Sticky element -->
    <div data-scroll data-scroll-sticky>
      Sticks within section
    </div>

    <!-- Element with ID for tracking -->
    <div data-scroll data-scroll-id="hero">
      Accessible via JavaScript
    </div>

    <!-- Call event trigger -->
    <div data-scroll data-scroll-call="fadeIn">
      Triggers custom event
    </div>

  </div>
</div>
2. Initialization
javascript
const scroll = new LocomotiveScroll({
  el: document.querySelector('[data-scroll-container]'),
  smooth: true,
  lerp: 0.1,        // Smoothness (0-1, lower = smoother)
  multiplier: 1,    // Speed multiplier
  class: 'is-inview', // Class added to visible elements
  repeat: false,    // Repeat in-view detection
  offset: [0, 0]    // Global trigger offset [bottom, top]
});
3. Data Attributes
AttributePurposeExample
data-scrollEnable detectiondata-scroll
data-scroll-speedParallax speeddata-scroll-speed="2"
data-scroll-directionParallax axisdata-scroll-direction="horizontal"
data-scroll-stickySticky positioningdata-scroll-sticky
data-scroll-targetSticky boundarydata-scroll-target="#section"
data-scroll-offsetTrigger offsetdata-scroll-offset="20%"
data-scroll-repeatRepeat detectiondata-scroll-repeat
data-scroll-callEvent triggerdata-scroll-call="myFunction"
data-scroll-idUnique identifierdata-scroll-id="hero"
data-scroll-classCustom classdata-scroll-class="is-visible"

Common Patterns

1. Basic Smooth Scrolling
javascript
import LocomotiveScroll from 'locomotive-scroll';

const scroll = new LocomotiveScroll({
  el: document.querySelector('[data-scroll-container]'),
  smooth: true
});
html
<div data-scroll-container>
  <div data-scroll-section>
    <h1>Smooth scrolling enabled</h1>
  </div>
</div>
2. Parallax Effects
html
<!-- Slow parallax -->
<div data-scroll data-scroll-speed="0.5">
  Moves slower than scroll (background effect)
</div>

<!-- Fast parallax -->
<div data-scroll data-scroll-speed="3">
  Moves faster than scroll (foreground effect)
</div>

<!-- Reverse parallax -->
<div data-scroll data-scroll-speed="-2">
  Moves in opposite direction
</div>

<!-- Horizontal parallax -->
<div data-scroll data-scroll-speed="2" data-scroll-direction="horizontal">
  Moves horizontally
</div>
3. Viewport Detection and Callbacks
javascript
// Track scroll progress
scroll.on('scroll', (args) => {
  console.log(args.scroll.y); // Current scroll position
  console.log(args.speed);    // Scroll speed
  console.log(args.direction); // Scroll direction

  // Access specific element progress
  if (args.currentElements['hero']) {
    const progress = args.currentElements['hero'].progress;
    console.log(`Hero progress: ${progress}`); // 0 to 1
  }
});

// Call events
scroll.on('call', (value, way, obj) => {
  console.log(`Event triggered: ${value}`);
  // value = data-scroll-call attribute value
  // way = 'enter' or 'exit'
  // obj = {id, el}
});
html
<div data-scroll data-scroll-id="hero">Hero section</div>
<div data-scroll data-scroll-call="playVideo">Video section</div>
4. Sticky Elements
html
<!-- Stick within parent section -->
<div data-scroll-section>
  <div data-scroll data-scroll-sticky>
    I stick while section is in view
  </div>
</div>

<!-- Stick with specific target -->
<div id="sticky-container">
  <div data-scroll data-scroll-sticky data-scroll-target="#sticky-container">
    I stick within #sticky-container
  </div>
</div>
5. Programmatic Scrolling
javascript
// Scroll to element
scroll.scrollTo('#target-section');

// Scroll to top
scroll.scrollTo('top');

// Scroll to bottom
scroll.scrollTo('bottom');

// Scroll with options
scroll.scrollTo('#target', {
  offset: -100,      // Offset in pixels
  duration: 1000,    // Duration in ms
  easing: [0.25, 0.0, 0.35, 1.0], // Cubic bezier
  disableLerp: true, // Disable smooth lerp
  callback: () => console.log('Scrolled!')
});

// Scroll to pixel value
scroll.scrollTo(500);
6. Horizontal Scrolling
javascript
const scroll = new LocomotiveScroll({
  el: document.querySelector('[data-scroll-container]'),
  smooth: true,
  direction: 'horizontal'
});
html
<div data-scroll-container>
  <div data-scroll-section style="display: flex; width: 300vw;">
    <div>Section 1</div>
    <div>Section 2</div>
    <div>Section 3</div>
  </div>
</div>
7. Mobile Responsiveness
javascript
const scroll = new LocomotiveScroll({
  el: document.querySelector('[data-scroll-container]'),
  smooth: true,

  // Tablet settings
  tablet: {
    smooth: true,
    breakpoint: 1024
  },

  // Smartphone settings
  smartphone: {
    smooth: false, // Disable on mobile for performance
    breakpoint: 768
  }
});

Integration with GSAP ScrollTrigger

Locomotive Scroll and GSAP ScrollTrigger work together for advanced animations:

javascript
import LocomotiveScroll from 'locomotive-scroll';
import { gsap } from 'gsap';
import { ScrollTrigger } from 'gsap/ScrollTrigger';

gsap.registerPlugin(ScrollTrigger);

const locoScroll = new LocomotiveScroll({
  el: document.querySelector('[data-scroll-container]'),
  smooth: true
});

// Sync Locomotive Scroll with ScrollTrigger
locoScroll.on('scroll', ScrollTrigger.update);

ScrollTrigger.scrollerProxy('[data-scroll-container]', {
  scrollTop(value) {
    return arguments.length
      ? locoScroll.scrollTo(value, 0, 0)
      : locoScroll.scroll.instance.scroll.y;
  },
  getBoundingClientRect() {
    return {
      top: 0,
      left: 0,
      width: window.innerWidth,
      height: window.innerHeight
    };
  },
  pinType: document.querySelector('[data-scroll-container]').style.transform
    ? 'transform'
    : 'fixed'
});

// GSAP animation with ScrollTrigger
gsap.to('.fade-in', {
  scrollTrigger: {
    trigger: '.fade-in',
    scroller: '[data-scroll-container]',
    start: 'top bottom',
    end: 'top center',
    scrub: true
  },
  opacity: 1,
  y: 0
});

// Update ScrollTrigger when Locomotive updates
ScrollTrigger.addEventListener('refresh', () => locoScroll.update());
ScrollTrigger.refresh();

Instance Methods

javascript
const scroll = new LocomotiveScroll();

// Lifecycle
scroll.init();     // Reinitialize
scroll.update();   // Refresh element positions
scroll.destroy();  // Clean up
scroll.start();    // Resume scrolling
scroll.stop();     // Pause scrolling

// Navigation
scroll.scrollTo(target, options);
scroll.setScroll(x, y);

// Events
scroll.on('scroll', callback);
scroll.on('call', callback);
scroll.off('scroll', callback);

Performance Optimization

  1. Use data-scroll-section to segment long pages:
html
<div data-scroll-container>
  <div data-scroll-section>Section 1</div>
  <div data-scroll-section>Section 2</div>
  <div data-scroll-section>Section 3</div>
</div>
  1. Limit parallax elements - Too many can impact performance

  2. Disable on mobile if performance is poor:

javascript
smartphone: { smooth: false }
  1. Update on resize:
javascript
window.addEventListener('resize', () => {
  scroll.update();
});
  1. Destroy when not needed:
javascript
scroll.destroy();
Show full SKILL.md (165 more words)Show less

Common Pitfalls

1. Fixed Positioning Issues

Problem: position: fixed elements break with smooth scroll

Solution: Use data-scroll-sticky instead or add fixed elements outside container:

html
<!-- Fixed nav outside container -->
<nav style="position: fixed;">Navigation</nav>

<div data-scroll-container>
  <!-- Page content -->
</div>
2. Images Not Lazy Loading

Problem: All images load at once

Solution: Integrate with lazy loading:

html
<img data-scroll data-src="image.jpg" class="lazy">
javascript
scroll.on('call', (func) => {
  if (func === 'lazyLoad') {
    // Trigger lazy load
  }
});
3. Scroll Position Not Updating

Problem: Dynamic content doesn't update scroll positions

Solution: Call update() after DOM changes:

javascript
// After adding content
addDynamicContent();
scroll.update();
4. Accessibility Concerns

Problem: Screen readers and keyboard navigation broken

Solution: Provide disable option:

javascript
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;

const scroll = new LocomotiveScroll({
  smooth: !prefersReducedMotion
});
5. Memory Leaks

Problem: Scroll instance not cleaned up on route changes (SPAs)

Solution: Always destroy on unmount:

javascript
// React example
useEffect(() => {
  const scroll = new LocomotiveScroll();

  return () => scroll.destroy();
}, []);
6. Z-Index Fighting

Problem: Parallax elements overlap incorrectly

Solution: Set explicit z-index on parallax layers:

css
[data-scroll-speed] {
  position: relative;
  z-index: var(--layer-depth);
}
  • gsap-scrolltrigger: Advanced scroll-driven animations (use together)
  • barba-js: Page transitions with Locomotive Scroll integration
  • scroll-reveal-libraries: Simpler alternative for basic fade-in effects
  • react-three-fiber: Scroll-driven 3D scenes (sync with Locomotive events)
  • motion-framer: Alternative scroll animations in React

Resources

  • Scripts: generate_config.py - Configuration generator, integration_helper.py - GSAP integration code
  • References: api_reference.md - Complete API, gsap_integration.md - GSAP ScrollTrigger patterns
  • Assets: starter_locomotive/ - Complete starter template with examples

© freshtechbro, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files (scripts, references, assets) in .claude/skills/locomotive-scroll of freshtechbro/claudedesignskills.

  • SKILL.md
  • assets/starter_locomotive/README.md
  • assets/starter_locomotive/index.html
  • assets/starter_locomotive/main.js
  • assets/starter_locomotive/package.json
  • assets/starter_locomotive/style.css
  • references/api_reference.md
  • references/gsap_integration.md
  • scripts/generate_config.py
  • scripts/integration_helper.py

Open the folder on GitHubat commit 1da73fe

Compare with similar skills

Locomotive Scroll next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Locomotive Scroll compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Locomotive Scroll this skillfreshtechbro/claudedesignskills1k—~3.1kAutomated safety check: PassMIT
GSAP Core Animationgreensock/gsap-skills16k4 repos~3.7kAutomated safety check: PassMIT
GSAP for Reactgreensock/gsap-skills16k4 repos~1.6kAutomated safety check: PassMIT
GSAP Plugins Guidegreensock/gsap-skills16k4 repos~5.4kAutomated safety check: WarnMIT
Motiscope RecreateKumarSashank/motiscope122—~2kAutomated safety check: PassMIT
RecreateKumarSashank/motiscope122—~1.8kAutomated safety check: NotesMIT

Similar skills

  • GSAP Core Animation

    greensock/gsap-skills

    Covers the GSAP core API for tweens, easing, staggers, defaults and matchMedia, and when to choose GSAP over CSS animations or other JavaScript animation libraries.

    16k GitHub starsUsed in 4 repos~3.7k tokens
    Frontend & DesignAuto-check passed
  • GSAP for React

    greensock/gsap-skills

    Shows how to run GSAP animations in React and Next.js with the useGSAP hook, refs, scoped selectors and automatic cleanup on unmount.

    16k GitHub starsUsed in 4 repos~1.6k tokens
    Frontend & DesignAuto-check passed
  • GSAP Plugins Guide

    greensock/gsap-skills

    Covers GSAP plugin use: registration, scroll, Flip, Draggable, SVG, text, physics and easing plugins, with the current free licensing and npm install guidance.

    16k GitHub starsUsed in 4 repos~5.4k tokens
    Frontend & DesignAuto-check: warnings
  • Motiscope Recreate

    KumarSashank/motiscope

    Recreate an analyzed animation as working web code — GSAP (JavaScript), CSS/Web Animations, Framer Motion (React), or Lottie/SVG.

    122 GitHub stars~2k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check passed
  • Recreate

    KumarSashank/motiscope

    Recreate an analyzed animation as working web code — GSAP (JavaScript), CSS/Web Animations, Framer Motion (React), or Lottie/SVG.

    122 GitHub stars~1.8k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check: notes
  • Gsap Framer Scroll Animation

    github/awesome-copilot

    Official

    A skill your agent uses whenever the user wants to build scroll animations, scroll effects, parallax, scroll-triggered reveals, pinned sections, horizontal scroll, text animations, or any motion…

    40k GitHub starsUsed in 1 repo~1.6k tokens
    Frontend & DesignAuto-check passed

More from freshtechbro/claudedesignskills

All 19 skills in this repo
  • Anime.js Animation Guide

    freshtechbro/claudedesignskills

    Guides use of Anime.js for timeline sequences, stagger effects, SVG morphing and keyframe animation on DOM elements, CSS, SVG and JavaScript objects.

    1k GitHub stars~2.7k tokensUpdated 10 mo ago
    Auto-check passed
  • Barba.js Page Transitions

    freshtechbro/claudedesignskills

    Adds animated page transitions to multi-page sites with Barba.js, covering the wrapper and container markup, lifecycle hooks, views and GSAP integration.

    1k GitHub stars~4.9k tokensUpdated 10 mo ago
    Auto-check passed
  • Blender Web Export Pipeline

    freshtechbro/claudedesignskills

    Exports and optimizes Blender 3D models and animations for the web as glTF, covering batch Python scripting, texture baking, decimation and LOD generation for Three.js and Babylon.js.

    1k GitHub stars~4.2k tokensUpdated 10 mo ago
    Auto-check passed
  • GSAP and ScrollTrigger

    freshtechbro/claudedesignskills

    Covers GSAP tweens and timelines and the ScrollTrigger plugin for scroll-driven animation, including pinning, scrubbing, parallax and horizontal scroll sections.

    1k GitHub stars~4.3k tokensUpdated 10 mo ago
    Auto-check passed
  • Lottie Animation Integration

    freshtechbro/claudedesignskills

    Implements After Effects Lottie animations in web and React apps: picking JSON or dotLottie format, a rendering library, and a data source, with an optimizer script.

    1k GitHub stars~4.5k tokensUpdated 10 mo ago
    Auto-check passed
  • React Spring Physics Animation

    freshtechbro/claudedesignskills

    Guides React UI animation built on spring physics with React Spring and Popmotion: hooks, config presets, trails, list transitions and scroll or in-view effects.

    1k GitHub stars~2.8k tokensUpdated 10 mo ago
    Auto-check passed

Questions about Locomotive Scroll

What does Locomotive Scroll do?

A guide to the Locomotive Scroll library for smooth scrolling, parallax, viewport detection, sticky elements and GSAP ScrollTrigger integration. Locomotive Scroll is a JavaScript library for smooth scrolling, parallax effects, viewport detection, scroll events, sticky elements and horizontal scrolling, and this guide shows how to use it. It covers installation with npm, the data-scroll-container HTML structure, initialization and a table of data attributes for speed, direction, sticky positioning, targets, offsets, repeat detection, event calls and ids.

When should I use Locomotive Scroll?

Locomotive Scroll fits situations like: adding smooth scrolling and parallax to a landing page; triggering animations when elements enter the viewport; building a horizontal scrolling section; combining Locomotive Scroll with GSAP ScrollTrigger.

How do I install Locomotive Scroll in Claude Code?

Run `npx skills add freshtechbro/claudedesignskills --skill locomotive-scroll -a claude-code`. Or copy the skill folder (.claude/skills/locomotive-scroll in freshtechbro/claudedesignskills) into .claude/skills/locomotive-scroll in your project. Claude Code loads it when a task matches its description.

How do I install Locomotive Scroll in Codex?

Run `npx skills add freshtechbro/claudedesignskills --skill locomotive-scroll -a codex`. Or copy the skill folder (.claude/skills/locomotive-scroll in freshtechbro/claudedesignskills) into .agents/skills/locomotive-scroll in your project. Codex loads it when a task matches its description.

Can I use Locomotive Scroll in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add freshtechbro/claudedesignskills --skill locomotive-scroll -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/locomotive-scroll, .gemini/skills/locomotive-scroll, .github/skills/locomotive-scroll and .opencode/skills/locomotive-scroll in your project.

What does Locomotive Scroll need to run?

Going by SKILL.md and its folder, Locomotive Scroll needs Python and JavaScript for the scripts in its folder and the command-line tools its instructions call (npm). Our summary lists: Node.js and npm to install `locomotive-scroll`.

Does Locomotive Scroll access the network?

SKILL.md names 1 domain. In commands or code: cdn.jsdelivr.net; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Locomotive Scroll safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Locomotive Scroll use?

Locomotive Scroll is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Locomotive Scroll use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.3k tokens, read only when the agent opens those files.

What are the alternatives to Locomotive Scroll?

Skills that share tags, products or a category with Locomotive Scroll: GSAP Core Animation (greensock/gsap-skills, 16k stars), GSAP for React (greensock/gsap-skills, 16k stars), GSAP Plugins Guide (greensock/gsap-skills, 16k stars) and Motiscope Recreate (KumarSashank/motiscope, 122 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Locomotive Scroll?

freshtechbro (a GitHub user) maintains it in freshtechbro/claudedesignskills, which has 1,007 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on November 20, 2025.

Source: freshtechbro/claudedesignskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.