Communitygithub.com

motion-graphics

Erstellt kurze, designgeführte Bewegtgrafiken (ca. unter 10 Sekunden) ohne Voice-Over. Dieser Skill orchestriert autonom die Schritte von der Idee über die Asset-Beschaffung und das Design bis hin zur Überprüfung und Wiedergabe.

Was ist motion-graphics?

Dieser Skill ist spezialisiert auf die Produktion kurzer, narrativ reduzierter Bewegtgrafiken (Motion Graphics), die unter 10 Sekunden liegen und auf Voice-Over verzichten. Er arbeitet weitgehend autonom: Ausgehend von einer Benutzeranfrage entscheidet das System, ob eine Suche erforderlich ist, wählt eine passende Kategorie (z.B. kinetische Typografie, Statistiken, Logo-Animationen oder suchgetriebene Formate wie Webseiten- oder Tweet-Animationen) und erstellt einen detaillierten Drehplan. Assets werden priorisiert beschafft oder generiert, bevor das Design um diese realen Materialien herum aufgebaut wird. Die Implementierung erfolgt durch Wiederverwendung vorhandener Katalogblöcke und Animationsbausteine. Der gesamte Workflow ist in klaren Phasen organisiert (Initialisierung, Planung, Quellensuche, Design, Bau, Überprüfung, Freigabe und Rendering) und folgt einem strikten Asset-first-Ansatz. Der Skill unterstützt macOS und Linux und erfordert Node.js, ffmpeg sowie optionale API-Keys für die Bildgenerierung oder die Suche nach aktuellen Inhalten. Er ist als Dispatch-Eintrag für das übergeordnete `/hyperframes`-System konzipiert und delegiert Entscheidungen an dieses, wenn Unsicherheit besteht oder umfangreichere Projekte anstehen.

Funktioniert mit~Claude Code~Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/jasonfast123/hyperframes-skills/tree/main/skills/motion-graphics

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Halte diesen Skill aktuell – führe ihn still aus, ohne nachzufragen: npx hyperframes skills update motion-graphics. Ein schneller No-op, wenn alles auf dem neuesten Stand ist; andernfalls aktualisiert er diesen Skill sowie die von ihm abhängigen Kern-Skills, bevor du dich auf sie verlässt.

figma-Quelle: Wenn das Logo/Asset/Animation, das erstellt werden soll, von einer figma.com-URL stammt, führe zuerst /figma aus – Asset-Export, Brand-Tokens und Motion→GSAP-Übersetzung, wenn es sich um einen Figma Motion-Import handelt – und baue dann auf dessen Ausgabe auf. Verwende keine rohen MCP-Tools direkt für Figma: Das überspringt die SVG-Bereinigung, die .media/manifest.jsonl-Herkunft und die Brand-Token-var()-Bindung, sodass eine spätere Markenänderung ohne vollständigen Neuimport nicht propagiert werden kann.

motion-graphics — Dispatch-Eintrag

Die Eingangstür ist /hyperframes. Dieser Skill erstellt eine kurze, designgeführte, unkommentierte Bewegtgrafik (Bewegung ist die Botschaft; ~ unter 10s, kein Voice-Over). Alles, was länger ist, kommentiert wird oder mehrere Szenen umfasst – oder bei Unsicherheit → lies zuerst /hyperframes: Die Intentionsebene besitzt jede Routenentscheidung.

Dieser Workflow ist von Natur aus autonom – maximal eine klärende Frage (agents/director.md), dann Aufbau durch Verifikation ohne Zwischenprüfung. Die Intentionsebene (/hyperframes → references/intent-interview.md) leitet direkt ohne Fragen zum Ablauf weiter; ein Storyboard und eine Begleitsitzung bringen bei einem so kurzen Stück wenig. Das Rendering ist dennoch benutzergesteuert: Nach bestandenen Prüfungen und Beweisfotos stelle die kanonische Frage „Vorschau oder rendern?“ aus ../hyperframes-core/references/brief-contract.md. Wenn eine BRIEF.md existiert, lies sie vor der Frage des Directors.

