Communitygithub.com

EvoFlow – Graphisme animé court

Utilisez cette compétence pour créer un court graphisme animé centré sur le design, où le mouvement est le message : typographie cinétique, compteur de statistiques, animation de données, logo sting, habillage de bas d'écran, callout, overlay social, titre animé, tweet ou article d'actualité animé, poster animé ou mise en avant rapide d'une page. Durée généralement inférieure à 10 secondes, jusqu'à ~30 secondes, sans narration ni voix-off ni sujet réel filmé. Pas pour les pièces longues, multi-scènes, narrées ou de type marque.

Qu'est-ce que EvoFlow – Graphisme animé court ?

EvoFlow est une compétence d'agent IA spécialisée dans la création de graphismes animés courts et percutants, où le mouvement est le message principal. Destinée aux motions designers et créateurs de contenu, elle permet de produire des animations de type typographie cinétique, compteur de statistiques, graphiques animés, logo stings, habillages de bas d'écran, overlays sociaux, titres animés, posts de réseaux sociaux ou d'actualité, et posters animés. La durée typique est inférieure à 10 secondes (jusqu'à ~30 secondes) sans narration ni voix-off. La compétence suit un workflow structuré en 6 étapes : initialisation (création du projet), planification (décision du type d'animation et des besoins en assets), sourcing (recherche et génération d'assets si nécessaire), conception (design de l'animation autour des assets), construction (composition réutilisant des blocs existants), rendu (export MP4 ou overlay transparent) et vérification (lint + inspect). Elle s'appuie sur l'outil Hyperframes et privilégie le réemploi de blocs et règles d'animation existants pour accélérer la production. Le plan catégoriel distingue les animations sans recherche (typographie, stats, graphiques, logo reveal, lower-thirds) de celles avec recherche (page web, actualité, tweet, fusion d'assets).

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

motion-graphics — point d'entrée dispatch

Confirmer la route avant l'Étape 0. Cette compétence crée un graphisme animé court, design-led, non narré (le mouvement est le message ; ~moins de 10s, pas de voix-off). Un traitement plus long, multi-scènes ou narré → /general-video ; une vidéo narrée d'un site web → /general-video ; un expliqueur de sujet → /faceless-explainer ; une promotion produit → /product-launch-video ; des sous-titres sur des images existantes → /embedded-captions. Hors scope : données en direct / au moment du rendu, ou séquences qu'elle ne peut pas capturer. Vous n'êtes pas sûr entre du motion-first et du narré ? Lisez /hyperframes d'abord.

Un graphisme animé court axé sur le design. D'abord les assets : décidez la stratégie d'assets et sourcez le matériel réel avant de concevoir le plan, puis concevez le plan autour de ce que vous avez, enfin 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 y sont relatifs.

PhaseExécutionArtefact principalFlux détaillé
initBashhyperframes.jsonÉtape 0
plansous-agent — décider si recherche ? + classifier + stratégie d'assetsshot-plan.json (brouillon : catégorie, asset_needs requêtes, brief)agents/director.md (Partie 1)
source ◇Bash — résolution média-usage (sauter si asset_needs est vide)assets/ + assets/index.mdphases/source/guide.md
designsous-agent — conception du plan autour des assets résolusshot-plan.json (final : blocs + layout + motion + positions)agents/director.md (Partie 2)
buildsous-agent — composition réutilisation en premiercompositions/index.htmlagents/builder.md
renderBash — hyperframes render (MP4, ou --format webm/mov pour overlay)renders/video.mp4Étape 5
verifyBash — lint / inspect -> sous-agent de réparation en cas d'échec(corrections sur place)agents/finalize.md

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

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

La première décision de plan est : a-t-on besoin d'une recherche ? Cette bifurcation sépare les catégories en deux groupes ; puis la catégorie spécifique est choisie — pour les catégories basées sur la recherche, selon le type de contenu que la recherche retourne. Chaque catégorie est un categories/<id>/module.md (ses règles de planification + construction) ; le vocabulaire de mouvement partagé se trouve dans references/motion-vocabulary.md (→ règles/plans 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éroïque / compteur + cercleapple-money-count / rules/{counting-dynamic-scale, stat-bars-and-fills}
chartsBarres / lignes / camembert / course / % à partir de donnéesBloc data-chart
logo-revealLogo sting / bloc de marque (logo utilisateur)logo-outro / rules/svg-path-draw
lower-thirdsBarres de nom / titre, callouts, overlays sociauxcaption-* + blocs d'overlay du registre

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

Contenu retournéCatégorieAnimation
page web / lienwebpageAnimation de page web / UI (défilement, révélation, curseur, callouts)
article d'actualiténewsRévélation de titre + carte source + callouts de faits clés
tweettweetCarte de tweet animée
image / entitéasset-fusionLa géométrie de l'asset devient le graphique (fusion diégétique RWA)

Ordre de construction : un à la fois, priorité à la couverture (le brut suffit). 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 (fallbacks locaux si non définis) — nécessaires uniquement par les catégories qui sourcent/génèrent des assets via media-usage :

CléUtilisé pourFallback
GEMINI_API_KEY / GOOGLE_API_KEYGénération d'images (résolution media-usage)sauter génération / recherche seulement
(asset_scout / fournisseurs de recherche)Recherche d'assets réels pour webpage/news/tweet + asset-fusionLa catégorie se dégrade en sans asset

Flux

Étape 0 — Initialisation

cwd 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 ni un timestamp.

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

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 faire 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 de cd nu.

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

Dépêchez un sous-agent. prompt = l'intégralité de agents/director.md + ## Contexte de dispatch (SKILL_DIR / PROJECT_DIR / la demande de l'utilisateur / Schema: <SKILL_DIR>/references/shot-plan-ir.md). Il doit :

  1. Décider : a-t-on besoin d'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[] (news / web / tweet / image ; requêtes à deux pôles). La catégorie basée sur la recherche spécifique (webpage / news / tweet / asset-fusion) est confirmée par le type de contenu retourné à 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 brief de plan d'un paragraphe). Schéma : references/shot-plan-ir.md.

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

