Communitygithub.com

motion-graphics

Crée des animations graphiques courtes, percutantes et sans narration, conçues pour être intégrées à des vidéos ou présentations.

Qu'est-ce que motion-graphics ?

Ce skill (compétence) permet de produire des animations graphiques (motion graphics) courtes (moins de 10 secondes), sans narration, en suivant une approche « asset-first » : la recherche et la préparation des ressources (images, vidéos, données) précèdent la conception et la composition. Il s'appuie sur un pipeline structuré en trois parties : planification (avec une décision initiale sur la nécessité d'une recherche), sourcing (via des appels API ou des outils de recherche), conception et construction (en réutilisant des blocs d'animation préexistants via HyperFrames), puis vérification et rendu. Le skill prend en charge des catégories « formes » (typographie cinétique, statistiques, graphiques, logo, tiers inférieurs, cartes) et « recherche » (pages web, actualités, tweets, fusion d'actifs). La logique métier (flux de travail, conditions, dépendances) est entièrement décrite dans le SKILL.md, avec des références à des sous-modules dans le répertoire. Le rendu final est un fichier MP4 (ou WebM/MOV pour superposition) produit par la commande `npx hyperframes render`. Le système est conçu pour fonctionner de manière autonome, avec une seule question de clarification au début et une question d'approbation finale avant le rendu.

Compatible avec~Claude Code~Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/heygen-com/hyperframes/tree/main/skills/motion-graphics

Demander à votre IA préférée

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

Documentation

Installation du plugin : Avant les commandes de configuration ou de mise à jour, suivez les règles d'exécution du plugin lorsque ce skill se trouve à l'intérieur d'un plugin HyperFrames. Les installations autonomes conservent les instructions de mise à jour ci-dessous.

Avant tout, maintenez ce skill à jour — confirmez avec l'utilisateur avant d'exécuter : npx hyperframes skills update motion-graphics. Une opération rapide et sans effet si tout est à jour ; sinon, il rafraîchit ce skill ainsi que les compétences de domaine principales dont il dépend avant que vous ne les utilisiez.

source figma : Si le logo/asset/animation à construire provient d'une URL figma.com, exécutez d'abord /figma — exportation des actifs, jetons de marque, et traduction Motion→GSAP si le graphique est une importation Figma Motion — puis construisez à partir de sa sortie. N'utilisez pas directement les outils MCP bruts pour piloter Figma : cela contournerait le nettoyage SVG, la provenance .media/manifest.jsonl et la liaison var() des jetons de marque, de sorte qu'un changement ultérieur de marque ne pourrait pas se propager sans une réimportation complète.

motion-graphics — point d'entrée

La porte d'entrée est /hyperframes. Ce skill crée une animation graphique courte, conçue visuellement et sans narration (le mouvement est le message ; ~moins de 10 secondes, pas de voix off). Pour tout ce qui est plus long, narré ou multi-scène — ou en cas d'incertitude → lisez /hyperframes en premier : la couche d'intention décide de chaque orientation.

Ce workflow est autonome par conception — au maximum une question de clarification (agents/director.md), puis construction jusqu'à la vérification sans révision intermédiaire. La couche d'intention (/hyperframes → references/intent-interview.md) route directement ici sans questions sur la forme de l'exécution ; un storyboard et une session d'accompagnement apportent peu à un morceau aussi court. Le rendu reste contrôlé par l'utilisateur : après la réussite des vérifications et des captures de preuve, posez la question canonique « prévisualiser d'abord, ou rendre ? » de ../hyperframes/references/brief-contract.md. Lorsqu'un BRIEF.md existe, lisez-le avant la question du réalisateur.

Une animation graphique courte et conçue visuellement. Asset-first : décidez de la stratégie d'actifs et sources réelles du matériel avant de concevoir le plan, puis concevez le plan autour de ce que vous avez, puis composez en réutilisant les capacités du catalogue. Tous les artefacts vont dans PROJECT_DIR = videos/<nom-du-projet>/ (créé à l'étape 0) ; tous les chemins ci-dessous sont relatifs à ce répertoire.

