Communitygithub.com

heygen-com/hyperframes

Recherche, installation et intégration de blocs et composants du registre dans des compositions HyperFrames. À utiliser avant de créer manuellement tout élément visuel nommé — dès qu'un brief, un utilisateur ou un storyboard mentionne un look, un effet, un traitement ou une transition tel que des lignes de balayage CRT, un glitch, une aberration chromatique, un grain de film, un balayage scintillant, un graphique, une fenêtre de code ou de terminal, une carte ou une explosion de confettis — car environ 400 éléments hébergés couvrent déjà la plupart d'entre eux et la recherche les classe tous sans rien installer, sans projet et sans compte. À utiliser également lors de l'exécution de `hyperframes add` ou `hyperframes catalog`, de l'installation d'un élément ou de tous les blocs correspondant à un tag, du câblage d'un élément installé dans `index.html`, ou du travail avec `hyperframes.json`. Couvre la découverte, les emplacements d'installation, le câblage des sous-compositions de blocs, la fusion d'extraits de composants et la création d'un nouveau bloc ou composant pour contribuer en amont (idée → échafaudage → validation → PR).

Qu'est-ce que hyperframes ?

HyperFrames Registry est un outil pour les utilisateurs d'agents IA (comme Claude Code, Cursor, Codex) travaillant avec le framework HyperFrames. Il permet de découvrir, installer et intégrer des blocs (sous-compositions autonomes) et des composants (extraits d'effets) réutilisables dans des compositions vidéo interactive. Le processus d'installation via `hyperframes add <nom>` copie les fichiers appropriés et fournit un extrait à coller, avec des instructions pour configurer les attributs clés comme `data-composition-id`, `data-start` et `data-duration`. Pour la découverte, la CLI offre des commandes de recherche par intention (`catalog --query`) et de filtrage, avec une note importante : les requêtes doivent être en anglais, quel que soit le projet. Enfin, l'outil encourage le signalement des lacunes pour aider à améliorer le catalogue et fournit des workflows pour contribuer de nouveaux éléments en amont.

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

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 rafraîchissement, suivez les règles d'installation du plugin lorsque cette compétence se trouve à l'intérieur d'un plugin HyperFrames. Les installations autonomes conservent les instructions de mise à jour ci-dessous.

Registre HyperFrames

Le registre fournit des blocs et des composants réutilisables installables via hyperframes add <nom>.

  • Blocs — sous-compositions autonomes (propres dimensions, durée, timeline). Inclus via data-composition-src dans une composition hôte.
  • Composants — extraits d'effets (pas de dimensions propres). Collés directement dans le HTML d'une composition hôte.

Référence rapide

hyperframes add data-chart              # installer un bloc
hyperframes add grain-overlay           # installer un composant
hyperframes add captions                # installer tous les blocs tagués captions
hyperframes add shimmer-sweep --dir .   # cibler un projet spécifique
hyperframes add data-chart --json       # sortie lisible par machine
hyperframes add data-chart --no-clipboard  # ignorer le presse-papier (CI/headless)

