Communitygithub.com

Andersonlimahw/lemon-ai-hub

Build and render a deterministic video composition — HyperFrames (HTML + GSAP) by default, or a custom seek(t) + Playwright + FFmpeg pipeline. Covers project setup, composition contract, timeline rules, creative direction for frames, lint/check/snapshot, preview, and local render. Use when implementing an approved storyboard as code.

Qu'est-ce que lemon-ai-hub ?

lemon-ai-hub is a Claude Code agent skill that build and render a deterministic video composition — HyperFrames (HTML + GSAP) by default, or a custom seek(t) + Playwright + FFmpeg pipeline. Covers project setup, composition contract, timeline rules, creative direction for frames, lint/check/snapshot, preview, and local render. Use when implementing an approved storyboard as code.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Andersonlimahw/lemon-ai-hub/tree/HEAD/plugins/motion-movie-expert/skills/hyperframes-production

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

HyperFrames Production

Implements an approved storyboard. If there is no storyboard, stop and run motion-storyboard.

Choose the renderer

SituationRenderer
Default for new work; HTML/CSS/GSAP skills; registry blocks wantedHyperFrames (npx hyperframes …)
The project already uses Remotionstay on Remotion; the same determinism rules apply
A product repo already has its own studio (seek(t) + Playwright + FFmpeg)use that studio; do not introduce a second one
Pure edit of existing footageskip this skill → video-edit-qc

Installing the HyperFrames CLI or adding registry blocks (npx hyperframes add …) installs third-party code: confirm with the user first and pin the version in package.json. Do not run self-update commands for skills (npx hyperframes skills update, npx skills add …) on your own.

Composition contract (HyperFrames)

  • Standalone root: <div data-composition-id="main" data-width="1920" data-height="1080" data-duration="24"> directly in <body>, sized width/height: 100% — never hardcode pixel size on the root. Sub-compositions (loaded via data-composition-src) wrap their root in <template> and keep their <style>/<script> inside it.
  • One paused timeline per composition: window.__timelines["<composition-id>"] = gsap.timeline({ paused: true }), registered after the build finishes (it may be built inside document.fonts.ready). Render length comes from the root data-duration.
  • Timed clips: elements with class="clip" and data-start/data-duration are shown and hidden by the runtime. Never tween display, visibility, or autoAlpha on a .clip; animate a child.
  • Transforms: never pair a CSS initial transform with a GSAP tween on the same property; use gsap.fromTo. Center with flex/inset, not translate(-50%,-50%) on a node you also move.
  • Media: every <audio> has an id (otherwise the render is silent); no crossorigin on media; do not put data-start on both a <video> and an ancestor.
  • Fonts: every named font-family has an in-file @font-face pointing to a shipped local file.
  • Determinism: no wall-clock reads, unseeded Math.random, network fetches at render time, input state, or infinite repeats (repeat: -1). Use a seeded PRNG when randomness is needed.
  • Ids: unique across the assembled page; prefix sub-composition ids with the composition id.

Build order

  1. npx hyperframes init (after confirmation) or open the existing project.
  2. Write a design spec (frame.md / design.md): tokens, type scale, grid, safe areas, per aspect ratio. Resting frames first — each beat must work as a still.
  3. Build scene by scene in storyboard order; implement seams from the transition map (motion-choreography), carriers first.
  4. Place audio from voice-video-sync: music bed, VO, SFX with ids and start times from the timeline file — never hand-typed guesses.
  5. Keep text crisp: move containers, not glyphs; no will-change on text.

Validate

Run in this order and fix before moving on:

npx hyperframes lint          # contract errors; a lint error disables the layout/contrast audits
npx hyperframes check         # layout, overflow, contrast
npx hyperframes snapshot      # stills for review; compare against storyboard beats
npx hyperframes preview       # local preview for the user

Then render locally: npx hyperframes render --quality <draft|high>. Draft first (≤30 s window or low quality) for the user's approval, then the final.

