make-video
Make videos drawn with code: motion graphics, launch and explainer videos, animated shorts, animated charts and data, logo…
Learn how to use P5.js with Helios. Use when creating creative coding sketches or generative art.
Claude Code
$ npx -y skills add BintzGavin/helios --skill p5 --agent claude-code
Codex
$ npx skills add BintzGavin/helios --skill p5 -a codex -y
Cursor
$ npx skills add BintzGavin/helios --skill p5 -a cursor -y
Gemini CLI
$ npx skills add BintzGavin/helios --skill p5 -a gemini-cli -y
GitHub Copilot
$ npx skills add BintzGavin/helios --skill p5 -a github-copilot -y
OpenCode
$ npx skills add BintzGavin/helios --skill p5 -a opencode -y
Windsurf
$ npx skills add BintzGavin/helios --skill p5 -a windsurf -y
name: example-p5-animation description: Learn how to use P5.js with Helios. Use when creating creative coding sketches or generative art.
Integrate P5.js with Helios by using P5's **Instance Mode** and driving the `draw()` loop via Helios's state.
import { Helios } from '@helios-project/core';
import p5 from 'p5';
const helios = new Helios({ duration: 10, fps: 60 });
window.helios = helios; // lets the renderer and player drive it
const sketch = (p: p5) => {
p.setup = () => {
p.createCanvas(1920, 1080);
p.noLoop(); // Disable P5's internal loop
};
p.draw = () => {
// Get time from Helios
const { currentFrame, fps } = helios.getState();
const time = currentFrame / fps;
p.background(200);
p.fill(255, 0, 0);
// Animate based on time
const x = time * 100;
p.circle(x, 540, 50);
};
};
const instance = new p5(sketch, document.getElementById('canvas-container'));
// Drive P5 from Helios: redraw on every frame change.
helios.subscribe(() => instance.redraw());Always use Instance Mode (`new p5(sketch)`) instead of Global Mode. This prevents global variable pollution and ensures compatibility with module bundlers.
Call `p.noLoop()` in `setup()`. P5's internal loop uses `requestAnimationFrame` which runs independently of Helios. By disabling it, you ensure P5 only draws when Helios updates.
Instead of relying on P5's `frameCount`, calculate positions based on `helios.getState().currentFrame`.
helios.subscribe(() => {
// Assuming 'myp5' is your instance
myp5.redraw();
});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,…