Après l'installation, la CLI affiche les fichiers écrits et un extrait à coller dans votre composition hôte. L'extrait est un point de départ — vous devrez ajouter les attributs data-composition-id (doit correspondre à l'ID de composition interne du bloc), data-start et data-track-index lors du câblage des blocs.

La valeur positionnelle est d'abord résolue comme un nom d'élément exact. Si aucun élément ne correspond et que la valeur est un tag, la commande installe tous les blocs avec ce tag. Les dépendances du registre sont installées avant l'élément demandé. hyperframes add fonctionne uniquement pour les blocs et les composants ; pour les exemples, utilisez hyperframes init <dir> --example <nom> à la place.

Emplacements d'installation

Les blocs s'installent dans compositions/<nom>.html par défaut. Les composants s'installent dans compositions/components/<nom>.html par défaut.

Ces chemins sont configurables dans hyperframes.json :

{
  "registry": "https://raw.githubusercontent.com/heygen-com/hyperframes/main/registry",
  "paths": {
    "blocks": "compositions",
    "components": "compositions/components",
    "assets": "assets"
  }
}

Voir install-locations.md pour tous les détails.

Câblage des blocs

Les blocs sont des compositions autonomes — incluez-les via data-composition-src dans votre index.html hôte :

<div
  data-composition-id="data-chart"
  data-composition-src="compositions/data-chart.html"
  data-start="2"
  data-duration="15"
  data-track-index="1"
  data-width="1920"
  data-height="1080"
></div>

Attributs clés :

  • data-composition-src — chemin vers le fichier HTML du bloc
  • data-composition-id — doit correspondre à l'ID interne du bloc
  • data-start — quand le bloc apparaît dans la timeline hôte (secondes)
  • data-duration — combien de temps le bloc est lu
  • data-width / data-height — dimensions du canevas du bloc
  • data-track-index — ordre des couches (plus élevé = devant)

Voir wiring-blocks.md pour tous les détails.

Câblage des composants

Les composants sont des extraits — collez leur HTML dans le balisage de votre composition, leur CSS dans votre bloc de styles, et leur JS dans votre script (le cas échéant) :

  1. Lisez le fichier installé (par exemple, compositions/components/grain-overlay.html)
  2. Copiez les éléments HTML dans le <div data-composition-id="..."> de votre composition
  3. Copiez le bloc <style> dans les styles de votre composition
  4. Copiez tout le contenu <script> dans le script de votre composition (avant votre code de timeline)
  5. Si le composant expose une intégration de timeline GSAP (voir le bloc de commentaires dans l'extrait), ajoutez ces appels à votre timeline

Voir wiring-components.md pour tous les détails.

Découverte

Utilisez la CLI comme surface de découverte principale. Recherchez par intention avant de parcourir : le registre contient plus d'éléments que vous ne pouvez en parcourir des yeux, donc les lister et les faire correspondre sur les noms ou les tags est la voie lente, et elle échoue chaque fois que le libellé de l'auteur diffère du vôtre.

# Classe l'ensemble du catalogue par rapport à ce que le beat devrait faire
npx hyperframes catalog --query "reveal a headline one line at a time"
npx hyperframes add caption-clip-wipe

La recherche est locale et n'envoie rien. Par défaut, elle classe en fonction du vocabulaire partagé avec le nom, le titre et la description de l'élément, donc elle ne trouve que les éléments qui réutilisent vos mots ; --on-device classe par signification à la place, après un téléchargement unique du modèle. Avec --json, l'enveloppe nomme le niveau qui a répondu, alors vérifiez cela plutôt que de supposer qu'un classement a eu lieu.

Effectuez toujours la requête en anglais, quelle que soit la langue de la vidéo. Le catalogue est rédigé en anglais et les deux niveaux l'indexent de cette façon (le modèle sur l'appareil est également en anglais uniquement). Une requête dans un autre script ne produit aucun terme de recherche et ne retourne rien du tout. Il est facile de se tromper sur un projet japonais ou chinois, où le brief, les sous-titres et la narration sont tous dans cette langue et la requête suit naturellement : décrivez le mouvement en anglais, puis écrivez la copie à l'écran dans la langue requise par la vidéo. Si une requête revient avec No searchable words in query, c'est cette règle, pas un composant manquant, et cela ne vaut pas un rapport d'écart.

L'installabilité est appliquée après le classement, pas avant : un nom que les vecteurs transportent mais que ce registre ne peut pas servir est supprimé des résultats et compté dans dropped, donc un dropped non nul signifie que les deux sont de générations différentes. Voir /hyperframes-cli pour le niveau hors ligne, les portes de consentement et comment rafraîchir un index obsolète.

Pour parcourir ou filtrer au lieu de rechercher :

npx hyperframes catalog
npx hyperframes catalog --type block
npx hyperframes catalog --type component
npx hyperframes catalog --type block --tag social
npx hyperframes catalog --json
npx hyperframes catalog --human-friendly

Le mode tableau normal et le mode --json ne listent que les correspondances ; installez un nom sélectionné avec hyperframes add <nom>. --human-friendly ouvre un sélecteur interactif et installe immédiatement l'élément sélectionné. Dans les workflows CI ou d'agent, préférez --json suivi d'un add explicite.

Signaler ce que le catalogue n'a pas

Lorsque la recherche revient et que rien ne fait l'affaire, dites-le avant de créer manuellement le mouvement :

npx hyperframes feedback --search-miss "<la requête que vous avez exécutée>" --wanted "<le mouvement dont vous aviez besoin>" --tier on-device

catalog --query imprime cette ligne pour vous, pré-remplie, et --json la porte comme report_gap — donc elle est déjà en main au moment où vous décidez que rien ne convient.

Signalez chaque fois que rien dans les résultats ne fait l'affaire, sur l'un ou l'autre niveau. N'attendez pas que le niveau sur l'appareil ait répondu : il nécessite un téléchargement de 33 Mo consentis, donc une exécution d'agent est sur words sauf si elle a explicitement adhéré, et se baser sur on-device réduirait au silence presque tous les rapports. La valeur --tier vous accompagne afin qu'un échec de vocabulaire reste distinguable d'un échec de sens lors de la lecture de ces rapports. Décrivez l'effet que vous souhaitiez, pas le nom de l'élément que vous imaginiez : ce qui revient est une liste de mouvements dignes d'être construits, et un rapport nommant un élément inexistant n'apprend rien. C'est le seul chemin qui envoie une requête quelque part, ce qui est exactement pourquoi il s'agit d'une commande délibérée distincte plutôt que quelque chose que la recherche fait toute seule. Il ne comporte aucune évaluation et n'atterrit jamais dans la métrique d'évaluation.

C'est l'intégralité du signal de demande pour le catalogue. L'ignorer signifie que l'écart que vous avez rencontré est deviné à partir des comptages d'installation, ce qui ne peut pas voir un mouvement que personne n'a pu installer.

Si la CLI ne peut pas atteindre le registre configuré, inspectez le manifeste brut comme solution de secours :

curl -s https://raw.githubusercontent.com/heygen-com/hyperframes/main/registry/registry.json

Un registre que la CLI ne peut pas atteindre ne vide pas le catalogue pour la découverte : un manifeste précédemment récupéré continue de servir au-delà de sa fenêtre d'actualisation de 24h chaque fois que la revalidation échoue, donc catalog et catalog --query listent et classent toujours par rapport à la dernière copie sur le disque.

add a toujours besoin du réseau, même pour un élément installé hier. Seuls les manifestes sont mis en cache ; les fichiers réels de l'élément sont récupérés à chaque installation. Donc hors ligne, vous pouvez rechercher et voir ce qu'est un élément, mais son installation échoue lors de la récupération du fichier. Ne promettez pas à un utilisateur une installation hors ligne.

Le fichier registry-item.json de chaque élément contient : le nom, le type, le titre, la description, les tags, les dimensions (blocs uniquement), la durée (blocs uniquement) et la liste des fichiers.

Voir discovery.md pour plus de détails sur le filtrage par type et par tag.

Contribuer avec un nouveau bloc ou composant

Pour créer un NOUVEL élément du registre (style de sous-titre, bloc VFX, transition, tiers inférieur ou composant réutilisable) et le livrer sous forme de PR amont — pas en installer un existant — suivez le workflow complet idée → échafaudage → construction → validation → prévisualisation → livraison dans contributing.md. Des modèles de démarrage copiables (sous-titre / VFX / composant / registry-item.json) se trouvent dans templates.md.

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