What problem does it solve? Porting a Remotion (React) video composition to HyperFrames by hand is error-prone: frame-based timing, springs, sequences, and media props all need mechanical but precise conversion, and some React patterns silently break HyperFrames' seek-driven render model. This Skill encodes the full API mapping, lints the source for untranslatable patterns, and validates the result with SSIM-based visual diffing. ## Core Features & Use Cases - Source linting: scripts/lint_source.py scans Remotion code for blockers (useState, useEffect with deps, async calculateMetadata, third-party React UI libraries) and warnings (@remotion/lambda, delayRender, useMemo), recommending the runtime interop pattern from PR #214 when translation would be lossy. - Guided translation: Per-topic references map Remotion APIs to HyperFrames equivalents — Sequence/Series to data-start/data-duration divs, interpolate/spring to GSAP tweens, Audio/Video/Img to HTML media elements, Lottie and Google Fonts to their HF adapters. - Measured validation: render_diff.sh computes per-frame SSIM between the Remotion baseline and the HF render against tier-calibrated thresholds, and frame_strip.sh produces side-by-side frame strips for debugging failures. - Use Case: Given an existing Remotion project with a multi-scene composition using springs and audio, lint it, translate it to an index.html with a paused GSAP timeline, render both versions, and confirm the translation passes the SSIM threshold. ## Quick Start Ask the agent to port your Remotion composition to HyperFrames, for example: "Convert this Remotion comp in ./remotion-src to HyperFrames HTML and validate the output."