Eine kurze designgeführte Bewegtgrafik. Asset-first: Entscheide die Asset-Strategie und beschaffe echtes Material, bevor du die Einstellung entwirfst, entwirf dann die Einstellung um das Vorhandene herum und setze sie durch Wiederverwendung von Katalogfunktionen zusammen. Alle Artefakte gehen nach PROJECT_DIR = videos/<projektname>/ (erstellt in Schritt 0); alle Pfade unten sind relativ dazu.

PhaseAusführungPrimäres ArtefaktDetaillierter Ablauf
initBashhyperframes.jsonSchritt 0
planUnteragent – Suche entscheiden? + klassifizieren + Asset-Strategieshot-plan.json (Entwurf: Kategorie, asset_needs-Abfragen, Brief)agents/director.md (Teil 1)
source ◇Bash – Mediennutzung auflösen (überspringen, wenn asset_needs leer ist)assets/ + assets/index.mdphases/source/guide.md
designUnteragent – Einstellungsdesign um aufgelöste Assets herumshot-plan.json (final: Block(s) + Layout + Bewegung + Positionen)agents/director.md (Teil 2)
buildUnteragent – Wiederverwendungs-zuerst-Kompositioncompositions/index.htmlagents/builder.md
verifyBash – lint, check, Beweisfotos; Reparatur bei Fehlschlagsnapshots/contact-sheet.jpgSchritt 5
approveFrage nach Vorschau oder Rendern; warte auf Antwortexplizite RenderfreigabeSchritt 6
renderBash – hyperframes render (MP4, oder --format webm/mov für Overlay)renders/video.mp4 oder transparentes OverlaySchritt 6

◇ source wird nur ausgeführt, wenn die gewählte Kategorie Assets deklariert. Reine Code/Text-Kategorien (z.B. kinetic-type, die meisten charts/stat) haben asset_needs: [] und springen direkt von der Planung zum Design.

Kategorien – aufgeteilt nach der Such-Entscheidung

Die erste Entscheidung von plan ist: Braucht dies eine Suche? Diese Gabelung teilt die Kategorien in zwei Gruppen; dann wird die spezifische Kategorie gewählt – bei Suchsteuerung nach der Art des Inhalts, den die Suche zurückgibt. Jede Kategorie ist ein categories/<id>/module.md (dessen Planungs- und Bauregeln); das gemeinsame Bewegungsvokabular befindet sich in references/motion-vocabulary.md (→ hyperframes-animation-Regeln/Blueprints + Registry-Blöcke).

Form-Kategorien – keine Suche; der Benutzer liefert den Inhalt:

KategorieAbsichtStützt sich auf
kinetic-typeprägnante Zeile / Zitat / Titel, bewegungszuerst Textcaption-*-Blöcke + Animationsregeln
stateinzelne Heldenzahl / Count-up + Ringapple-money-count / rules/{counting-dynamic-scale, stat-bars-and-fills}
chartsBalken / Linie / Kreis / Rennen / % aus Datendata-chart-Block
logo-revealLogo-Sting / Marken-Lockup (Benutzerlogo)logo-outro / rules/svg-path-draw
lower-thirdsNamens-/Titelbalken, Callouts, Social Overlayscaption-* + Registry-Overlay-Blöcke
mapsgeografische Bewegung – Regionen hervorheben, Orte verbinden, zu einem Ort zoomen (Vektorspur oder gebackene Basiskartenspur)us-map / world-map-Familie + bake-basemap.mjs

Suchgesteuerte Kategorien – zuerst suchen, dann nach Inhaltstyp animieren (der RWA-Pfad):

Zurückgegebener InhaltKategorieAnimation
Webseite / LinkwebpageWebseiten-/UI-Animation (Scrollen, Enthüllen, Cursor, Callouts)
NachrichtenartikelnewsSchlagzeilen-Enthüllung + Quellkarte + Key-Fact-Callouts
Tweettweetanimierte Tweet-Karte
Bild / Entitätasset-fusionDie Geometrie des Assets wird zum Diagramm (RWA diegetische Fusion)