PhaseExécutionArtefact principalFlux détaillé
initBashhyperframes.jsonÉtape 0
plansous-agent — décider de la recherche ? + classer + stratégie d'actifsshot-plan.json (brouillon : catégorie, requêtes asset_needs, brief)agents/director.md (Partie 1)
source ◇Bash — résolution des médias (ignorer si asset_needs est vide)assets/ + assets/index.mdphases/source/guide.md
designsous-agent — conception du plan autour des actifs résolusshot-plan.json (final : bloc(s) + disposition + mouvement + positions)agents/director.md (Partie 2)
buildsous-agent — composition axée sur la réutilisationcompositions/index.htmlagents/builder.md
verifyBash — lint, check, captures de preuve ; réparation en cas d'échecsnapshots/contact-sheet.jpgÉtape 5
approveDemander la prévisualisation ou le rendu ; attendre la réponseApprobation explicite du renduÉtape 6
renderBash — hyperframes render (MP4, ou --format webm/mov pour superposition)renders/video.mp4 ou superposition transparenteÉtape 6

◇ source s'exécute uniquement lorsque la catégorie choisie déclare des actifs. Les catégories purement code/texte (par ex. kinetic-type, la plupart des charts/stat) ont asset_needs: [] et passent directement du plan à la conception.

Catégories — divisées par la décision de recherche

