Communitygithub.com

hyperframes

HyperFrames génère des vidéos à partir de HTML — des compositions HTML avec des attributs `data-*` pour le timing, une animation seekable et une lecture multimédia gérée par le framework.

Qu'est-ce que hyperframes ?

HyperFrames est un framework de composition vidéo qui utilise HTML comme langage d’autorat, permettant aux développeurs de créer des vidéos complexes avec un contrôle précis du timing, du mouvement et des médias. Il transforme des fichiers HTML enrichis d'attributs `data-*` en vidéos seekables, où le framework gère la lecture audio/vidéo et l'animation, sans dépendre d'outils de montage traditionnels. HyperFrames prend en charge l'import de projets Remotion existants, l'intégration de maquettes Figma, et propose des workflows spécialisés pour les présentations, les vidéos musicales beat-synchronisées, les explications de code via PR, et bien plus encore. Le framework fonctionne via une CLI (`npx hyperframes`) qui orchestre l'installation des compétences, les mises à jour, les vérifications et les rendus, le tout avec un système de routage intelligent basé sur un `BRIEF.md` généré automatiquement après une session d'entretien des besoins.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jasonfast123/hyperframes-skills/tree/main/skills/hyperframes

Demander à votre IA préférée

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

Documentation

Point d'entrée HyperFrames

HyperFrames génère des vidéos à partir de HTML — une composition est un fichier HTML dont le DOM déclare le timing à l'aide d'attributs data-*, dont le runtime d'animation est seekable et dont la lecture multimédia est gérée par le framework. Le contrat complet d'autorat se trouve dans /hyperframes-core ; lisez-le avant d'écrire le HTML de la composition.

1. Commencer à partir de l'état du projet

Appliquez la première ligne correspondante ; n'évaluez pas les lignes d'état inférieures :

ÉtatAction
Port explicite d'une source Remotion existante vers HyperFramesLisez references/routes/remotion-to-hyperframes.md, puis acheminez directement vers ce workflow. Ignorez la couche d'intention.
Opération spécifique sur un projet HyperFrames existant : inspecter, diagnostiquer, valider, prévisualiser, rendre, publier ou effectuer un rendu par lotEffectuez uniquement cette opération. Ignorez l'intention et le routage du workflow ; chargez /hyperframes-cli et les compétences de domaine nécessaires.
Modification spécifique d'un projet existantEffectuez la modification. N'exécutez pas la couche d'intention.
BRIEF.md existeLisez workflow et flow. Exécutez ce workflow ; flow: companion s'exécute toujours dans /general-video. Ne posez pas de questions de brief.
Pas de brief, mais hyperframes.json ou STORYBOARD.md existeReprenez à partir des fichiers du projet et des préférences enregistrées. Déduisez le workflow propriétaire des artefacts existants. S'il ne peut pas être déterminé de manière unique, posez une seule question de routage ; n'exécutez pas l'entretien d'intention.
Nouvelle créationExécutez la couche d'intention — references/intent-interview.md — puis acheminez une fois en utilisant le tableau de la § 2.

Si une nouvelle demande n'identifie pas le sujet ou l'entrée, demandez de quoi parle la vidéo avant d'acheminer. Vérifiez les préférences et les recettes avant de demander quoi que ce soit (references/intent-interview.md, étape 1). Une entrée figma.com ou une recette nommée modifie l'entrée, pas le routage — la section "Adapter les entrées orthogonales" de l'entretien gère les deux.

Maintenir la CLI du projet à jour

Un projet initialisé verrouille hyperframes@<version> dans ses scripts package.json pour que les rendus restent reproductibles ; le verrouillage n'évolue jamais tout seul, et une exécution verrouillée d'une CLI plus ancienne n'affiche aucun avertissement à ce sujet. Lors de la reprise d'un projet dont les scripts portent un verrouillage, sondez une fois avant la première commande affectant le rendu :

npx hyperframes@latest upgrade --project . --check

La sonde est en lecture seule et signale le verrouillage par rapport à la dernière version ; gardez le . explicite — sur les anciennes versions de la CLI, un --project nu suivi d'un autre indicateur consomme cet indicateur comme valeur de répertoire. Lorsqu'il signale que le projet est en retard — ou que toute sortie de la CLI l'indique déjà (l'avis stderr This project pins hyperframes@… (latest …), ou _meta.updateAvailable: true dans un résultat --json d'un script verrouillé) — appliquez avec npx hyperframes@latest upgrade --project ., puis vérifiez avec npx hyperframes check. Une vérification réussie confirme que les compositions du projet sont toujours valides sur la nouvelle version — pas que la sortie rendue est identique image par image à l'ancien verrouillage — donc une mise à jour réussie n'est jamais silencieuse : nommez l'ancienne et la nouvelle version dans le récapitulatif de l'exécution. Un projet sans composition n'a pas besoin de vérification. Si la vérification échoue, annulez la modification du package.json, continuez avec la version verrouillée et signalez la version sur laquelle le projet reste et pourquoi. Agissez sur le signal plutôt que de le relayer à l'utilisateur ; ne laissez jamais un verrouillage mis à jour sans vérification.