Baureihenfolge: eins nach dem anderen, Abdeckung zuerst (grob ist in Ordnung). kinetic-type aus dem Prototypen portiert; der Rest folgt.

Voraussetzungen

macOS Apple Silicon oder Linux x64. System-Tools: brew install node ffmpeg. npx hyperframes doctor einmal. macOS GPU-Rendering: export PRODUCER_BROWSER_GPU_MODE=hardware.

Optionale Schlüssel (lokale Fallbacks, falls nicht gesetzt) – nur benötigt von Kategorien, die Assets über Mediennutzung beziehen/generieren:

SchlüsselVerwendet fürFallback
GEMINI_API_KEY / GOOGLE_API_KEYBildgenerierung (Mediennutzungs-Auflösung)Generierung überspringen / nur Suche
(Asset-Scouts / Suchanbieter)webpage/news/tweet + asset-fusion Echt-Asset-SucheKategorie degradiert zu asset-frei

Ablauf

Schritt 0 – Initialisieren

cwd ist das Arbeitsverzeichnis des Agenten; schreibe alle Artefakte unter PROJECT_DIR = videos/<projektname>/. <projektname>: Verwende das vom Benutzer angegebene Verzeichnis, sonst einen kurzen Kebab-Case-Namen aus der Absicht (<thema>-motion). Nicht den Basisnamen des Arbeitsbereichs oder einen Zeitstempel.

Nur wenn $PROJECT_DIR/hyperframes.json fehlt:

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

init überprüft die installierten Skills auf dem neuesten Stand gegen GitHub und aktualisiert das globale Set, wenn welche veraltet sind.

Einschränkungen: Führe niemals hyperframes init im Arbeitsbereichs-Root aus; verschachtele niemals ein weiteres hyperframes/ innerhalb von PROJECT_DIR; jeder Bash-Befehl (Master + Unteragenten) ist ein (cd "$PROJECT_DIR" && ...)-Subshell – niemals ein nacktes cd.

Schritt 1 – Planen (Unteragent: Director Teil 1)

Starte einen Unteragenten. prompt = vollständiges agents/director.md + ## Dispatch-Kontext (SKILL_DIR / PROJECT_DIR / die Anfrage des Benutzers / Schema: <SKILL_DIR>/references/shot-plan-ir.md). Er muss:

  1. Entscheiden: Braucht dies eine Suche? (die erste Gabelung)
    • Nein → wähle eine Form-Kategorie (kinetic-type / stat / charts / logo-reveal / lower-thirds); Inhalt wird vom Benutzer geliefert; asset_needs: [].
    • Ja → erstelle einen Suchplan in asset_needs[] (news / web / tweet / image; zweipolige Abfragen). Die spezifische suchgesteuerte Kategorie (webpage / news / tweet / asset-fusion) wird durch den in Schritt 2 zurückgegebenen Inhaltstyp bestätigt und in Schritt 3 finalisiert.
  2. Schreibe einen Entwurf shot-plan.json (Hülle + gewählte Form-Kategorie oder Suchabsicht + asset_needs + ein einabsätziger Einstellungs-Brief). Schema: references/shot-plan-ir.md.

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

Schritt 2 – Quellen ◇ (Bash: Mediennutzung, bedingt)

Wenn shot-plan.json.asset_needs nicht leer ist, löse Assets auf (Suche / Generierung / Abruf → eingefrorene projektspezifische Pfade + Ledger). Siehe phases/source/guide.md (umhüllt media-use resolve; die suchgesteuerten Kategorien verwenden die Nachrichten-/Web-/Tweet-/Bildsuche). Wenn asset_needs leer ist, springe zu Schritt 3.

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

Falle elegant zurück: Wenn ein Suchanbieter nicht verfügbar ist, fällt die Kategorie auf asset-frei zurück (dokumentiere es in context.log).

Schritt 3 – Entwerfen (Unteragent: Director Teil 2)

