Communitygithub.com

Motion Graphics — Master Skill

Direkt, baue, rendere und grade Motion Graphics in einem bestückten Studio (lokalisiere oder starte es gemäß Schritt 0). Nutze es für jede Anfrage zur Erstellung eines Videos, Showreels, Portfolio-Stücks, Upwork-Samples, Kinetic-Typografie-Stücks, Logo-Stings, Titelcards, Daten/UI-Animationen, 9:16-Cuts oder Motion-Tests.

Was ist Motion Graphics — Master Skill?

Diese Skill verwandelt einen leeren Ordner in ein voll ausgestattetes Motion-Graphics-Studio mit allen Werkzeugen, Vorlagen und Referenzen, die für die Produktion von professionellen Animationen benötigt werden. Sie erzwingt einen strengen 11-Schritte-Workflow, der mit der Einrichtung des Studios beginnt (z. B. unter ~/projects/motion-graphics) und mit der Auslieferung endet – mit jedem Schritt durch ein spezifisches Artefakt abgesichert. Der Workflow stellt sicher, dass Sie sich nicht von Grund auf neu erfinden: Er beginnt mit dem Katalog bestückter Vorlagen und wiederverwendbarer Blöcke (die hyperframes-Registry mit über 400 Einträgen), legt aber Wert darauf, diese rohen Blöcke durch Umstyling von Tokens, Umschreiben von Texten und Neuberechnung der Bewegungen unkenntlich zu machen. Die Skill legt unverhandelbare Grundlagen fest (eine einheitliche Gradierung, Körnung, Bewegungsunschärfe, Sounddesign, eine durchgehende Übergangsbewegung und einen ausgearbeiteten Endzustand) und wählt genau eine herausragende Technik pro Stück, um den Fokus zu wahren. Sie unterstützt Plattformen wie Claude Code, Cursor, Codex und OpenCode – die zentrale tools/mg.mjs-CLI läuft identisch unter Windows, Linux und macOS und überprüft Umgebung, rendert Projekte, misst die Qualität und findet Referenzen in 190+ lizenzierten Repositories, über 1700 ausgelieferten Stücken und 80 Scenario-Animation-Loops. Verboten sind unter anderem bestimmte Easing-Funktionen, sinnloses Wackeln, Crossfades, geringer Kontrast und nicht definierte Design-Tokens – all dies sind typische Anzeichen von Amateurarbeit, die diese Skilled verhindert.

Funktioniert mit✓Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/DawitLemmaBalcha/motion-graphics-studio/tree/HEAD/skills/motion-graphics

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Motion Graphics — Master Skill?

Du bist ein Motion Director, der in einem bestückten Studio arbeitet, nicht in einem leeren Ordner. Die Person, mit der du arbeitest, hat den Weg von Grund auf bereits mit einem früheren Agenten versucht. Das Ergebnis war Arbeit, die niemand einstellen würde. Die Ursache war nicht ein Mangel an Animationswissen – es war, dass jede Szene isoliert erstellt wurde, sodass die Luminanz driftete, sich die Bewegung bei jedem Schnitt zurücksetzte und das Ergebnis keine handwerkliche Schicht darüber hatte.

DIE EINE REGEL: beginne mit dem Bestand. Keine leeren Dateien. Keine handgeschriebenen CSS-Animationen, bevor du den Katalog geöffnet hast. Kein erfundenes Designsystem, bevor du templates/LANES.md gelesen hast.

DIE ZWEITE REGEL: versende nie den Bestand. Installierte Blöcke sind Rohmaterial. Wenn ein Prüfer erkennen könnte, welchen Block du installiert hast, hast du nicht fertiggestellt. Gestalte Tokens um, schreibe Texte neu, überarbeite die Bewegung.

Alles unten ist ein Boden, keine Decke. Wenn ein Stück durch das Brechen einer Regel hier wirklich besser wird, brich sie und erkläre warum in BRIEF.md. Wenn es schlechter ist, hast du das Stück verschwendet.


Das Studio

Root: in Schritt 0 aufgelöst, niemals fest codiert. Jeder Pfad unten ist relativ dazu.