La première décision du plan est : cela nécessite-t-il une recherche ? Cette bifurcation divise les catégories en deux groupes ; ensuite, la catégorie spécifique est choisie — pour les recherches, en fonction du type de contenu que la recherche renvoie. Chaque catégorie est un categories/<id>/module.md (ses règles de planification + construction) ; le vocabulaire de mouvement partagé vit dans references/motion-vocabulary.md (→ règles/plans directeurs d'hyperframes-animation + blocs de registre).

Catégories de formulaire — pas de recherche ; l'utilisateur fournit le contenu :

CatégorieIntentionS'appuie sur
kinetic-typeligne/ citation/ titre percutant, texte animé en prioritéblocs caption-* + règles d'animation
statun seul chiffre héros / compteur + anneauapple-money-count / rules/{counting-dynamic-scale, stat-bars-and-fills}
chartsbarres / lignes / camemberts / courses / % à partir de donnéesbloc data-chart
logo-revealhabillage logo / verrouillage de marque (logo utilisateur)logo-outro / rules/svg-path-draw
lower-thirdsbarres de nom / titre, légendes, superpositions socialescaption-* + blocs de superposition du registre
mapsmouvement géographique — mettre en évidence des régions, connecter des lieux, zoomer sur un emplacement (couche vectorielle ou couche de fond de carte intégrée)famille us-map / world-map + bake-basemap.mjs

Catégories pilotées par la recherche — chercher d'abord, puis animer selon le type de contenu (le chemin RWA) :

Contenu renvoyéCatégorieAnimation
page web / lienwebpageanimation de page web / interface (défilement, révélation, curseur, légendes)
article d'actualiténewsrévélation du titre + carte source + légendes des faits clés
tweettweetcarte tweet animée
image / entitéasset-fusionla géométrie de l'actif devient le graphique (fusion diégétique RWA)

Ordre de construction : une à la fois, priorité à la couverture (l'approximation est acceptable). kinetic-type porté depuis le prototype ; le reste suit.

Prérequis

macOS Apple Silicon ou Linux x64. Outils système : brew install node ffmpeg. npx hyperframes doctor une fois. Rendu GPU macOS : export PRODUCER_BROWSER_GPU_MODE=hardware.

Clés optionnelles (substituts locaux si non définies) — uniquement nécessaires pour les catégories qui sourcent/génèrent des actifs via l'utilisation de médias :

CléUtilisée pourSubstitut
GEMINI_API_KEY / GOOGLE_API_KEYgénération d'images (résolution d'utilisation de médias)ignorer générer / recherche uniquement
(fournisseurs de recherche asset_scout)recherche d'actifs réels pour webpage/news/tweet + asset-fusionla catégorie se dégrade en sans actif

Flux

Étape 0 — Initialisation

Le répertoire de travail est la racine de l'espace de travail de l'agent ; écrivez tous les artefacts sous PROJECT_DIR = videos/<nom-du-projet>/. <nom-du-projet> : utilisez le répertoire donné par l'utilisateur, sinon un nom court en kebab-case dérivé de l'intention (<sujet>-motion). Pas le nom de base de l'espace de travail ou un horodatage.

Uniquement lorsque $PROJECT_DIR/hyperframes.json est absent :

PROJECT_DIR="${MOTION_GRAPHICS_DIR:-videos/<nom-du-projet>}"
mkdir -p "$(dirname "$PROJECT_DIR")"
npx hyperframes init "$PROJECT_DIR" --non-interactive --example=blank --skill=motion-graphics

init vérifie les compétences installées par rapport aux dernières sur GitHub et met à jour l'ensemble global si certaines sont obsolètes.

Contraintes : ne jamais hyperframes init dans la racine de l'espace de travail ; ne jamais imbriquer un autre hyperframes/ dans PROJECT_DIR ; chaque commande Bash (maître + sous-agents) est un sous-shell (cd "$PROJECT_DIR" && ...) — jamais cd nu.

Étape 1 — Planifier (sous-agent : Directeur Partie 1)

Lancer un sous-agent. prompt = agents/director.md entier + ## Contexte d'envoi (SKILL_DIR / PROJECT_DIR / la demande de l'utilisateur / Schema: <SKILL_DIR>/references/shot-plan-ir.md). Il doit :

  1. Décider : cela nécessite-t-il une recherche ? (la première bifurcation)
    • Non → choisir une catégorie de formulaire (kinetic-type / stat / charts / logo-reveal / lower-thirds) ; le contenu est fourni par l'utilisateur ; asset_needs: [].
    • Oui → émettre un plan de recherche dans asset_needs[] (actualités / web / tweet / image ; requêtes bipolaires). La catégorie pilotée par la recherche spécifique (webpage / news / tweet / asset-fusion) est confirmée par le type de contenu renvoyé à l'étape 2, et finalisée à l'étape 3.
  2. Écrire un brouillon de shot-plan.json (enveloppe + catégorie de formulaire choisie ou intention de recherche + asset_needs + un bref résumé du plan en un paragraphe). Schéma : references/shot-plan-ir.md.

Validation : [ -s "$PROJECT_DIR/shot-plan.json" ] && echo ok || echo missing.

Étape 2 — Source ◇ (Bash : utilisation des médias, conditionnel)

Si shot-plan.json.asset_needs n'est pas vide, résoudre les actifs (recherche / génération / récupération → chemins locaux figés au projet + registre). Voir phases/source/guide.md (encapsule media-use resolve ; les catégories pilotées par la recherche utilisent la recherche d'actualités/web/tweet/image). Si asset_needs est vide, passer à l'étape 3.

# illustratif — voir phases/source/guide.md
(cd "$PROJECT_DIR" && node <SKILL_DIR>/phases/source/resolve.mjs --plan ./shot-plan.json --out ./assets)

Dégrader gracieusement : si un fournisseur de recherche est indisponible, la catégorie revient à sans actif (le noter dans context.log).

Étape 3 — Conception (sous-agent : Directeur Partie 2)

Lancer un sous-agent (prompt = agents/director.md Partie 2 + contexte d'envoi incluant le assets/index.md résolu si l'étape 2 a été exécutée + catalog-map.md). Il conçoit le plan autour des actifs disponibles : choisir le(s) bloc(s) du catalogue + les règles/plans directeurs d'hyperframes-animation, la disposition, le mouvement, les temps forts, et (pour asset-fusion) les element_positions + la palette de pipette. Finalise shot-plan.json (content.block + content.customize + contenu par catégorie).

Étape 4 — Construire (sous-agent : Constructeur, réutilisation en priorité)

