orbit-card — Claude Code skill: what it does, how to install
Adds a 10-second 1920×1080 HyperFrames motion block where a single feature card orbits a dot sphere using exported Blender camera paths.
npx skills add heygen-com/hyperframes --skill orbit-card -a claude-codeWhat orbit-card does
The skill sets up the orbit-card composition running at 30 fps for 10 seconds. The card enters from the right, bobs in depth, makes a full turn around a spinning dot sphere, and leaves to the left. Camera paths and F-curves come straight from an approved Blender rig, interpolated across Three.js and GSAP.
Four variables customize the block without editing keyframes: feature1Title (card title up to 28 characters), feature1Desc (description up to 110 characters), feature1Accent, and cardOrbitDegrees ranging from -36000 to 36000. These values mount via the single-quoted data-composition-variables attribute on the composition root.
Rendering depends entirely on seek safety. Visual states must remain a deterministic function of time t, which rules out Date.now and requestAnimationFrame loops. Static <canvas> tags in HTML will break the setup because runtime scripts must create the canvas dynamically.
What it helps with
- Mount a 10-second 3D feature card animation into a HyperFrames layout
- Render a 1920×1080 composition with custom titles and accent colors
- Adjust card orbit angles between -36000° and 36000° without touching keyframes
- Integrate Blender-driven camera motion via Three.js and GSAP
Example prompts for the agent
- Show me how to mount orbit-card in index.html with custom feature variables
- Generate the npx hyperframes render command for orbit-card with cardOrbitDegrees set to 720
- Explain the runtime contract and variable limits for orbit-card
How to install orbit-card
1Skills CLI (Vercel)
npx skills add heygen-com/hyperframes --skill orbit-card -a claude-code2Manually: put the files in place
~/.claude/skills/orbit-card/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/orbit-card/
1Skills CLI (Vercel)
npx skills add heygen-com/hyperframes --skill orbit-card -a codex2Manually: put the files in place
.agents/skills/orbit-card/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add heygen-com/hyperframes --skill orbit-card -a cursor2Manually: put the files in place
.cursor/skills/orbit-card/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install heygen-com/hyperframes orbit-card2Manually: put the files in place
.github/skills/orbit-card/SKILL.md1Skills CLI (Vercel)
npx skills add heygen-com/hyperframes --skill orbit-card -a gemini-cli2Platform CLI
gemini skills install https://github.com/heygen-com/hyperframes --path registry/blocks/orbit-cardManually: put the files in place
.devin/skills/orbit-card/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add heygen-com/hyperframes --skill orbit-card -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set14
The whole set →Similar
Questions about orbit-card
How to install orbit-card in Claude Code?
Run npx skills add heygen-com/hyperframes --skill orbit-card -a claude-code in your terminal.
What does orbit-card do?
It provides a 1920×1080 HyperFrames motion block where a card orbits a dot sphere based on Blender camera curves.
What editing rules apply to orbit-card?
Keep data-composition-variables as a single-quoted attribute with plain JSON, create the canvas dynamically at runtime instead of static markup, and ensure every visual state is a pure function of time.
Source text
SKILL.md · Apache-2.0
--- name: orbit-card description: A single feature card orbits a dot sphere on approved Blender camera motion. HyperFrames block, 1920×1080, 10s, 4 variables. --- # Orbit Card One centred feature card with a circular cut-out framing a dot sphere. The card enters from the right (0.25–1.80 s), holds with a subtle bob and depth drift, orbits a full turn around the sphere's centre (smoothstep between 4.97 and 5.97 s), and exits left (7.35–8.55 s). The camera path and card F-curves are exported from the approved Blender rig at 30 fps and interpolated; the sphere keeps its own translation and a constant spin. Title, description, accent and the orbit angle are variables; 180° and 720° work without touching keys. Composition id: `orbit-card`. Duration 10 s at 30 fps, 1920×1080. ## Files - `orbit-card.html` (3 KB) - `assets/Archivo-LICENSE.txt` (4 KB) - `assets/Three-LICENSE.txt` (1 KB) - `assets/archivo-regular.ttf` (108 KB) - `assets/archivo-semibold.ttf` (109 KB) - `assets/gsap-3.14.2.min.js` (128 KB) - `assets/GSAP-NOTICE.txt` (1 KB) - `assets/orbit-motion.js` (59 KB) - `assets/orbit-scene.js` (8 KB) - `assets/three.core.min.js` (554 KB) - `assets/three.module.min.js` (468 KB) ## Install Install with `npx hyperframes add orbit-card`; by default the files above land under `compositions/orbit-card/`. Then mount the block from the host `index.html`: ```html <div data-composition-id="orbit-card" data-composition-src="compositions/orbit-card/orbit-card.html" data-start="0" data-duration="10" data-track-index="1" data-width="1920" data-height="1080" ></div> ``` Render with custom values by targeting the composition file directly: ```sh npx --yes [email protected] render 'compositions/orbit-card/orbit-card.html' --variables '{"feature1Title":"Always in sync","feature1Desc":"Changes reach every screen the moment they happen."}' ``` ## Variables Read at runtime via `window.__hyperframes.getVariables()`; declared on the composition root as `data-composition-variables` (single-quoted attribute, plain JSON). | id | type | default | label / range | | ------------------ | ------ | ------------------------------------------------------ | -------------------------------------- | | `feature1Title` | string | `"Always in sync"` | Card title max 28 chars | | `feature1Desc` | string | `"Changes reach every screen the moment they happen."` | Card description max 110 chars | | `feature1Accent` | color | `"#4cc9ff"` | Card accent | | `cardOrbitDegrees` | number | `360` | Card orbit degrees -36000–36000 step 1 | ## Runtime contract - One paused GSAP timeline registered as `window.__timelines["orbit-card"]`. - 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: GSAP. - External runtime dependencies: none (served locally). - Local fonts: assets/archivo-regular.ttf, assets/archivo-semibold.ttf. ## 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 · heygen-com/hyperframes