make-video
Make videos drawn with code: motion graphics, launch and explainer videos, animated shorts, animated charts and data, logo…
Patterns for using Helios with GSAP (GreenSock). Use when integrating GSAP timelines with the Helios timeline for precise scrubbing and rendering.
Claude Code
$ npx -y skills add BintzGavin/helios --skill gsap --agent claude-code
Codex
$ npx skills add BintzGavin/helios --skill gsap -a codex -y
Cursor
$ npx skills add BintzGavin/helios --skill gsap -a cursor -y
Gemini CLI
$ npx skills add BintzGavin/helios --skill gsap -a gemini-cli -y
GitHub Copilot
$ npx skills add BintzGavin/helios --skill gsap -a github-copilot -y
OpenCode
$ npx skills add BintzGavin/helios --skill gsap -a opencode -y
Windsurf
$ npx skills add BintzGavin/helios --skill gsap -a windsurf -y
name: example-gsap description: Patterns for using Helios with GSAP (GreenSock). Use when integrating GSAP timelines with the Helios timeline for precise scrubbing and rendering.
To use GSAP with Helios, you must drive the GSAP Timeline instance using the Helios frame state. This allows GSAP animations to be scrubbed, paused, and rendered frame-by-frame.
1. Create a GSAP Timeline with `paused: true`. 2. Subscribe to Helios updates. 3. Inside the subscription, convert the Helios frame to seconds. 4. Call `timeline.seek(seconds)` to synchronize.
<script type="module">
import { Helios } from '@helios-project/core';
import { gsap } from 'gsap';
// 1. Initialize Helios
const helios = new Helios({
fps: 30,
durationInSeconds: 5,
});
// 2. Setup GSAP Timeline (PAUSED is critical)
const tl = gsap.timeline({ paused: true });
// 3. Define animations
tl.to(".box", {
rotation: 360,
x: 100,
duration: 2,
ease: "power1.inOut"
})
.to(".box", {
scale: 2,
duration: 2
});
// 4. Subscribe and Sync
helios.subscribe((state) => {
// Convert frame count to seconds
const timeInSeconds = state.currentFrame / helios.fps;
// Seek GSAP to exact time
tl.seek(timeInSeconds);
});
// 5. Bind for Preview
helios.bindToDocumentTimeline();
window.helios = helios;
</script>1. **Always Pause:** The GSAP timeline must be initialized with `{ paused: true }`. If it plays automatically, it will fight with Helios for control. 2. **Use Seek:** Do not use `tl.progress()` unless you calculate the normalized 0-1 value. `tl.seek(seconds)` is usually more direct since Helios knows FPS and Frame Count. 3. **No `requestAnimationFrame`:** Do not create your own rAF loop for GSAP. Let Helios drive the updates via `subscribe`.
Programmatic video creation with web technologies you already know. CSS animations just work.
Make videos drawn with code: motion graphics, launch and explainer videos, animated shorts, animated charts and data, logo…
Core API for Helios video engine. Use when creating compositions, managing timeline state, controlling playback, or subscribing…
Story-first motion design philosophy for animated video: motion must earn its place; arc (establish, complicate, resolve); show…
End-to-end production plan template for feeling-first cinematic product promos: brief interrogation, 45s beat structure (cold…
Opt-in library of established visual styles for code-drawn Helios videos: style cards (colour rules, type, motion grammar, a…
Patterns for using Helios with Vanilla Canvas API. Use when building high-performance 2D/3D animations without frameworks.
Overlay doctrine for captions in HyperFrames videos — the caption MODEL (drop / rail / embed) and the rule that captions are an…
AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction for video production. Use when…
This skill should be used when a Seedance 2.0 prompt contains generic AI filler, hollow superlatives, vague cinematic language,…