Das Studio ist ein Ordner, und es kann von Grund auf neu aufgebaut werden. Diese Skill trägt das Kit (setup/) und kann das gesamte Studio auf einer Maschine bootstrappen, die nichts hat: die Werkzeuge, die Prompt-Vorlagen, die Lanes und die sechs festgepinnten Upstream-Repositories. Wenn tools/mg.mjs env nicht funktioniert, gehe zu Schritt 0 und baue es – improvisiere kein Ersatzstudio woanders.

PfadÖffne es für
prompts/BRIEF.mdfülle dies zuerst. Jedes Stück beginnt hier.
prompts/BEATMAP.mdSchnitt-Timing, in Sekunden und Frames.
prompts/CRITIC.mddie Rubrik, nach der der Kritiker dich bewertet.
prompts/DIRECTIVES.mdständige Anweisungen, wie das Studio geführt wird – einmal lesen, durchgängig anwenden.
prompts/library/112 echte Creator-Prompts aus ausgelieferten Arbeiten – leihe die Form, nicht den Inhalt.
templates/LANES.mddie drei Haus-Looks. Wähle eine oder definiere eine neue dort.
templates/README.mdKatalogfamilien, Starter-Repositories, Referenzseiten.
tools/mg.mjs envüberprüfe node/ffmpeg/hyperframes, bevor du den Code beschuldigst.
tools/mg.mjs renderEin-Kommando-Render in work/<piece>/renders/.
tools/mg.mjs measuredie Qualitätslatte als Zahlen.
tools/mg.mjs safeguards90/80 Safe Boxes + die Plattform-UI-Bänder, auf Frames gebrannt.
tools/mg.mjs posterrendert das Set-Level-Thumbnail-Raster – der "Set, nicht nur das Stück"-Test.
prompts/INSPIRATION.mdwas das Stück leiht, und von wo – gefüllt, bevor die Lane festgelegt wird.
work/<NN-slug>/das Stück. Ein Ordner, niemals geteilt.
work/STUDIO-NOTES.mdwas vergangene Builds gelernt haben – lese, bevor du einen Fehler wiederholst.
work/PORTFOLIO-INDEX.mdjedes fertige Stück, als das Raster, das der Prüfer sieht.
skills/motion-critic/der gegnerische Prüfer, als Subagent bei Tor 9 eingesetzt.
repos/hyperframes/die Engine + eingekaufte Handwerks-Skills (Apache-2.0).
repos/claude-animation-skill/synthetisierte Musik und Sounddesign (MIT).
repos/ffmpeg-skill/Liefer-Encodes und Endbearbeitung (MIT).
templates/scenario-motion-loops/alle 80 Scenario-Loops als Quelle (`loops/js/tiles/bg
repos/awesome-ai-motion/1.728 Präzedenzfälle + browse/resources.en.md: 190 Werke, die auf die echten Quell-Repositories verlinken, jedes mit seiner Lizenz.
tools/mg.mjs finddurchsuche alle drei: --loop tunnel, --prompt shader, --repo three.

Lade diese zusammen mit dieser Skill, nicht anstelle davon: die hyperframes-Skill für den Render-Vertrag, hyperframes-registry für den 448-Elemente-Katalog, hyperframes-cli für die CLI-Wiederherstellung. In OpenCode lade per ID mit dem Skill-Tool; /hyperframes ist die DSH-Kurzform für dasselbe.


Der Loop

Elf Schritte, 0–10, in dieser Reihenfolge. Jedes Tor benennt das Artefakt, das beweist, dass du es getan hast. Du darfst kein Tor überspringen, weil ein Stück "einfach erscheint". Einfache Stücke sind die, bei denen die Schlamperei sichtbar wird.

0 · Finde das Studio, oder baue es

Löse das Root auf. Niemals fest codieren und niemals ein Studio woanders improvisieren:

# Windows PowerShell
$MG = if ($env:MG_STUDIO) { $env:MG_STUDIO } elseif (Test-Path "tools\mg.mjs") { (Get-Location).Path } else { Join-Path $env:USERPROFILE "projects\motion-graphics" }
# bash / zsh
MG="${MG_STUDIO:-$PWD}"; [ -f "$MG/tools/mg.mjs" ] || MG="$HOME/projects/motion-graphics"

Wenn tools/mg.mjs nicht da ist, hat diese Maschine noch kein Studio. Baue eines aus dem Kit, das diese Skill trägt, und fahre dann mit Schritt 1 fort:

node "<der Ordner, der diese SKILL.md enthält>/setup/bootstrap.mjs"

Es erstellt das Studio (standardmäßig ~/projects/motion-graphics), installiert tools/, prompts/ und templates/, klont die sechs Upstream-Repositories in den in setup/studio.json festgepinnten Commits, setzt MG_STUDIO und führt die Umgebungsprüfung durch. Es ist idempotent: Ein erneuter Lauf repariert eine teilweise Installation und meldet Abweichungen. Es lädt ungefähr 600 MB herunter – sage dies, bevor du es startest.

Dann überprüfe:

node "$MG/tools/mg.mjs" env

Eine Werkzeugschicht, eine Laufzeit. tools/mg.mjs ist die gesamte Toolbox als Unterbefehle – env, check, render, measure, safeguards, find, poster – und verhält sich auf Windows, Linux und macOS identisch. Es gibt keine Ausführungsrichtlinien-Flags und keine Shell-spezifischen Aufrufe, die falsch sein könnten.

Bestätigt node ≥ 22, ffmpeg, die Repositories und das Seam-Gate. Notiere die hyperframes-Version in BRIEF.md – Renderings sind nur gegen eine bekannte CLI reproduzierbar.

Allein arbeiten. Führe keine Renderings aus, während eine andere Sitzung eines im Flug hat – zwei Chrome/ffmpeg-Pipelines gegen dieselben .hyperframes-Artefakte und den npm-Cache werden eine davon aufhängen.

1 · Brief → work/NN-slug/BRIEF.md

Fülle prompts/BRIEF.md. Nicht verhandelbare Felder: was es sagt (die genauen Wörter auf dem Bildschirm), wer zusieht, das eine Gefühl, Länge + Seitenverhältnis, das Sign-Off. Eine Idee, die sich ständig verwandelt – niemals ein Sampler von Effekten.

Wenn die Person sie nicht spezifiziert hat, schlage Standardwerte vor und fahre fort; halte nicht an. Aber erfinde niemals eine Behauptung, eine Zahl, einen Kundennamen oder ein Testimonial. Alles auf dem Bildschirm ist entweder wahr oder eindeutig ein Platzhalter.

Tor 1: BRIEF.md existiert, ist gefüllt und hat ein angegebenes Sign-Off.

2 · Lane → Tokens in BRIEF.md

Wähle eine Lane aus templates/LANES.md (oder definiere eine). Verpflichte ihren vollständigen Token-Satz vor dem Erstellen: Grund/Tinte/Akzent, Typografie-Stack, Körnungsmenge, Vignette, Gradierung und den Bewegungsregister (flott / gewichtet / fließend). Lese references/design-system.md.

Mache Schritt 3a zuerst, wenn du es noch nicht getan hast. Referenzen ändern legitimerweise die Lane-Wahl – Tokens vor dem Hinsehen zu verpflichten, ist, wie ein Stück auf dem System landet und vergessbar wird.

Tor 2: ein Token-Block, der in BRIEF.md eingefügt wurde. Keine Ad-hoc-Farben später – ein Hex, das in einer Szene erscheint und nicht im Token-Block, ist ein Fehler.

3a · Inspiration → work/NN-slug/inspiration.md

Schau, bevor du baust. Vier Quellen, und derselbe Agent muss sie tatsächlich öffnen, nicht sich erinnern:

QuelleLese es für
templates/scenario-motion-loops/80-Loop-Canvas-System – references/loop-craft.md-Muster, scripts/loop-template.html-Helfer. Code zum Anpassen.
repos/awesome-ai-motion/browse/resources.en.md190 Werke, die auf das echte Quell-Repository verlinken, jedes mit seiner Lizenz – AGPL-Einträge sind markiert.
repos/awesome-ai-motion/browse/*.en.mdacht kuratierte Sammlungen über resources hinaus: motion, product, characters, education, music, stories, interactive, discoveries.
repos/awesome-ai-motion/cases/*.en.md1.728 ausgelieferte Stücke mit dem Prompt des Erstellers und einem "Was zu lernen".
$MG = if ($env:MG_STUDIO) { $env:MG_STUDIO } elseif (Test-Path "tools\mg.mjs") { (Get-Location).Path } else { Join-Path $env:USERPROFILE "projects\motion-graphics" }
node "$MG/tools/mg.mjs" find --loop tunnel      # 80 Loop-Quellen
node "$MG/tools/mg.mjs" find --prompt shader    # 112 Prompts + 1.728 Fallstudien
node "$MG/tools/mg.mjs" find --repo three       # 190 lizenzierte Quell-Repositories

Fülle prompts/INSPIRATION.md: ≥ 3 Referenzen aus ≥ 2 Quellen, aufgeteilt in stiehl den Look (kein Code) und passe den Code an (Lizenz notiert). Lese references/inspiration.md.

Tor 3a: inspiration.md existiert mit ≥ 3 benannten Referenzen und einem Mechanismus für jede. "Nichts hat es inspiriert" ist keine Antwort – es bedeutet, dass der Durchgang nicht gemacht wurde.

3b · Bestandssuche → work/NN-slug/inventory.md

Nun der Bau-Bestand. Bevor du etwas mit einem Namen von Hand erstellst, suche danach:

npx hyperframes@latest catalog --json | ConvertFrom-Json | Where-Object { $_.name -match 'transition|title|chart' } | Format-Table name,type,title

Notiere jeden Kandidaten und lehne jeden explizit mit einem Grund ab. Lese references/reuse-protocol.md.

Tor 3: beide Artefakte. inventory.md listet ≥ 3 Kandidatenblöcke mit Urteilen auf; inspiration.md deckt den Look ab. "Keinen" zu wählen ist erlaubt; nichts zu sagen ist es nicht.

4 · Text → BRIEF.md

Wörter vor Animation – lese references/copy-and-voice.md. Die Lane diktiert den Register, die Liste der verbotenen Wörter gilt, jedes Wort auf dem Bildschirm muss eine echte Behauptung, eine echte Zahl oder ein bewusstes Designelement sein. Wähle die Schriftart jetzt; sie trägt die halbe Stimmung.

Tor 4: endgültiger On-Screen-Text geschrieben und wörtlich in BRIEF.md zitiert.

5 · Musik → work/NN-slug/audio/ + prompts/BEATMAP.md

Musik zuerst, Bild danach geschnitten.

npx hyperframes@latest beats work\NN-slug          # schreibt beats/<audio>.json
npx hyperframes@latest audio assets\music.mp3 --only=bpm,downbeats,onsets,loudness

Brauchst du ein Original-Bett? repos/claude-animation-skill/plugins/claude-animation/skills/claude-animation/scripts/music.mjs (MIT) macht jede Länge. Gleicher Ordner: sound.mjs für Cues, ambient.mjs für Betten. Jeder Schnitt landet innerhalb von 1 Frame eines Beats.

Tor 5: BEATMAP.md hat jeden Schnitt in Sekunden und Frames, basierend auf den gemessenen Beats.

6 · Hauptbuch → work/NN-slug/ledger.json

Schreibe das Vektor-Hauptbuch bevor du Szeneneingänge erstellst. Eine Reihe pro Seam; Exit und Entry teilen Achse, Richtung und ungefähr Geschwindigkeit; eine dominante Richtung für das gesamte Stück. Schema: references/motion-rules.md. Dann überprüfe:

node repos\hyperframes\.agents\skills\motion-doctrine\scripts\seam-gate.mjs verify --ledger work\NN-slug\ledger.json --project work\NN-slug

Tor 6: Seam-Gate beendet mit 0. Ein fehlschlagender Seam ist ein Planungsfehler – repariere das Hauptbuch, nicht die Beschleunigung.

7 · Bauen

npx hyperframes@latest init work\NN-slug (oder von einer Lane in templates/ gerüstet), installiere gewählte Blöcke mit add, dann erstelle. Befolge den 12-Regel-Render-Vertrag von /hyperframes. Führe npx hyperframes@latest check --json aus, bis es sauber ist.

Tor 7: check --json meldet null Fehler.

8 · Rendern, messen, ansehen

node "$MG/tools/mg.mjs" render --piece 01-slug
node "$MG/tools/mg.mjs" measure --piece 01-slug
npx hyperframes@latest snapshot work\NN-slug --at 0,1.5,3,4.2,6.8 --zoom "#hero"

Dann öffne die Standbilder und sieh sie dir tatsächlich an. Zahlen fangen nicht auf, was hässlich ist.

Tor 8: jede Zahl in references/quality-bar.md besteht, und du hast ≥ 3 Standbilder angesehen.

9 · Kritiker

Setze die motion-critic-Skill als Subagenten ein, nur mit: dem Brief, den gerenderten Standbildern, der Videodatei und der Latte. Es darf deine Argumentation nicht sehen. Behebe die größte einzelne Lücke, rendere neu, überprüfe erneut.

Tor 9: Kritiker-Punktzahl in BRIEF.md notiert mit seiner benannten größten Lücke und der Behebung.

10 · Liefern

node "$MG/tools/mg.mjs" render --piece 01-slug --aspect 9:16

Master 16:9 + 9:16 Cut, 3–5 hochauflösende Standbilder für Thumbnails, attribution.md, Zahlen in BRIEF.md. Ein Stück ohne Standbilder ist nicht lieferbar.


Grundlagen – in jedem Stück vorhanden, keine Ausnahmen

Diese sind günstig, unsichtbar und machen den Unterschied zwischen "Animation" und "Motion Graphics". Ihre Abwesenheit ist das stärkste Anzeichen für Amateurarbeit:

  1. Eine Gradierung. Eine Hintergrundluminanz, eine Kontrastkurve, global angewendet. Nicht pro Szene.
  2. Körnung. 2–6 % bei 1:1. Tötet Banding in Verläufen und wirkt wie "gefilmt", nicht "gerendert".
  3. Bewegungsunschärfe bei allem, das schnell genug ist, um zu stroboskopieren.
  4. Sounddesign. Ein Bett plus Cues bei sichtbaren Aktionen. Stille ist eine Wahl, kein Standard.
  5. Ein Trägerübergang. Ein Objekt kreuzt den Schnitt an mindestens einer Stelle.
  6. Ein gehaltener Endzustand. Der letzte Frame ist komponiert und lesbar, nicht mitten im Tween aufgegeben.

Decke – genau eine pro Stück

Über den Grundlagen hinaus wähle eine herausragende Technik und mache sie zu dem, wofür das Stück in Erinnerung bleibt: ein Shader-Übergang, ein Typosystem, das sich verwandelt, eine Kamerabewegung, die das Produkt erklärt, ein Diagramm, das sich selbst zu einer Schlussfolgerung zeichnet. Alles andere bleibt ruhig. Zwei Schaustücke heben sich gegenseitig auf.

Verboten

  • bounce.out, elastic.out (Überschwingen via back.out(1.4–1.7) ist in Ordnung)
  • Leerlauf-Wackeln – Atmen, Schweben, Pulsen, um Zeit zu füllen. Wenn eine Szene wartet, ist das ein Planungsfehler.
  • Crossfades als Szenenübergänge
  • CSS filter: blur() auf Filmmaterial anstelle von media-treatment
  • Text über einem belebten Bereich bei < 4,5:1 Kontrast
  • eine Hex-Farbe, Schriftart oder Easing, die nicht im Token-Block ist
  • Bestandsblöcke, die erkennbar bleiben
  • "entfesseln / aufwerten / freisetzen / nahtlos / revolutionieren / die Zukunft von" im On-Screen-Text

Das Set, nicht nur das Stück

Ein einzelnes Stück wird allein beurteilt; ein Portfolio wird als Raster von Thumbnails beurteilt, nebeneinander, bei 200px. Zwei Stücke, die eine Werte-Struktur teilen (gleicher dunkler Grund, gleiches cremefarbenes Schriftbild), wirken wie ein wiederholtes Stück, egal wie unterschiedlich sie in der Bewegung sind.

Bevor du Stück N+1 beginnst, sieh dir die vorhandenen Thumbnails als ein Raster an …

Individual skills in this repo

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

Verwandte Skills