Agent skill

Cuboid Carousel

by heygen-com in heygen-com/hyperframes

HyperFrames video block where bevelled 3D cuboids carrying card content fly in as a group, rotate in a staggered wave, hold on a hero card and exit.

Apache-2.0Auto-check passedMedia & Creative

Install Cuboid Carousel

skills CLI
$ npx skills add heygen-com/hyperframes --skill cuboid-carousel -a claude-code

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

GitHub CLI
$ gh skill install heygen-com/hyperframes cuboid-carousel --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/heygen-com/hyperframes.git skills-src && mkdir -p .claude/skills && cp -r skills-src/registry/blocks/cuboid-carousel .claude/skills/cuboid-carousel && 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
cuboid-carousel
GitHub stars
59k
Used in
1 other repo
Token cost
~1.8k tokens
SKILL.md length
650 words
Files
11 (incl. assets)
Skills in repo
32
Repo updated
First seen
Licence
Apache-2.0

At a glance

HyperFrames video block where bevelled 3D cuboids carrying card content fly in as a group, rotate in a staggered wave, hold on a hero card and exit.

  • Works in 3 steps: Keep data-composition-variables a… → Do not put in static markup; create it… → Keep every visual state a function of t;…
  • Making a short 3D card-carousel clip for a feature roundup or portfolio reel
  • SKILL.md covers Files, Install, Variables and Runtime contract, plus 1 more section
  • Runs JavaScript scripts from its folder; calls npx

What it does

This is a prebuilt HyperFrames composition for a 1920×1080 clip at 30 fps. Rounded, bevelled cuboids that carry card content arrive from the right as one rigid group, travel with a small per-cuboid rotation stagger, slow to a hold on the hero card and then leave to the left. Spacing is calculated from the cuboid size, so neighbours never overlap.

About 40 variables expose the geometry, materials, lights, shadows, backdrop and camera, along with the duration and easing of every segment. Cards come from a built-in list or from a JSON string in the cardsJson variable, and the hero card number and repeat count (1 to 12) are variables too. The finished clip runs a little under seven seconds.

Install it with `npx hyperframes add cuboid-carousel`, which copies the files into `compositions/cuboid-carousel/`, then mount the composition from the host index.html. Custom values go to the render command as a --variables JSON argument. The folder carries its own bundled Three and GSAP scripts with their licence notices.

When your agent uses it

  • Making a short 3D card-carousel clip for a feature roundup or portfolio reel
  • Showing several cards in a rotating lineup that settles on one highlighted card
  • Adding a ready-made motion block to a HyperFrames video project

Example prompts

  • “Install the cuboid-carousel block in my HyperFrames project and render it with eight cards.”
  • “Make card 3 the hero in the cuboid carousel and widen the gap between cuboids a little.”
  • “Render the cuboid carousel with cards loaded from a cards.json file instead of the built-in list.”

Requirements

  • npx, which comes with Node.js

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Keep data-composition-variables a single-quoted attribute with plain " JSON. Never save it through Studio's Design panel.
  2. Do not put in static markup; create it at runtime.
  3. Keep every visual state a function of t; seek-safety is what makes the block renderable.

What it can do on your machine

