What problem does it solve? Porting a Remotion (React) video composition to HyperFrames by hand is error-prone: frame-based timing, spring physics, sequencing, and media handling all map differently, and some React patterns (useState, useEffect, async metadata) cannot translate at all. This Skill encodes the full API mapping, lints sources for untranslatable patterns, and validates output with SSIM-based visual diffing. ## Core Features & Use Cases - Source linting: scripts/lint_source.py scans Remotion code and classifies findings as blockers (useState, useEffect with deps, async calculateMetadata, third-party React UI libraries), warnings (@remotion/lambda, delayRender, useMemo), or info (staticFile, interpolateColors), recommending the runtime interop pattern from PR #214 when translation would be lossy. - Guided translation: references/ provide per-topic API mappings for sequencing, timing/springs/easings, media, transitions, Lottie, fonts, and parameters, converting Remotion idioms into a single paused GSAP timeline inside an HTML composition. - Measured validation: render_diff.sh computes per-frame SSIM against the Remotion baseline, frame_strip.sh produces side-by-side comparison strips, and a tiered test corpus (T1-T4) gates translations against calibrated thresholds. - Use Case: A user says "migrate my Remotion promo video to HyperFrames" — the Skill lints the source, translates sequences and springs into GSAP tweens, renders both versions, and confirms visual equivalence with an SSIM report plus a TRANSLATION_NOTES.md documenting any gaps. ## Quick Start Ask the assistant to port your existing Remotion composition to HyperFrames and point it at your Remotion source directory.