website-to-hyperframes
$
npx mdskill add heygen-com/hyperframes/website-to-hyperframesTransforms any website URL into a professional HyperFrames video
- Creates social ads, product tours, and promo videos from site content
- Uses a 7-step workflow with artifacts to gate each processing stage
- Analyzes site colors, fonts, and assets to match video style
- Delivers a final video artifact ready for social media distribution
SKILL.md
.github/skills/website-to-hyperframesView on GitHub ↗
--- name: website-to-hyperframes description: | Capture a website and create a HyperFrames video from it. Use when: (1) a user provides a URL and wants a video, (2) someone says "capture this site", "turn this into a video", "make a promo from my site", (3) the user wants a social ad, product tour, or any video based on an existing website, (4) the user shares a link and asks for any kind of video content. Even if the user just pastes a URL — this is the skill to use. --- # Website to HyperFrames Capture a website, then produce a professional video from it. Users say things like: - "Capture https://... and make me a 25-second product launch video" - "Turn this website into a 15-second social ad for Instagram" - "Create a 30-second product tour from https://..." The workflow has 7 steps. Each produces an artifact that gates the next. --- ## Step 1: Capture & Understand **Read:** [references/step-1-capture.md](references/step-1-capture.md) Run the capture, read the extracted data, and build a working summary using the write-down-and-forget method. **Gate:** Print your site summary (name, top colors, fonts, key assets, one-sentence vibe). --- ## Step 2: Write DESIGN.md **Read:** [references/step-2-design.md](references/step-2-design.md) Write a simple brand reference for the captured website. 6 sections, ~90 lines. This is a cheat sheet, not the creative plan — that comes in Step 4. **Gate:** `DESIGN.md` exists in the project directory. --- ## Step 3: Write SCRIPT **Read:** [references/step-3-script.md](references/step-3-script.md) Write the narration script. The story backbone. Scene durations come from the narration, not from guessing. **Gate:** `SCRIPT.md` exists in the project directory. --- ## Step 4: Write STORYBOARD **Read:** [references/step-4-storyboard.md](references/step-4-storyboard.md) Write per-beat creative direction: mood, camera, animations, transitions, assets, depth layers, SFX. This is the creative north star — the document the engineer follows to build each composition. **Gate:** `STORYBOARD.md` exists with beat-by-beat direction and an asset audit table. --- ## Step 5: Generate VO + Map Timing **Read:** [references/step-5-vo.md](references/step-5-vo.md) Generate TTS audio, transcribe for word-level timestamps, and map timestamps to beats. Update STORYBOARD.md with real durations. **Gate:** `narration.wav` (or .mp3) + `transcript.json` exist. Beat timings in STORYBOARD.md updated. --- ## Step 6: Build Compositions **Read:** The `hyperframes` skill (load it — every rule matters) **Read:** [references/step-6-build.md](references/step-6-build.md) Build each composition following the storyboard. After each one: self-review for layout, asset placement, and animation quality. **Gate:** Every composition has been self-reviewed. No overlapping elements, no misplaced assets, no static images without motion. --- ## Step 7: Validate & Deliver **Read:** [references/step-7-validate.md](references/step-7-validate.md) Lint, validate, snapshot, preview. Deliver the localhost Studio project URL (`http://localhost:<port>/#project/<project-name>`) to the user first — only render to MP4 on explicit request. Do not treat `index.html` as the project handoff link; it is source-code context only. **Gate:** `npx hyperframes lint` and `npx hyperframes validate` pass with zero errors, and the final response includes the active Studio project URL. --- ## Quick Reference ### Video Types | Type | Duration | Beats | Narration | | --------------------- | -------- | ----- | ---------------------- | | Social ad (IG/TikTok) | 10-15s | 3-4 | Optional hook sentence | | Product demo | 30-60s | 5-8 | Full narration | | Feature announcement | 15-30s | 3-5 | Full narration | | Brand reel | 20-45s | 4-6 | Optional, music focus | | Launch teaser | 10-20s | 2-4 | Minimal, high energy | ### Format - **Landscape**: 1920x1080 (default) - **Portrait**: 1080x1920 (Instagram Stories, TikTok) - **Square**: 1080x1080 (Instagram feed) ### Reference Files | File | When to read | | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | [step-1-capture.md](references/step-1-capture.md) | Step 1 — reading captured data | | [step-2-design.md](references/step-2-design.md) | Step 2 — writing DESIGN.md | | [step-3-script.md](references/step-3-script.md) | Step 3 — writing the narration script | | [step-4-storyboard.md](references/step-4-storyboard.md) | Step 4 — per-beat creative direction | | [step-5-vo.md](references/step-5-vo.md) | Step 5 — TTS, transcription, timing | | [step-6-build.md](references/step-6-build.md) | Step 6 — building compositions with self-review | | [step-7-validate.md](references/step-7-validate.md) | Step 7 — lint, validate, snapshot, preview | | [techniques.md](../hyperframes/references/techniques.md) | Steps 4 & 6 — 11 visual techniques with code patterns (SVG drawing, Canvas 2D, 3D, typography, Lottie, video, typing, variable fonts, MotionPath, transitions, audio-reactive) |
More from heygen-com/hyperframes
- animejsAnime.js adapter patterns for HyperFrames. Use when writing Anime.js animations or timelines inside HyperFrames compositions, registering animations on window.__hfAnime, making Anime.js seek-driven and deterministic, or translating Anime.js examples into render-safe HyperFrames HTML.
- css-animationsCSS animation adapter patterns for HyperFrames. Use when authoring CSS keyframes, animation-delay based timing, animation-fill-mode, animation-play-state, or CSS-only motion that HyperFrames must seek deterministically during preview and rendering.
- gsapGSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.
- hyperframes-cliHyperFrames CLI dev loop — `npx hyperframes` for scaffolding (init), validation (lint, inspect), preview, render, and environment troubleshooting (doctor, browser, info, upgrade). Use when running any of these commands or troubleshooting the HyperFrames build/render environment. For asset preprocessing commands (`tts`, `transcribe`, `remove-background`), invoke the `hyperframes-media` skill instead.
- hyperframes-mediaAsset preprocessing for HyperFrames compositions — text-to-speech narration (Kokoro), audio/video transcription (Whisper), and background removal for transparent overlays (u2net). Use when generating voiceover from text, transcribing speech for captions, removing the background from a video or image to use as a transparent overlay, choosing a TTS voice or whisper model, or chaining these (TTS → transcribe → captions). Each command downloads its own model on first run.
- hyperframes-registryInstall and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, and registry discovery.
- lottieLottie and dotLottie adapter patterns for HyperFrames. Use when embedding lottie-web JSON animations, .lottie files, @lottiefiles/dotlottie-web players, registering instances on window.__hfLottie, or making After Effects exports deterministic in HyperFrames.
- remotion-to-hyperframesTranslate an existing Remotion (React-based) video composition into a HyperFrames HTML composition. Use ONLY when the user explicitly asks to port, convert, migrate, translate, or rewrite a Remotion composition as HyperFrames — for example "port my Remotion project to HyperFrames", "convert this Remotion code to HyperFrames", "migrate from Remotion", "translate this Remotion comp", or "rewrite this as HyperFrames HTML". Do NOT use when (a) the user is authoring a NEW HyperFrames composition, even if they have or are A/B-testing a similar Remotion video; (b) the user mentions Remotion in passing without asking for migration; (c) the user shares Remotion code as reference material rather than asking for a translation; (d) the user asks for "the same video as my Remotion one" without explicitly asking to migrate the source — treat that as a fresh HyperFrames build. When in doubt, default to authoring a native HyperFrames composition with the `hyperframes` skill instead. Skill detects unsupported patterns (useState, useEffect with side effects, async calculateMetadata, third-party React component libraries, `@remotion/lambda` features) and recommends the runtime interop escape hatch instead of attempting a lossy translation.
- tailwindTailwind CSS v4.2 browser-runtime patterns for HyperFrames compositions. Use when scaffolding or editing projects created with `hyperframes init --tailwind`, writing Tailwind utility classes in composition HTML, adding CSS-first Tailwind v4 theme tokens, debugging v3 vs v4 syntax, or deciding when to compile Tailwind to CSS instead of using the browser runtime.
- threeThree.js and WebGL adapter patterns for HyperFrames. Use when creating deterministic Three.js scenes, WebGL canvas layers, AnimationMixer timelines, camera motion, shader-driven visuals, or canvas renders that respond to HyperFrames hf-seek events.