2. Acheminer une nouvelle création

Utilisez la première ligne correspondante. Faites correspondre le livrable demandé, pas un mot ou un type de fichier mentionné en passant.

PrioritéDemandeWorkflow
1Porter explicitement une source Remotion existante/remotion-to-hyperframes
2Créer une présentation, un pitch deck ou un deck interactif navigable/slideshow
3Ajouter des légendes ou sous-titres simples à des séquences d'interview existantes sans les modifier/embedded-captions
4Ajouter des superpositions graphiques conçues à des séquences d'interview, d'entrevue ou de podcast existantes sans modifier les séquences/talking-head-recut
5Construire une vidéo synchronisée sur le rythme à partir d'une piste musicale, sans narration ni capture de site Web/music-to-video
6Créer une unité explicitement courte, sans narration, axée sur le mouvement, généralement de moins de 10 s/motion-graphics
7Expliquer une pull request GitHub ou une modification de code à partir d'une référence PR/pr-to-video
8Commercialiser ou présenter un site Web, un site produit, une application ou une entreprise à partir d'une URL ou d'un brief spécifique au site/product-launch-video
9Expliquer un sujet, un article ou des notes avec des visuels inventés et aucune capture de produit ou de site/faceless-explainer
10Toute autre vidéo ou composition personnalisée/general-video

Avant de finaliser le routage, lisez references/routes/<workflow>.md — un petit fichier par route : le contrat canonique entrée/sortie/déclencheur (disponible avant que les compétences de workflow installées paresseusement ne soient présentes) plus l'entrée d'entretien de cette route. Si le candidat ne satisfait pas son contrat, continuez le routage au lieu de forcer la correspondance. Lisez uniquement le fichier de la route correspondante.

Résoudre les ambiguïtés courantes

  • Un titre animé court, un logo sting, un hit de statistique, un hit de graphique, un hit de carte ou un tiers inférieur autonome est /motion-graphics lorsqu'il n'est pas narré et que le mouvement est le message. Un titre statique, une séquence narrée, un montage plus long ou une boucle personnalisée est /general-video.
  • Un motion graphic explicitement court peut utiliser une URL, un tweet, un article ou une capture d'écran comme matériel source. Une demande générique "faire une vidéo à partir de ce site" est /product-launch-video.
  • Les séquences existantes avec légendes sont acheminées vers /embedded-captions ; les séquences avec des cartes d'information conçues sont acheminées vers /talking-head-recut. Le ré-étalonnage, le réordonnancement, le recoloriage, le recadrage ou le remixage des séquences est une édition personnalisée et tombe dans /general-video.
  • Un fichier musical sélectionne /music-to-video uniquement lorsque sa grille de rythme entraîne la pièce. La musique utilisée en fond sonore ne remplace pas la route correspondant au sujet.
  • "Je veux un storyboard" modifie le processus de révision, pas le workflow. Sans autre signal de routage, utilisez /general-video. Un storyboard esquissé confirmé peut lui-même être le livrable demandé ; la boucle de révision définit ce point d'arrêt.
  • Les workflows narratifs spécialisés prennent en charge jusqu'à environ 3 minutes et sont les plus forts autour de 30 à 90 s. Acheminez une pièce clairement plus longue vers /general-video. La longueur ne remplace jamais un port explicite, un deck, une légende, une superposition ou un livrable piloté par la musique.

3. Acheminer une fois, puis laisser

Pour une nouvelle création, la couche d'intention (references/intent-interview.md) exécute la conversation complète — mémoire, triage, tour de pitch, incontournables, forme d'exécution, transfert — et se termine en écrivant BRIEF.md. Le brief est le seul artefact de routage que le workflow lit ; rien plus tard ne rouvre cette compétence ou l'entretien. Répondez à chaque question ultérieure "que demandait la route ?" à partir de BRIEF.md.

4. Installer et entrer dans le workflow

Avant de lire le workflow sélectionné, installez-le ou mettez-le à jour ainsi que les compétences de domaine principales :

npx hyperframes skills update <nom-du-workflow>

Utilisez le nom nu sans /. Si la commande échoue, affichez l'erreur ; ne reconstruisez pas le workflow de mémoire. Tout le reste concernant l'installation — la division core vs lazy, ce que init rafraîchit, le diagnostic, l'exclusion CI et la solution de secours sans CLI — se trouve dans references/skill-lifecycle.md.