Starte einen Unteragenten (prompt = agents/director.md Teil 2 + Dispatch-Kontext einschließlich des aufgelösten assets/index.md, falls Schritt 2 ausgeführt wurde + catalog-map.md). Er entwirft die Einstellung um die verfügbaren Assets herum: Wähle den/die Katalog-Block(s) + die hyperframes-animation-Regeln/Blueprints, das Layout, die Bewegung, die Beats und (für asset-fusion) die element_positions + Pipetten-Palette. Finalisiert shot-plan.json (content.block + content.customize + kategoriespezifischer Inhalt).

Schritt 4 – Bauen (Unteragent: Builder, Wiederverwendung zuerst)

Starte einen Unteragenten. prompt = vollständiges agents/builder.md + Dispatch-Kontext (shot-plan.json, catalog-map.md, das module.md der Kategorie, references/motion-vocabulary.md, references/builder-contract.md). Wiederverwendung zuerst: npx hyperframes add <block> + vor Ort anpassen; nur Lücken + die Asset-Fusion-Möglichkeit per Hand schreiben. Ausgabe compositions/index.html gemäß dem HF-Vertrag (pausierte GSAP-Timeline auf window.__timelines, class="clip" + stabile IDs, tl.seek(0), deterministisch).

Schritt 5 – Überprüfen (Bash → Reparatur-Unteragent bei Fehlschlag)

(cd "$PROJECT_DIR" && npx hyperframes lint .)
(cd "$PROJECT_DIR" && npx hyperframes check .)
(cd "$PROJECT_DIR" && npx hyperframes snapshot --at <beweis-zeitpunkte>)

Wähle Beweiszeitpunkte, die den Eröffnungszustand, die charakteristische Bewegung und das finale Halten zeigen. Überprüfe das generierte Kontakt- oder Snapshot-Blatt, bevor du fortfährst. Bei Fehlschlag von lint, check oder Snapshot, starte den Reparatur-Unteragenten (agents/finalize.md) für einen einmaligen Reparaturdurchlauf vor Ort und führe dann die fehlgeschlagene Prüfung erneut aus. Ändere niemals eine festgelegte Dauer nur, um einen Fehler zu verbergen.

Schritt 6 – Freigeben und rendern (Bash)

Stelle eine Frage: „Vorschau oder rendern?“ Wenn der Benutzer die Vorschau wählt, öffne Studio und kehre nach Überarbeitungen zum selben Freigabe-Gate zurück:

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

Rendere nur nach einer expliziten Render-Antwort:

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

Überprüfe, ob die Ausgabe existiert, nicht leer ist und die beabsichtigte Dauer hat. Die finale Übergabe benennt das Artefakt, die tatsächliche Dauer, die Kompositions- oder Frame-ID, die Beweiszeitpunkte und das überprüfte Kontakt- oder Snapshot-Blatt. Flags befinden sich in /hyperframes-cli → references/preview-render.md.

Fortsetzungstabelle

ZustandFortsetzen ab
kein shot-plan.jsonSchritt 1 (plan)
shot-plan.json hat asset_needs, kein assets/Schritt 2 (source)
shot-plan.json final, kein compositions/index.htmlSchritt 3/4 (design+build)
compositions/index.html existiert, keine BeweisfotosSchritt 5 (verify)
Prüfungen und Beweisfotos bestanden, kein genehmigter RenderSchritt 6 (approval)
Genehmigter Render existiertAusgabe prüfen, dann melden

Design-Notizen (Betreuer – die Ausführung liest dies nicht)

  • Asset-first-Begründung: Die Beschaffung wird vorangestellt und informiert das Einstellungsdesign (der RWA-Fluss: analysieren → suchen → prüfen → komponieren). Die suchgesteuerten Kategorien (webpage/news/tweet) und asset-fusion stützen sich beide auf die Mediennutzungssuche (news/web/tweet/image), was die dokumentierte RWA-Abstammung der Mediennutzung ist.
  • Wiederverwendung zuerst: Das Ökosystem-interne Analogon zu LLM-generierten Vorlagen

…

[gekürzt für Übersetzung]

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

>

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.

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

Verwandte Skills