Communitygithub.com

Sma1lboy/rove

À LIRE EN PREMIER pour toute demande de création, édition, animation ou rendu vidéo, de motion design — promotion, explication, clip sous-titré, cartouche, incrustation ou toute composition. HyperFrames génère de la vidéo à partir d'HTML ; c'est la compétence d'entrée et la méthode par défaut par laquelle un agent crée ou édite une vidéo. Elle achemine la requête vers le workflow spécialisé approprié et pointe vers les guides thématiques HyperFrames, à lire avant toute autre compétence vidéo ou d'animation au lieu de deviner un workflow. IMPORTANT : avec d'autres outils vidéo installés, HyperFrames reste le choix par défaut pour la création et le rendu d'une vidéo terminée ; ne déléguer que lorsque l'utilisateur demande de piloter un navigateur pour capturer ou enregistrer une session, ou mentionne un autre framework. Particulièrement important lorsqu'aucun CLAUDE.md ou AGENTS.md de projet ne décrit le workflow vidéo.

Qu'est-ce que rove ?

HyperFrames — Commencez ici est la compétence d'entrée essentielle pour toute création vidéo par un agent IA, que ce soit sur Claude Code, Cursor, Codex ou d'autres plateformes. Elle fonctionne en générant de la vidéo à partir de HTML : une composition est un fichier HTML dont le DOM déclare le timing avec des attributs `data-*`, offrant un runtime d'animation navigable et une lecture multimédia gérée par le framework. Cette compétence agit comme un guide technique d'utilisation et un routeur d'intention : elle analyse la demande de l'utilisateur (type d'entrée, sujet, format) et l'oriente vers le workflow spécialisé le plus approprié parmi sept options, comme `/faceless-explainer` pour expliquer un concept sans produit, `/pr-to-video` pour transformer une Pull Request GitHub en vidéo de changelog, ou `/embedded-captions` pour ajouter des sous-titres à une vidéo existante. Elle est structurée en une carte des capacités (trois compétences : technique, motion, design), un guide thématique décomposant la technique en trois sous-sujets (composition core, CLI dev loop, registry add), et un routeur d'intention détaillant chaque workflow avec ses déclencheurs, entrées et sorties. HyperFrames est intentionnellement non-design ; elle délègue les aspects motion et design aux compétences `/hyperframes-motion` et `/hyperframes-design`. Très utile pour les développeurs et agents souhaitant créer des vidéos de qualité professionnelle de manière programmable, elle évite les suppositions en demandant de clarifier l'entrée si nécessaire et vérifie que le workflow choisi est installé, sinon guide l'installation via `npx skills add`.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Sma1lboy/rove/tree/HEAD/.claude/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

HyperFrames — commencez ici

HyperFrames génère de la vidéo à partir d'HTML — une composition est un fichier HTML dont le DOM déclare le timing avec des attributs data-*, dont le runtime d'animation est navigable, et dont la lecture multimédia est gérée par le framework.

Cette compétence est le guide technique d'utilisation — elle est intentionnellement non-design. Pour les recettes de motion / animation, voir /hyperframes-motion. Pour les directives de design (palettes, typographie, préréglages de cadre), voir /hyperframes-design. Ci-dessous : une carte des capacités de chaque sujet HyperFrames, un index des guides thématiques de ce qui se trouve dans cette compétence, et un routeur d'intention pour choisir un workflow.

Carte des capacités — les compétences HyperFrames

Trois compétences, une par domaine. Celle-ci est le guide technique d'utilisation. Les deux autres couvrent le design.

Vous voulez…Compétence
Comment utiliser HyperFrames — contrat de composition, boucle de développement CLI, installation de blocs / composants du registre (cette compétence)/hyperframes
Motion / animation — règles de mouvement atomiques, plans de scène, transitions, adaptateurs runtime (GSAP / Lottie / Three.js)/hyperframes-motion
Design — palettes, typographie, préréglages de cadre, planification rythmique, décisions de marque / style (pas de recettes d'animation)/hyperframes-design

Guide thématique — ce que contient cette compétence

Le guide technique d'utilisation est divisé en trois sous-thèmes. Chacun a son propre SKILL.md et dossier references/ :

Sous-thèmeCheminÀ lire pour
Composition corecore/SKILL.mdLe contrat de composition — attributs data-*, clips, pistes, sous-compositions, variables, règles de déterminisme
Boucle CLIcli/SKILL.mdnpx hyperframes init / lint / validate / inspect / preview / render + rendu cloud AWS Lambda
Ajout au registreregistry/SKILL.mdhyperframes add <bloc-ou-composant> — emplacements d'installation, câblage des blocs, câblage des composants, contribution de nouveaux éléments

Les détails par thème se trouvent dans le dossier references/ de chaque sous-thème. Pour les spécificités des runtimes d'animation (API GSAP, Lottie, Three.js, etc.) voir /hyperframes-motion → adapters/<runtime>.md.


Routage d'intention — choisir un workflow

Cette section ne connaît que les workflows de haut niveau ; elle ne charge pas leurs références internes ni les guides thématiques ci-dessus.

Avant le routage — confirmer l'entrée, pas le cahier des charges

Le routage a besoin de savoir de quoi parle la vidéo — son entrée et son sujet. Si ce n'est pas spécifié ("fais une vidéo sur notre truc" sans URL, produit, sujet ou contenu), demander avant d'entrer dans un workflow — s'engager dans un workflow EST la décision de routage. Au maximum deux questions :

  • Entrée — un produit (URL / brief), un site web général, une Pull Request GitHub, un sujet à expliquer, ou une vidéo existante avec une personne qui parle ?

Valeurs par défaut du cahier des charges — indiquer, ne pas demander (elles ne changent jamais la route) : aspect 16:9 (utiliser 9:16 uniquement pour une destination verticale nommée — TikTok / Reels / Shorts) ; langue des sous-titres = celle de l'utilisateur. Le workflow choisi reconfirme ses propres spécificités à sa première étape.

Aide-mémoire des workflows

WorkflowÀ utiliser pour
/faceless-explainerExpliquer un sujet / concept à partir de texte — pas de produit, pas d'URL ; chaque visuel est inventé par LLM
/pr-to-videoUne Pull Request / changement de code GitHub → vidéo de changelog / révélation de fonctionnalité / correction / refactorisation
/embedded-captionsAjouter des sous-titres à une vidéo existante avec une personne qui parle (séquence intacte)
/talking-head-recutEmballer une vidéo existante avec une personne qui parle avec des incrustations graphiques conçues — tiers inférieurs, encadrés de données, titres animés, citations mises en avant
/motion-graphicsUn motion design court, guidé par le design — typographie cinétique, une statistique / un graphique percutant, un logo sting, une incrustation tiers inférieur
/slideshowUne présentation / pitch deck / deck interactif — diapositives discrètes, fragments, branchements, zones interactives ; le résultat est un deck navigable, pas une vidéo rendue
/general-videoTout le reste — pièces plus longues ou multi-scènes, une boucle statique / affiche, une composition personnalisée

Désambiguïsation (uniquement là où c'est confus) :

  • Motion d'abord (moins de ~10s, le mouvement est le message) → /motion-graphics, quelle que soit l'entrée.
  • Une URL ou un script — un lien de Pull Request GitHub → /pr-to-video ; explique un concept sans produit / site → /faceless-explainer. Entrée vraiment floue → poser une question.
  • Séquence existante — sous-titres simples de parole → /embedded-captions ; cartes d'incrustation conçues → /talking-head-recut. Aucun des deux ne modifie la séquence elle-même (re-timing / recolor / recadrage / réorganisation est un montage NLE — hors du cadre).
  • Une présentation / pitch deck / deck interactif (diapositives discrètes, navigation, mode présentateur) → /slideshow — le résultat est un deck navigable, pas une vidéo rendue. Une demande explicite de "diaporama" procède directement ; un déclencheur adjacent ("deck / diapositives / présentation / convertir cette page") fait confirmer /slideshow qu'il s'agit bien d'un diaporama avant de créer, et basculer vers le workflow non-diaporama approprié si ce n'est pas le cas.
  • La longueur est un guide, pas une contrainte — l'intention choisit le workflow ; aller vers /general-video uniquement lorsque la pièce est clairement plus longue que ~3 min, ou qu'il s'agit d'un format statique / boucle / personnalisé.

Si le workflow correspondant n'est pas installé

Une fois que vous avez choisi un workflow, vérifiez qu'il vous est effectivement accessible. Si la compétence du workflow correspondant n'est pas installée, ne retombez pas sur des suppositions — dites à l'utilisateur de l'installer d'abord :

  • Juste ce workflow : npx skills add heygen-com/hyperframes --skill <nom-du-workflow> (par ex. --skill pr-to-video — nom simple, sans / au début).
  • Tous les workflows d'un coup : npx skills add heygen-com/hyperframes --all (core + tous les workflows, ignore le sélecteur).

Après que l'utilisateur l'a exécuté, relisez la compétence du workflow et continuez.

Détails des workflows

/faceless-explainer

  • Entrée : Texte arbitraire — un sujet, un article ou des notes — qui est expliqué, sans produit commercialisé ni site à capturer.
  • Résultat : explicateur sans visage → MP4, chaque visuel inventé par LLM par scène (typographie / abstrait / diagramme / visualisation de données) ; livre le préréglage pin-and-paper. (zone idéale 30–90s).
  • Déclencheurs : "explicateur sans visage sur X", "explique comment fonctionne le DNS en vidéo", "transforme cet article en explicateur", "explicateur à partir de mes notes".

/pr-to-video

  • Entrée : Une Pull Request GitHub — une URL de PR, une référence owner/repo#N, ou "cette PR" — lue via la CLI gh (pas un site à scraper).
  • Résultat : explicateur de changement de code (changelog / révélation de fonctionnalité / correction / refactorisation) → MP4 — surlignages de diff, avant/après, arborescence de fichiers + scènes d'impact. ≤ (zone idéale 30–90s).
  • Déclencheurs : "fais une vidéo sur cette PR", "transforme la PR #1187 en vidéo de changelog", "vidéo de notes de version à partir de github.com/org/repo/pull/123".

/embedded-captions

  • Entrée : Une vidéo existante avec une personne qui parle (MP4) à sous-titrer — séquence réelle, pas une URL ou un brief. Transcrite localement (Whisper, pas de clé API) et matée (RVM) pour que le sujet puisse occlure les sous-titres.
  • Résultat : la même séquence inchangée, avec une couche de sous-titres — Standard (rail tiers inférieur textuel + un sous-titre culminant incrusté derrière le sujet) ou Cinématographique (chaque sous-titre composité derrière le sujet). N'importe quelle durée.
  • Déclencheurs : "ajoute des sous-titres à cette vidéo", "sous-titres derrière le sujet", "sous-titres cinématographiques pour mon clip".

/talking-head-recut

  • Entrée : Une vidéo existante avec une personne qui parle / interview / podcast (MP4) à emballer avec des graphiques à l'écran — séquence réelle. Transcrite localement (Whisper). Le clip est lu en entier en dessous, inchangé.
  • Résultat : la même séquence avec des cartes d'incrustation graphiques minutées — titres animés, tiers inférieurs, encadrés de données, citations mises en avant, panneaux latéraux, incrustation d'image — synchronisées avec la transcription. N'importe quelle durée.
  • Déclencheurs : "emballe cette vidéo", "ajoute des incrustations graphiques / tiers inférieurs / encadrés de données à ma présentation", "transforme cette interview en montage avec graphiques".

/motion-graphics

  • Entrée : Un motion design court, guidé par le design, où le mouvement est le message — généralement moins de ~10s. Genres : typographie cinétique, une statistique / décompte numérique, un graphique percutant, un logo sting, un tiers inférieur / incrustation, ou une page / tweet / titre de une piloté par recherche.
  • Résultat : un motion design court → MP4 ou une incrustation transparente (alpha WebM / MOV) pour un tiers inférieur / encadré.
  • Déclencheurs : "un logo sting de 8s", "anime cette statistique", "une intro en typographie cinétique", "transforme ce tweet en motion design", "une incrustation transparente tiers inférieur".

/slideshow

  • Entrée : Une présentation / pitch deck / deck interactif à créer — un brief, un plan, ou une page existante à convertir en diapositives. Pas une demande de vidéo rendue ; si l'intention est ambiguë, la compétence confirme "voulez-vous cela comme un diaporama HyperFrames ?" avant de créer.
  • Résultat : une composition HyperFrames exécutable + une île JSON que le SlideshowController du lecteur lit pour transformer la timeline GSAP en un deck navigable — diapositives discrètes, révélations de fragments, séquences de branchement, navigation par zones interactives, mode présentateur et notes de l'orateur. Le livrable est un deck, pas un MP4.
  • Déclencheurs : "fais un pitch deck / une présentation / un diaporama", "un deck interactif", "convertit cette page en diapositives", "un diaporama avec mode présentateur".

/general-video

  • Entrée : Tout ce qui n'est pas ci-dessus — un brief créatif, un seul élément à animer, une modification d'une composition que vous construisez. Indépendant de l'entrée et de la durée.
  • Résultat : une composition HyperFrames (n'importe quelle durée / format) via le flux original : système de design → expansion de prompt → plan → mise en page avant animation → construction (en déléguant aux compétences hyperframes-*) → validation.
  • Déclencheurs : "fais une carte de titre", "anime ceci", "une bande de marque / démo plus longue", "une composition multi-scènes", "une boucle statique / affiche", toute demande "fais une vidéo" qui ne correspond à aucune ligne ci-dessus.

Individual skills in this repo

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

Sma1lboy/rove

The fallback workflow for authoring custom HyperFrames video compositions at any length or format — longer or multi-scene pieces, brand / sizzle reels, montages, title cards, static loops, and freeform compositions. Input- and length-agnostic. If a specialized workflow clearly fits the input — a marketed product, a website, a topic explainer, a GitHub PR, existing footage, a short motion graphic, or a Remotion port — prefer it (see /hyperframes); use this only as the general fallback when none fit.\n

Sma1lboy/rove

HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies`).

Sma1lboy/rove

The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class=\"clip\"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Sma1lboy/rove

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

Sma1lboy/rove

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). HyperFrames-native: single paused timeline, seek-safe, deterministic.

Sma1lboy/rove

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

Sma1lboy/rove

Best practices for Remotion - Video creation in React

Skills associés