Read from SKILL.md and the folder at commit 0c76e52. 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 script files (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    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

Cuboid Carousel loads about 1.8k tokens when it runs. Until then it costs about 39 tokens; SKILL.md has 650 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~39
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from heygen-com/hyperframes at commit 0c76e52, republished under its Apache-2.0 licence (© heygen-com). 650 words, ~1,773 tokens.

Download SKILL.mdSave it as .claude/skills/cuboid-carousel/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
cuboid-carousel
description
A chain of bevelled cuboids rides a travelling wave as a content carousel. HyperFrames block, 1920×1080, 6.666666666666667s, 40 variables.

Rounded, bevelled cuboids carrying card content fly in from the right as one rigid group, cruise with a per-cuboid rotation stagger, decelerate to a hero hold, then exit left. Spacing is derived from the cuboid dimensions and the largest reachable X half-extent, so cuboids can never overlap. Forty variables carry the original DialKit schema: geometry, materials, lights, shadows, backdrop, camera and every segment duration and easing. Cards come from the built-in list or a JSON variable.

Composition id: cuboid-carousel. Duration 6.666666666666667 s at 30 fps, 1920×1080.

Files

  • cuboid-carousel.html (38 KB)
  • assets/Three-LICENSE.txt (1 KB)
  • assets/addons/environments/RoomEnvironment.js (5 KB)
  • assets/addons/utils/BufferGeometryUtils.js (36 KB)
  • assets/cuboid-motion.js (593 KB)
  • assets/gsap-3.14.2.min.js (128 KB)
  • assets/GSAP-NOTICE.txt (1 KB)
  • assets/three.core.min.js (554 KB)
  • assets/three.module.min.js (468 KB)

Install

Install with npx hyperframes add cuboid-carousel; by default the files above land under compositions/cuboid-carousel/. Then mount the block from the host index.html:

html
<div
  data-composition-id="cuboid-carousel"
  data-composition-src="compositions/cuboid-carousel/cuboid-carousel.html"
  data-start="0"
  data-duration="6.666666666666667"
  data-track-index="1"
  data-width="1920"
  data-height="1080"
></div>

Render with custom values by targeting the composition file directly:

sh
npx --yes hyperframes@0.8.12 render 'compositions/cuboid-carousel/cuboid-carousel.html' --variables '{"cardsJson":"","heroCard":4}'

Variables

Read at runtime via window.__hyperframes.getVariables(); declared on the composition root as data-composition-variables (single-quoted attribute, plain JSON).

idtypedefaultlabel / range
cardsJsonstring""Content · Cards JSON (optional, see CARDS in source)
heroCardnumber4Content · Hero card (1-based) 1–12 step 1
countnumber8Content · Repeating card count 1–12 step 1
gapnumber0.01Layout · Extra gap between cuboids 0–1.5 step 0.005
cuboidWidthnumber1.7Cuboid · Width 0.3–5 step 0.01
cuboidHeightnumber2.4Cuboid · Height 0.3–6 step 0.01
cuboidDepthnumber0.14Cuboid · Thickness (depth) 0.02–2 step 0.01
cornerRadiusnumber0.105Cuboid · Corner radius 0–0.6 step 0.005
bevelSizenumber0.03Cuboid · Bevel size (edge chamfer) 0–0.3 step 0.001
bevelThicknessnumber0.04Cuboid · Bevel thickness 0–0.3 step 0.001
smoothnessnumber32Cuboid · Smoothness (segments) 1–32 step 1
bodyColorcolor"#242424"Cuboid · Body colour
roughnessnumber0.6Cuboid · Roughness 0–1 step 0.01
metalnessnumber0.4Cuboid · Metalness 0–1 step 0.01
heroScalenumber1Hero · Isolated scale 1–1.6 step 0.01
heroFillIntensitynumber0.55Hero · Face light intensity 0–2 step 0.05
heroExitXnumber288Hero · Exit X rotation degrees -720–720 step 1
heroExitYnumber-234Hero · Exit Y rotation degrees -720–720 step 1
heroExitZnumber198Hero · Exit Z rotation degrees -720–720 step 1
ambientIntensitynumber0.35Lights · Ambient intensity 0–4 step 0.01
ambientColorcolor"#ffffff"Lights · Ambient colour
topIntensitynumber3.1Lights · Top rig intensity 0–12 step 0.05
topColorcolor"#ffffff"Lights · Top rig colour
bottomIntensitynumber2.15Lights · Bottom rig intensity 0–12 step 0.05
bottomColorcolor"#ffcaad"Lights · Bottom rig colour
keyIntensitynumber5Lights · Key rig intensity 0–12 step 0.05
keyColorcolor"#ffe9d6"Lights · Key rig colour
shadowRadiusnumber44.5Shadows · Softness at map size 2048 0–50 step 0.5
shadowMapSizenumber2048Shadows · Map size 512–4096 step 256
backdropcolor"#0b0d13"Background · Colour
cameraFovnumber11Camera · Initial Field of view 10–90 step 0.5
cameraXnumber-1.65Camera · Initial X -20–20 step 0.05
cameraYnumber8.5Camera · Initial Y -20–20 step 0.05
cameraZnumber-8.508708Camera · Initial Z (distance) -20–50 step 0.1
cameraSettleFramenumber70Camera · Settle frame (30 fps) 20–90 step 1
handheldStrengthnumber1Camera · Handheld hold strength 0–1 step 0.05
cameraTargetFovnumber34Camera target · Field of view 10–90 step 0.5
cameraTargetXnumber-7.25Camera target · X -20–20 step 0.05
cameraTargetYnumber1.15Camera target · Y -20–20 step 0.05
cameraTargetZnumber6.2Camera target · Z 2–50 step 0.1
Show full SKILL.md (111 more words)Show less

Runtime contract

  • One paused GSAP timeline registered as window.__timelines["cuboid-carousel"].
  • Re-syncs on the hf-seek CustomEvent; every frame is a closed-form function of time (seeded PRNG only, no rAF loops, no Date.now).
  • Renderer: WebGL, GSAP, Canvas 2D, PMREM, Shadow maps. Budget roughly 350 MB per live instance; run one at a time.
  • External runtime dependencies: ./assets/three.module.min.js, ./assets/addons/.
  • Web fonts from Google Fonts: Inter.

Editing rules (from the source project)

  1. Keep data-composition-variables a single-quoted attribute with plain " JSON. Never save it through Studio's Design panel.
  2. Do not put <canvas> in static markup; create it at runtime.
  3. Keep every visual state a function of t; seek-safety is what makes the block renderable.

© heygen-com, Apache-2.0. 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 10 other files (assets) in registry/blocks/cuboid-carousel of heygen-com/hyperframes.

  • SKILL.md
  • assets/GSAP-NOTICE.txt
  • assets/Three-LICENSE.txt
  • assets/addons/environments/RoomEnvironment.js
  • assets/addons/utils/BufferGeometryUtils.js
  • assets/cuboid-motion.js
  • assets/gsap-3.14.2.min.js
  • assets/three.core.min.js
  • assets/three.module.min.js
  • cuboid-carousel.html
  • registry-item.json

Open the folder on GitHubat commit 0c76e52

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in heygen-com/hyperframes, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Cuboid Carousel 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.

Cuboid Carousel compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cuboid Carousel this skillheygen-com/hyperframes59k1 repos~1.8kAutomated safety check: PassApache-2.0
Guizang Product Video Skillop7418/guizang-product-video-skill702—~1.1kAutomated safety check: PassAGPL-3.0
Plotbeat Data VideosUnclecheng-li/AI_Animation1.5k—~2.6kAutomated safety check: PassMIT
Yuv Viral Videohoodini/ai-agents-skills281—~7.5kAutomated safety check: NotesNone
Duo Foldable Phone Comparisonheygen-com/hyperframes-community-skills1781 repos~2kAutomated safety check: PassApache-2.0
Talking-Head Video Pipelinenaive-kun/naive-video-skill132—~3.3kAutomated safety check: PassMIT

Similar skills

  • Guizang Product Video Skill

    op7418/guizang-product-video-skill

    制作代码驱动的软件产品宣传片和版本更新片(product promo、release notes video、changelog promo)。从真实功能和产品设计出发定方向,用真实组件、GSAP/Three.js 动效、原创配乐和动作音效完成影片,每支片子的视觉手法都从产品本身推导,不套模板。

    702 GitHub stars~1.1k tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Plotbeat Data Videos

    Unclecheng-li/AI_Animation

    Turns a local CSV or JSON file, or data fetched from an approved source, into an editable data-visualization video by adapting HyperFrames templates.

    1.5k GitHub stars~2.6k tokensUpdated 3 days ago
    Media & CreativeAuto-check passed
  • Yuv Viral Video

    hoodini/ai-agents-skills

    Edit any selfie or screen-share footage into a viral short-form video in YUV.AI's signature style — Apple-style liquid-glass cards (real CSS backdrop-filter), dark-mode polish, MrBeast-paced cuts…

    281 GitHub stars~7.5k tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • Duo Foldable Phone Comparison

    heygen-com/hyperframes-community-skills

    Builds side-by-side comparison and meme videos on a fixed photo of hands holding an open foldable phone, with your own HTML playing in each screen.

    178 GitHub starsUsed in 1 repo~2k tokens
    Media & CreativeAuto-check passed
  • Talking-Head Video Pipeline

    naive-kun/naive-video-skill

    Turns raw or rough-cut talking-head footage into a captioned, animated final video through a staged, resumable production pipeline.

    132 GitHub stars~3.3k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • X Posting License Video

    heygen-com/hyperframes-community-skills

    Builds a short animated posting-license card video from an X profile's name, handle, counters and avatar, using a fixed template that the agent only fills in and renders.

    178 GitHub starsUsed in 1 repo~1.2k tokens
    Media & CreativeAuto-check passed

More from heygen-com/hyperframes

All 32 skills in this repo
  • HyperFrames Animation

    heygen-com/hyperframes

    Collects motion rules, scene blueprints, transitions and runtime adapters for HyperFrames video compositions, with GSAP as the default animation runtime.

    59k GitHub starsUsed in 3 repos~2.1k tokens
    Auto-check passed
  • Embedded Video Captions

    heygen-com/hyperframes

    Adds captions to a single-subject talking-head video without editing the footage, from plain subtitles to cinematic text placed behind the speaker.

    59k GitHub starsUsed in 3 repos~8.6k tokens
    Auto-check passed
  • Weekly Changelog Video

    heygen-com/hyperframes

    Turns a weekly changelog markdown file into a branded HyperFrames video with voiceover, animated mock-UI scenes and captions, using fonts, background and scripts bundled in the skill.

    59k GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed
  • Faceless Explainer Video

    heygen-com/hyperframes

    Turns an article, notes or a topic brief into an explainer video whose visuals are invented per scene, built frame by frame in HyperFrames with no footage.

    59k GitHub starsUsed in 3 repos~7.7k tokens
    Auto-check: notes
  • Figma to HyperFrames

    heygen-com/hyperframes

    Imports Figma assets, brand tokens, components and motion into a HyperFrames video composition, using the Figma REST API with a connector or native export for shaders.

    59k GitHub starsUsed in 3 repos~4.5k tokens
    Auto-check: notes
  • HyperFrames Media Use

    heygen-com/hyperframes

    Finds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades.

    59k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Cuboid Carousel

What does Cuboid Carousel do?

HyperFrames video block where bevelled 3D cuboids carrying card content fly in as a group, rotate in a staggered wave, hold on a hero card and exit. This is a prebuilt HyperFrames composition for a 1920×1080 clip at 30 fps. Rounded, bevelled cuboids that carry card content arrive from the right as one rigid group, travel with a small per-cuboid rotation stagger, slow to a hold on the hero card and then leave to the left.

When should I use Cuboid Carousel?

Cuboid Carousel fits situations like: making a short 3D card-carousel clip for a feature roundup or portfolio reel; showing several cards in a rotating lineup that settles on one highlighted card; adding a ready-made motion block to a HyperFrames video project.

How do I install Cuboid Carousel in Claude Code?

Run `npx skills add heygen-com/hyperframes --skill cuboid-carousel -a claude-code`. Or copy the skill folder (registry/blocks/cuboid-carousel in heygen-com/hyperframes) into .claude/skills/cuboid-carousel in your project. Claude Code loads it when a task matches its description.

How do I install Cuboid Carousel in Codex?

Run `npx skills add heygen-com/hyperframes --skill cuboid-carousel -a codex`. Or copy the skill folder (registry/blocks/cuboid-carousel in heygen-com/hyperframes) into .agents/skills/cuboid-carousel in your project. Codex loads it when a task matches its description.

Can I use Cuboid Carousel 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 heygen-com/hyperframes --skill cuboid-carousel -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cuboid-carousel, .gemini/skills/cuboid-carousel, .github/skills/cuboid-carousel and .opencode/skills/cuboid-carousel in your project.

What does Cuboid Carousel need to run?

Going by SKILL.md and its folder, Cuboid Carousel needs JavaScript for the scripts in its folder and the command-line tools its instructions call (npx). Our summary lists: npx, which comes with Node.js.

Does Cuboid Carousel access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Cuboid Carousel 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. Review the folder before installing.

What licence does Cuboid Carousel use?

Cuboid Carousel is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cuboid Carousel use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cuboid Carousel?

Skills that share tags, products or a category with Cuboid Carousel: Guizang Product Video Skill (op7418/guizang-product-video-skill, 702 stars), Plotbeat Data Videos (Unclecheng-li/AI_Animation, 1.5k stars), Yuv Viral Video (hoodini/ai-agents-skills, 281 stars) and Duo Foldable Phone Comparison (heygen-com/hyperframes-community-skills, 178 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cuboid Carousel?

heygen-com (a GitHub organization) maintains it in heygen-com/hyperframes, which has 58,669 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on October 8, 2026.

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