5. Charger les compétences de domaine à la demande

BesoinCompétence
Structure de composition, attributs de timing, pistes, variables, déterminisme/hyperframes-core
Règles de mouvement, plans de scène, transitions, adaptateurs d'exécution/hyperframes-animation
GSAP seek-safe, CSS, Anime.js, WAAPI, FLIP, chemins, masques, SVG, images clés 3D ou diagnostics hyperframes keyframes/hyperframes-keyframes
Spécifications de conception, concept, palette, typographie, narration, planification du rythme/hyperframes-creative
Images, icônes, logos, audio, légendes, grades, LUT, médias réutilisables/media-use
Découpage de voix off, chaînes d'effets audio ou enveloppes d'automatisation sur une piste/hyperframes-audio
Init, lint, vérification, instantanés, comparaison, rendu par lot, Studio, rendu, publication ou diagnostics/hyperframes-cli
Blocs et composants du registre/hyperframes-registry
Actifs Figma, jetons, composants ou images de storyboard en tant que mouvement reconstruit/figma

Les phrases d'édition de créateur sont des demandes cross-domaine. Chargez chaque compétence nommée dans la ligne correspondante :

Demande du créateurDomaines requis
"couper cette séquence", coupe franche, rogner, épisser, réordonner ou utiliser une plage source/general-video + /hyperframes-core ; core possède data-start, data-duration, data-media-start et la disposition des pistes.
zoomer ici, punch-in / punch-out, zoom multi-état fluide ou recadrage, Ken Burns, ou mouvement de caméra/general-video + /hyperframes-core + /hyperframes-keyframes ; animez l'enveloppe visuelle/de recadrage interne, pas le clip minuté.
coupe par correspondance ou transition caméra whip pan/general-video + /hyperframes-animation + /hyperframes-keyframes + /hyperframes-registry ; recherchez/installez une primitive de transition avant de créer manuellement.
fondu, fondu enchaîné, gain/volume de piste, automatisation, duck/carve ou effets audio/general-video + /hyperframes-core + /hyperframes-audio ; core place les clips, l'audio mixe les pistes placées.
montages image et son qui combinent des coupes avec un mouvement de caméra ou un mixage/general-video + /hyperframes-core + /hyperframes-keyframes lorsqu'il y a un mouvement visuel + /hyperframes-audio lorsque le son est fondu, mixé, ducké, automatisé ou traité.
sourcer ou générer des médias, ou prétraiter un ralentissement/arrêt intra-source non pris en charge/media-use ; sourçage/génération/prétraitement uniquement, jamais de mixage de piste placée.

data-playback-rate constant est sûr pour le rendu des images et du son à hauteur préservée. Il ne rend pas les ralentissements de source image-cléables ; prétraitez les ralentissements. Pour les contrats d'édition copiables, chargez /hyperframes-core → references/creator-editing-recipes.md.

Les retours généraux sur l'apparence ou le comportement des médias photographiques sont également acheminés vers /media-use, même si l'utilisateur ne dit jamais "étalonnage" ou "effet".

Individual skills in this repo

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

embedded-captions

>

faceless-explainer

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.

figma

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.

general-video

>

hyperframes-animation

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition

hyperframes-audio

>

hyperframes-cli

>

hyperframes-core

The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class=

hyperframes-creative

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.

hyperframes-keyframes

>

hyperframes-registry

Install, discover, and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add or hyperframes catalog, installing one item or every block matching a tag, wiring an installed item into index.html, or working with hyperframes.json. Covers discovery, install locations, block sub-composition wiring, component snippet merging, and authoring a new block or component to contribute upstream (idea → scaffold → validate → PR).

jasonfast123/hyperframes-skills

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.

media-use

Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro/camcorder/print/ASCII, needs privacy, or needs a media reveal.

motion-graphics

>

music-to-video

Turn a music track (an audio file, a video to pull audio from, or a track generated from a mood brief) into a beat-synced video — lyric video, slideshow, or kinetic promo. The music drives all pacing; any user-supplied images/videos are cut onto the same beat grid, and a complete video needs zero assets. Narrated pieces → the input-matched workflow (see /hyperframes). Unclear → /hyperframes.

pr-to-video

Turn a GitHub pull request (a PR URL, owner/repo#N, or

remotion-to-hyperframes

Port an existing Remotion (React) composition

slideshow

>

talking-head-recut

Package an existing talking-head / interview / podcast video with timed, designed GRAPHIC OVERLAY cards — kinetic titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript, on a 16:9 / 9:16 / 4:5 canvas of your choice; the clip plays untouched underneath. Trigger on

Skills associés