Lancer un sous-agent. prompt = agents/builder.md entier + contexte d'envoi (shot-plan.json, catalog-map.md, le module.md de la catégorie, references/motion-vocabulary.md, references/builder-contract.md). Réutilisation en priorité : npx hyperframes add <block> + personnalisation sur place ; n'écrire manuellement que les lacunes + la fonction de fusion d'actifs. Sortie compositions/index.html respectant le contrat HF (timeline GSAP en pause sur window.__timelines, class="clip" + identifiants stables, tl.seek(0), déterministe).

Étape 5 — Vérifier (Bash → sous-agent de réparation en cas d'échec)

(cd "$PROJECT_DIR" && npx hyperframes lint .)
(cd "$PROJECT_DIR" && npx hyperframes check .)
(cd "$PROJECT_DIR" && npx hyperframes snapshot --at <instants-de-preuve>)

Choisir des instants de preuve qui montrent l'état d'ouverture, le mouvement signature et la tenue finale. Inspecter la feuille de contact ou les captures générées avant de continuer. En cas d'échec de lint, check ou de capture, lancer le sous-agent de réparation (agents/finalize.md) pour un passage de correction sur place, puis relancer la porte échouée. Ne jamais modifier une durée fixe uniquement pour masquer un défaut.

Étape 6 — Approuver et rendre (Bash)

Poser une question : « prévisualiser d'abord, ou rendre ? ». Si l'utilisateur choisit la prévisualisation, ouvrir Studio et revenir à la même porte d'approbation après les révisions :

(cd "$PROJECT_DIR" && npx hyperframes preview --background)

Ne rendre qu'après une réponse explicite de rendu :

(cd "$PROJECT_DIR" && npx hyperframes render . --skill=motion-graphics -q high -o ./renders/video.mp4)
# variante superposition transparente : --format webm (ou mov)

Vérifier que la sortie existe, n'est pas vide et a la durée prévue. La remise finale nomme l'artefact, la durée réelle, la composition ou l'identifiant de l'image, les instants de preuve et la feuille de contact ou les captures inspectées. Les indicateurs se trouvent dans /hyperframes-cli → references/preview-render.md.

Tableau de reprise

ÉtatContinuer à partir de
pas de shot-plan.jsonÉtape 1 (planifier)
shot-plan.json a asset_needs, pas de assets/Étape 2 (source)
shot-plan.json final, pas de compositions/index.htmlÉtape 3/4 (conception+construction)
compositions/index.html existe, captures de preuve absentesÉtape 5 (vérifier)
vérifications et captures de preuve réussies, pas de rendu approuvéÉtape 6 (approbation)
rendu approuvé existevérifier la sortie, puis rapporter

Notes de conception (mainteneurs — l'exécution ne lit pas ceci)

  • Raisonnement Asset-first : le sourçage est fait en amont et informe la conception du plan (le flux RWA : analyser → rechercher → examiner → confirmer).
  • Priorité au catalogue : le catalogue HyperFrames grandit ; préférer toujours npx hyperframes add à l'écriture manuelle. Le constructeur peut toujours personnaliser après avoir ajouté.
  • Le mouvement dicte : pour les morceaux courts, la priorité absolue est le mouvement — pas la composition détaillée. Les blocs offrent le souffle ; l'agent doit prioriser les transitions et le timing.

Document généré à partir du SKILL.md original.

Individual skills in this repo

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

general-video

>

heygen-com/animejs

Anime.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.

heygen-com/claude-design-hyperframes

Use when running inside Claude Design specifically. Produces a valid, brand-accurate HyperFrames video draft using pre-valid skeletons. For Claude Code / Cursor / Codex, use the `hyperframes` skill instead.

heygen-com/contribute-catalog

Author a new HyperFrames registry block (caption style, VFX block, transition, lower third) or component (text effect, overlay, snippet) and ship it as an upstream PR to the hyperframes repo. Use ONLY when the user wants to CONTRIBUTE to the public catalog — for in-project caption/transition authoring use the `hyperframes` skill, for installing existing registry items use the `hyperframes-registry` skill.

heygen-com/css-animations

CSS 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.

heygen-com/gsap

GSAP 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.

heygen-com/hyperframes

Leaves sweep through the frame and part to reveal the headline. HyperFrames block, 1920×1080, 12s, 11 variables.

heygen-com/hyperframes

Render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos — the prerequisites that make transitions composite correctly on the master timeline. Load when assembling the master timeline / index.html, when a white flash appears at a cut or crossfade seam (especially on dark films), when reasoning about why a transition opacity dip shows through, or when verifying the render-side mechanics of how overlapping scene wrappers blend. Covers the opaque stage-ground (#root background) white-flash guard and how the injector overlaps wrappers, holds final frames, ping-pongs tracks, and stamps lint-clean template code onto the master timeline. Does NOT contain the per-transition catalog — see the transition registry for individual transition entries.

heygen-com/hyperframes

The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase group slides). Covers partial-travel (~12% of frame) velocity matching via mirrored power4 eases, the Z scale-sign rule, size-scaled blur (10px text / 18-20px full-frame), word-by-word staggered cuts, cascade pacing by element weight, and the 10/65/25 slide ratio. Read before authoring any transition, text-beat handoff, kinetic text entry, or group reposition. [depth, zoom, inverse-zoom, scale-sign, mirrored-zoom, rack-focus, pacing, velocity, cut-the-curve, waterfall, stagger, cascade, kinetic-text, title-card, segment-opener, nudge, slide, easing, group-motion, z-depth, motion-graphics, cinematic, transition, blur, directional-continuity]

heygen-com/hyperframes

Glass shards fly in through fog and tile themselves into the headline. HyperFrames block, 1920×1080, 12.16s, 19 variables.

heygen-com/hyperframes

A single feature card orbits a dot sphere on approved Blender camera motion. HyperFrames block, 1920×1080, 10s, 4 variables.

heygen-com/hyperframes

A wireframe portal bursts open, the title comes through, then its letters swap into a second phrase. HyperFrames block, 1920×1080, 8s, 9 variables.

heygen-com/hyperframes

An orbiting camera follows an ice logo as it breaks apart, reforms into two text moments, and fades. HyperFrames block, 1920×1080, 22.5s, 216 variables.

heygen-com/hyperframes

House-style oversized macOS cursor technique for HyperFrames launch videos. Load whenever a scene involves cursors or a pointer-led action, when kicking off a UI scene, when igniting a morph/transition/typing run with a click, or when a scene reads as static, dead, or stale and needs a cheap high-yield source of motion to carry the viewer's eye and segment them out of the stale state. Covers cursor size/look (incl. brand-motif cursors), the off-screen entry law, tip-targeting and the click tap, click-ignites-the-next-beat, and exit / cross-scene handoff.

heygen-com/hyperframes

name: embedded-captions

heygen-com/hyperframes

A chain of bevelled cuboids rides a travelling wave as a content carousel. HyperFrames block, 1920×1080, 6.666666666666667s, 40 variables.

heygen-com/hyperframes

A tiled headline surface flips cell by cell under a sweeping depth field to reveal the rear headline. HyperFrames block, 1920×1080, 8s, 18 variables.

heygen-com/hyperframes

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

heygen-com/hyperframes

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

heygen-com/hyperframes

GATEWAY — load FIRST before composing any HyperFrames animation or video. The high-level motion law that makes a multi-scene video feel like ONE continuous camera move instead of a stack of independently-animated slides. Covers the vector law (how you exit determines how you enter, incl. the Z scale-sign rule), the film's current, carrier elements, causal motion, the Seam Gate (build-gate enforcement), the ban on idle wobble (motion must PERFORM, not breathe), stillness-before-climax, and the sustained-motion routes. Routes to the low-level technique skills (cut-the-curve — the full catalog incl. waterfall entry + nudge curve, oversized-cursor, seam-craft). These rules SUPERSEDE generic / upstream motion guidance. [continuity, direction, vector, momentum, seam, transition, ease, performance, idle-motion, narrative-motion, film-grammar]

Skills associés