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 Vanilla JavaScript/TypeScript. Use when building compositions without a framework, or for simple DOM/Canvas manipulations.
Claude Code
$ npx -y skills add BintzGavin/helios --skill vanilla --agent claude-code
Codex
$ npx skills add BintzGavin/helios --skill vanilla -a codex -y
Cursor
$ npx skills add BintzGavin/helios --skill vanilla -a cursor -y
Gemini CLI
$ npx skills add BintzGavin/helios --skill vanilla -a gemini-cli -y
GitHub Copilot
$ npx skills add BintzGavin/helios --skill vanilla -a github-copilot -y
OpenCode
$ npx skills add BintzGavin/helios --skill vanilla -a opencode -y
Windsurf
$ npx skills add BintzGavin/helios --skill vanilla -a windsurf -y
name: example-vanilla description: Patterns for using Helios with Vanilla JavaScript/TypeScript. Use when building compositions without a framework, or for simple DOM/Canvas manipulations.
Integrate Helios into standard HTML/JS applications using direct DOM manipulation and subscriptions.
Initialize Helios and bind to the document timeline.
import { Helios } from '@helios-project/core';
// 1. Initialize Helios
const helios = new Helios({
duration: 10,
fps: 30,
width: 1920,
height: 1080,
autoSyncAnimations: true // Sync WAAPI/CSS animations
});
// 2. Expose for Player/Studio
(window as any).helios = helios;
// 3. Bind to external timeline (important for Renderer/Studio)
helios.bindToDocumentTimeline();Use `subscribe` to update the DOM or Canvas on every frame.
const box = document.getElementById('box');
helios.subscribe((state) => {
if (!box) return;
const { currentFrame, fps } = state;
const time = currentFrame / fps;
// Animate based on time
const x = time * 100;
box.style.transform = `translateX(${x}px)`;
// Update text
box.textContent = `Frame: ${currentFrame}`;
});Driven by SRT content.
const captionBox = document.getElementById('captions');
helios.subscribe((state) => {
if (!captionBox) return;
const activeCues = state.activeCaptions;
if (activeCues.length > 0) {
captionBox.innerText = activeCues.map(c => c.text).join('\n');
captionBox.style.opacity = '1';
} else {
captionBox.innerText = '';
captionBox.style.opacity = '0';
}
});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,…