Outward-facing commands — publish, cloud, lambda, cloudrun, feedback, auth, and telemetry settings — upload data or change accounts. Run them only when the user asks.

Custom seek(t) pipeline (when not using HyperFrames)

composition(t) → Playwright page.evaluate(seek, t) → wait fonts/images → screenshot
→ N subframes per output frame → ffmpeg tmix (motion blur) → x264/x265 → mux audio
  • 60 fps × 4 subframes, shutter 0.5, is a good default; drop blur on frames where numbers change if it hurts legibility.
  • Master encode (archive and re-edit source): -c:v libx264 -pix_fmt yuv420p -crf 16 -preset slow, AAC 320 kbps. Platform delivery encodes are derived from it in video-edit-qc.
  • The same timestamp rendered twice must produce identical pixels; test it on 3 random frames.

Hand-off

Deliver the render plus the stills/contact sheet to video-edit-qc. When HyperFrames skills are installed (hyperframes-core, hyperframes-animation, hyperframes-creative, hyperframes-cli), use them for exact flags, adapters (Lottie, Three.js, …), and registry block names.

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

Andersonlimahw/lemon-ai-hub

Create and edit motion videos end to end — product motion films, motion graphics, narrated explainers, captioned clips, UI animation recreations, and recuts. Orchestrates brief, storyboard, choreography, build (HyperFrames or any deterministic renderer), voice/caption sync, and render QC. Use when the user asks to make, animate, storyboard, narrate, caption, edit, or render a video or motion piece; skip for static images and web UI work with no video deliverable.

Andersonlimahw/lemon-ai-hub

Motion law for multi-scene videos — seam continuity (axis, direction, speed, phase), carriers, causal motion, springs and timing, camera, transitions, stillness, and loop design. Use when planning or fixing how scenes connect and move, before and during any animation build.

Andersonlimahw/lemon-ai-hub

Short design-led motion graphics where motion is the message — kinetic typography, stat count-up, chart/data-viz reveal, logo sting, lower third or callout, animated map, tweet/news/headline card, webpage or UI walkthrough, and image-plus-data fusion. Usually under 10 s, up to about 30 s, no narration; renders to MP4 or a transparent overlay. Use when the user wants a short motion graphic, animated stat/chart/logo/map/card, or overlay; when the upstream HyperFrames `motion-graphics` skill is installed, use it for exact CLI flags and registry blocks.

Andersonlimahw/lemon-ai-hub

Turn a video idea, product, or script into an approved master prompt and pre-implementation storyboard — intake, concept, 8–12 state sequence, beat grid, transition map, camera plan, audio cue plan, and render architecture. Use before building any new video, or when a video brief is vague.

Andersonlimahw/lemon-ai-hub

Motion tokens, spring presets, and React/Next.js (motion/react) interaction patterns for product UI that appears in a video — rebuilding real product screens faithfully, animating them as seekable scenes, and keeping the live product's motion consistent with the film. Use when a motion video shows or recreates product UI; for web UI work with no video deliverable use design-expert instead.

Andersonlimahw/lemon-ai-hub

Edit existing video and verify any render before delivery — recut, trim, reframe to other aspect ratios, burn in or attach captions, swap or remix audio, loop, and export; plus the QC gates (probe, contact sheet, stills per beat, loudness, loop seam, legibility, facts, PII). Use for editing footage or for the final check of any motion video.

Andersonlimahw/lemon-ai-hub

Synchronize narration, captions, music, and SFX with picture — narration writing, script lock, TTS or recorded voiceover, word-level timestamps, caption blocks, shot windows derived from the voice track, dwell budgets, ducking, and loudness targets. Use for narrated explainers, voiceover changes, subtitles, or any video where timing must follow audio.

Andersonlimahw/lemon-ai-hub

Agent skill at plugins/video/SKILL.md

Skills associés