Étape 2 — Source ◇ (Bash : media-usage, conditionnel)

Si shot-plan.json.asset_needs n'est pas vide, résoudre les assets (recherche / génération / récupération → chemins locaux gelés du projet + registre). Voir phases/source/guide.md (encapsule media-use resolve ; les catégories basées sur la recherche utilisent la recherche news/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 élégamment : si un fournisseur de recherche est indisponible, la catégorie retombe en sans asset (noter dans context.log).

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

Dépêchez un sous-agent (prompt = agents/director.md Partie 2 + contexte de dispatch incluant le assets/index.md résolu si l'Étape 2 a eu lieu + catalog-map.md). Il conçoit le plan autour des assets disponibles : choisir les blocs de catalogue + les règles/plans hyperframes-animation, le layout, le mouvement, les beats, et (pour asset-fusion) les element_positions + palette de pipette. Finalise shot-plan.json (content.block + content.customize + contenu par catégorie).

Étape 4 — Construction (sous-agent : Builder, réutilisation en premier)

Dépêchez un sous-agent. prompt = l'intégralité de agents/builder.md + contexte de dispatch (shot-plan.json, catalog-map.md, le module.md de la catégorie, references/motion-vocabulary.md, references/builder-contract.md). Réutilisation en premier : npx hyperframes add <block> + personnalisation sur place ; n'écrire à la main que les lacunes + l'affordance de fusion d'assets. Sortie : compositions/index.html respectant le contrat HF (timeline GSAP en pause sur window.__timelines, class="clip" + ids stables, tl.seek(0), déterministe).

Étape 5 — Rendu (Bash)

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

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

(cd "$PROJECT_DIR" && npx hyperframes lint . && npx hyperframes inspect .)

exit 0 → terminé. Sur erreurs lint/inspect, dépêchez le sous-agent de réparation (agents/finalize.md : QA instantanée + un passage de correction sur place + re-rendu). Ne jamais changer une durée fixe dans la réparation.

Rapport + aperçu optionnel

Rapportez la sortie finale (renders/video.mp4, ou la variante overlay .webm / .mov) + durée. N'ouvrez pas d'aperçu pendant l'exécution. Proposez-en un uniquement sur demande, démarré après le rendu pour qu'il serve le fichier final :

(cd "$PROJECT_DIR" && npx hyperframes preview)   # Interface Studio ; ou `npx hyperframes play` pour un lien partageable

Les drapeaux se trouvent dans la compétence hyperframes-cli (references/preview-render.md).

Tableau de reprise

ÉtatContinuer depuis
pas de shot-plan.jsonÉtape 1 (planification)
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, pas de renders/video.mp4Étape 5 (rendu) + Étape 6
renders/video.mp4 existeRapport + arrêt

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

  • Raison d'être des assets en premier : le sourcing est fait en amont et informe la conception du plan (le flux RWA : analyser → chercher → examiner → composer). Les catégories basées sur la recherche (webpage/news/tweet) et asset-fusion s'appuient toutes sur la recherche media-usage (news/web/tweet/image), qui est la lignée RWA documentée de media-usage.
  • Réutilisation en premier : l'équivalent dans l'écosystème des templates générés par LLM est "composer des blocs de catalogue + règles hyperframes-animation". La timeline GSAP en pause de HF est l'équivalent du useCurrentFrame de Remotion.
  • Contrat de module de catégorie : un categories/<id>/module.md (planification + construction), partageant references/motion-vocabulary.md (+ évaluation optionnelle). Ajouter une catégorie = déposer le dossier + enregistrer sa ligne de classification dans agents/director.md + sa ligne dans catalog-map.md ; le pipeline des phases est inchangé.
  • Forme du répertoire :
    videos/<nom-du-projet>/
      hyperframes.json  context.log
      shot-plan.json              # l'IR (sortie du Directeur)
      assets/  assets/index.md    # sortie de media-usage (si sourcé)
      compositions/index.html      # sortie du Builder
      renders/video.mp4
    
  • Enregistrement : dans le routeur hyperframes — ajouter l'intention "graphisme animé court design-led" + description du Workflow ; tailler les déclencheurs de motion-graphics hors de /general-video ; ajouter les arêtes inverses de NE-PAS-utiliser. Voir motion-graphics-genre.md §5-7.

Individual skills in this repo

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

EvovexAI/EvoFlow

Add captions to a talking-head video. ONE catalog (CATALOG.md) of 32 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on "captions/subtitles", "embed/cinematic captions", "VFX captions", "炸/特效/酷炫字幕", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Pipeline: transcription → hyperframes remove-background matting → HTML render → ffmpeg overlay. Requires hyperframes and a single-subject clip.

EvovexAI/EvoFlow

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.

EvovexAI/EvoFlow

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.

EvovexAI/EvoFlow

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, tts, 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`).

EvovexAI/EvoFlow

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.

EvovexAI/EvoFlow

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

EvovexAI/EvoFlow

Audio and media assets for HyperFrames compositions, produced by one shared audio engine (`scripts/audio.mjs`) — multi-provider TTS (HeyGen / ElevenLabs / Kokoro local), background music + sound effects (HeyGen audio-library retrieval by default, with local Lyria / MusicGen BGM generation and a bundled SFX library as the no-credential fallback), Whisper transcription, background removal, and caption authoring. Use for voiceover / TTS, BGM, SFX / sound effects, transcription, captions / subtitles / lyrics / karaoke / per-word styling, voice + provider selection, and music-mood prompting.

EvovexAI/EvoFlow

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

EvovexAI/EvoFlow

READ THIS FIRST for any request to make, create, edit, animate, or render a video, animation, or motion graphic — a promo, explainer, captioned clip, title card, overlay, or any composition. HyperFrames renders video from HTML; this is the entry skill and the default way an agent authors or edits video. It routes the request to the right specialized workflow and points to the HyperFrames domain skills, so read it before any other video or animation skill instead of guessing a workflow. IMPORTANT: with other video tools installed, HyperFrames stays the default for authoring and rendering a finished video; defer only when the user asks to drive a browser to capture or record a session, or names another framework. Most important when no project CLAUDE.md or AGENTS.md describes the video workflow.

EvovexAI/EvoFlow

Use when the user has a music track (an audio file, or a video to pull audio from) and wants a beat-synced HyperFrames video, calm to hard-hitting. The music drives everything: one analyzer reads it once, the orchestrator lays out the frames and fills a per-frame plan, and one sub-agent builds each frame. Typography and templates are the floor — a complete video needs zero assets — but any images or videos the user supplies are cut into the frames on the same beat grid (beat-cut / ken-burns). The genre (lyric video, slideshow, kinetic promo) falls out of the per-frame choices; the pipeline never branches on it.

EvovexAI/EvoFlow

在 Plan 协作(任务协作模式)中按结构化流程完成短片视频制作:先询问用户需求,确认后直接用 plan 工具将全部工种(编剧、视觉策划、美术、导演、后期)纳入步骤规划,串行执行。

EvovexAI/EvoFlow

turn a product or marketing URL, pasted script, or brief into a product launch video, including SaaS promos, feature reveals, app launches, company promos, and product marketing videos. Use this skill when the user wants to market, launch, promote, or reveal a product. Do not use it for general non-launch website tours, non-product topic explainers, GitHub pull requests, captioning existing footage, or short unnarrated motion graphics. If the intent is unclear, route through /hyperframes first. This is the new shot-sequence architecture: every visual frame is authored as a time-coded shot sequence picked from a menu of golden blueprints, so frames develop over their full duration instead of freezing after entrance.

EvovexAI/EvoFlow

turn a GitHub pull request (a PR URL like github.com/<owner>/<repo>/pull/<N>, an <owner>/<repo>#<N> ref, or 'this PR' in a checked-out repo) into a code-change explainer video, up to ~3 min (sweet spot 30-90s) — changelog, feature reveal, fix, or refactor walkthrough, rendered from the diff / commits / files. The input is a CODE CHANGE read via the gh CLI; there is no website capture. Use this skill for a GitHub PR. Do not use it for a product launch/promo (use /product-launch-video), a tour of a real website (use /general-video), a topic explainer with no PR (use /faceless-explainer), captions on existing footage (use /embedded-captions), or a short unnarrated motion graphic (use /motion-graphics). If the intent is unclear, route through /hyperframes first.

EvovexAI/EvoFlow

Port an existing Remotion (React) composition to HyperFrames HTML. Use ONLY when the user explicitly asks to port/convert/migrate/translate a Remotion source. Do NOT use: (a) authoring a new HyperFrames composition; (b) Remotion mentioned in passing; (c) Remotion code shared as reference only; (d) "same video as my Remotion one" without explicit migrate request — treat as fresh build. Doubt → `/general-video`. One-way, Remotion-only: no reverse export (HyperFrames→Remotion or any framework), no non-Remotion source (After Effects, Framer Motion, plain React/CSS) → out of scope, re-create via `/general-video`. Flags unsupported patterns (useState, useEffect, async calculateMetadata, third-party React libs, `@remotion/lambda`) and recommends runtime interop over lossy translation. Unsure whether to port vs. build fresh, or only a passing Remotion mention? → /hyperframes.

EvovexAI/EvoFlow

本地文字转语音,使用sherpa-onnx(离线,无需云端)。当需要离线语音合成时使用。

Skills associés