Communitygithub.com

motion-video

Erstellt komplett code-renderte Filme (jeder Frame von einem Programm berechnet): Intro-Werbung, Hype-Werbung, Produkttouren, Showreels, erklärende Erzählungen – Zielgruppe, Ton, Abschnitte, Übergänge, Kamerabewegungen, Export. Auslöser bei „做一支產品介紹片/宣傳片/廣告“, „酷炫、抓眼球的廣告“, „做 showreel“, „做旁白說明動畫“, „影片怎麼分段、換段、轉場、運鏡“, „這支片的基調/受眾“. KEINE UI-Animation eines einzelnen Elements (→ motion-design) oder Analyse von Referenzvideos (→ case-library).

Was ist motion-video?

Diese Skill ermöglicht die Erstellung vollständiger, durch Code gerenderter Filme – von Intro-Werbung über Hype-Werbung und Produkttouren bis hin zu Showreels und erklärenden Animationen. Jeder Frame wird von einem Programm berechnet, was maximale Kontrolle und Reproduzierbarkeit gewährleistet. Der Workflow legt den Fokus auf die gesamte Filmkomposition: Die Zielgruppe und der Ton werden vor jedem Schritt festgelegt, bevor Abschnitte, Übergänge und Kamerabewegungen definiert werden. Die Skill unterstützt verschiedene Filmtypen mit vorgegebenen Skeletten (Intro-Werbung, Hype-Werbung, Produkttour, Daten-Showreel, erklärende Erzählung) und bietet ein strenges Arbeitsschema von der Storyboard-Erstellung über den Export bis zur Qualitätskontrolle. Sie arbeitet auf Basis einer Sammlung von Referenzdokumenten, die evidenzgesteuerte Regeln enthalten (vom Benutzer validiert, gemessen, verifiziert oder unvalidiert). Die Skill ist als Router konzipiert: Elementbewegungen (Dauer, Beschleunigung, Federn) werden an die Schwester-Skill `motion-design` delegiert. Der gesamte Entwicklungsprozess ist in Schritte unterteilt: Zielbestimmung, Filmtyp-Auswahl, Rhythmusquelle, Storyboard-Tabelle, Geräteauswahl, Aufbau, Export, Überprüfung und Auslieferung. Die Skill ist für Plattformen wie Claude Code, Cursor und Codex optimiert und wird über bestimmte chinesische Schlüsselwörter ausgelöst. Sie enthält eingebaute Verifikationsmechanismen für Abschnittswechsel, Bewegungskontinuität, Inhaltsgenauigkeit, Kamerabewegungen und Auslieferbarkeit der Datei.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/WizerdBaChe/motion-video-kit/tree/HEAD/reference-impl/skills/motion-video

In Ihrer bevorzugten KI fragen

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

Dokumentation

motion-video – Erstellen eines vollständig code-gerenderten Films

Router-Skill für die Arbeit auf FILM-Ebene. Animationen auf Elementebene (Dauer, Beschleunigung, Federn, Farbwechsel innerhalb einer Komponente) bleiben in motion-design; lies ~/.claude/skills/motion-design/local/element-motion-params.md für die gemessenen Federwerte. Die Evidenzen befinden sich im Labor <lab> (Karten techniques/Tnn, Dokumentationen, Messungen); die Werkzeuge bleiben ebenfalls dort (Benutzer 2026-09-30), daher zitiert diese Skill deren Pfade, anstatt sie zu kopieren.

Jede Regel in den Referenzen trägt eine Evidenzstufe (references/evidence-and-instruments.md §Tiers): user (der Benutzer hat sie beim Ansehen von Filmen beurteilt), measured (ein kalibriertes Instrument hat sie in Quellfilmen gemessen), verified (ein verblindeter A/B-Test hat sie verschoben, die Bereiche überschneiden sich nicht), unvalidated (an Quellen gemessen, nie durch Nachahmung getestet). Formuliere keine unvalidierte Regel als bewiesen.

Routing-Tabelle

Wenn die Aufgabe sich bezieht auf…Lies
Was zuerst zu entscheiden ist; Zielgruppe, Ton, Grundfarbe, welche Informationen gehören; Gerät-Ton-Paarung; Materialien und Textreferences/whole-film-rules.md
Welcher Filmtyp; Abschnittsskelette (Intro-Werbung, Hype-Werbung, Produkttour, Daten-Showreel, erklärende Erzählung); Storyboard vs. ein Absatzreferences/film-types.md
Abschnittswechsel auf dem Takt oder auf der Erzählebene; Beat-Ausrichtung; Übergänge (Form-zu-Form, Abdunkeln, Wischen); Kamerabewegungenreferences/rhythm-transitions-camera.md
Aufbau der Seite, zeitgesteuertes Rendern, Export nach MP4, Produkttreue (Claims-Datei), Filmen einer interaktiven Live-Komponente (§4 Punkt 9), Cover, Überprüfungszyklus, Musikbeschaffung und Lizenzen (§5)references/build-and-export.md
Evidenzstufen; welches Laborinstrument was misst; woher jede Zahl stammtreferences/evidence-and-instruments.md
Footage oder generierte Medien (lokale ComfyUI-Bilder, Clips), Zuschneiden auf Musikbeats, eine austauschbare EDL – der Bearbeitungsweg, nicht eine zeitgesteuerte Seite (Benutzerentscheid 2026-10-18); jedes Asset trägt eine Herkunftsdatei oder das Rendern wird verweigertLabor tools/edit/README.md, Designlabor docs/edit-route-design.md
Ein kontinuierlicher physikalischer oder algorithmischer Prozess (ein wachsender Front, ein sich ausbreitendes Feld, eine wandernde Welle) – ein manim-ASSET (PNG-Sequenz + Herkunft), das in die zeitgesteuerte Seite eingebunden wird, nie ein ganzer manim-Film. Gesamtfilmproduktion und Bearbeitung-und-Einbindung (Assets, die verwendet werden müssen) sind separate Ebenen (Benutzerentscheid 2026-10-20); die Regeln zur Einbindung sind dünn, erster Test in ArbeitLabor experiments/probe-manim-insert-ow2010/README.md; Vorschlag ~/.claude/outputs/manim-explainer-route-20261020/
Feder-/Farbwechselparameter für ein einzelnes Elementmotion-design/local/element-motion-params.md
Vor dem Storyboard, jeder Film: die gemeinsame Designebene als eigene Kopie dieses Films – die Fehlerliste darin ist verbindlich (vom Autor abgelehnte Arbeit; niemals wiederholen)<item>/inputs/design-axes.md, kopiert durch works_contract.py open (Schritt 0); ein Laborarm erhält dieselbe Datei von run_arm.py
Das gleiche Prinzip in Beiträgen, Folien oder Webseiten (medienübergreifende Form, Achsen A–I, Generierungsachsen J/K, benannte Schulen) – Theorie, lies bei der Auswahl~/.claude/references/design-axes/

Arbeitsreihenfolge (jeder Schritt vor dem nächsten)

  1. Vor allem bestätigen (whole-film-rules.md §0): Zweck / Filmtyp (Intro-Werbung, Hype-Werbung, Produkttour, Erklärung, Profil), wo er gezeigt wird, was der Zuschauer nach dem Ansehen tun soll, die Zielgruppe, das EINE zu merkende, die ENERGIE (ruhig / lebhaft / mitreißend; erfragt, nie aus dem Produkt allein abgeleitet) und der Grundton, die Materialien und Grenzen, die inhaltliche Stimme (Marketing vs. leicht technisch) und die Präsentationsform (seitengebündelt vs. durchgehende Bühne). Ein Benutzer anwesend → diese Fragen stellen und warten. Unbeaufsichtigt → jede offene Frage in build/questions.md schreiben und die wörtlichste Lesart der Anfrage annehmen, festgehalten in build/plan.md. „產品介紹片“ allein klärt nicht Werbung vs. Tour (Benutzer r14); „廣告“ allein klärt nicht Intro vs. Hype (Benutzer r15). Ein Genre- oder Formname in der Anfrage (MAD, PV, Showreel, …) ist ein Filmtyp UND der Produktname, dem der Film als Thema dient: kläre dies mit film-types.md §Naming und bestätige diese Definition mit dem Benutzer vor dem Storyboard; ein Name ohne Eintrag dort wird erfragt, nie abgeleitet – ein unbestätigter Name ist der Fehler „falsches Ziel / unter Erwartung“ (Benutzer 2026-10-19: einzeilige MAD-Anfrage, deren erste Runde ein reiner Code-MV war). Formales Item oder Laborrunde? (formal = etwas, das der Autor versenden oder jemandem übergeben wird; die eine Definition lebt in <works>/README.md). Formal → der ERSTE Schritt der Aufgabe ist python -X utf8 ~/.claude/tools/design-axes-mount/works_contract.py open <works>/films/<film_id> --medium video --actor main-loop [--toolbox PFAD:ROLLE:ASPEKT ...], unabhängig vom Ordner der Anfrage; füge die von ihm ausgegebene „創作輸入“-Zeile in den Grenzvertrag ein und erstelle innerhalb des Items. Ein Generator, eine Komponente oder eine Seite aus EINER ANDEREN Lieferung (ein Buch-Illustrationsskript, ein vorheriger Film) ist ein Toolbox-Eintrag mit seiner Rolle und seinem Aspekt, niemals ein Standard (ein Buchprojekt 2026-10-11: der Linienkunst-Generator des Buches auf 1080p skaliert wurde abgelehnt, jetzt eine negative Referenz). Laborrunde → run_arm.py montiert dieselbe Ebene.
  2. Zuerst den gesamten Film (whole-film-rules.md §1): nenne die EINE Zielgruppe, was diese Zielgruppe wissen muss, den Ton (die in Schritt 0 benannte Energie; nur wenn keine, aus Produkt + Zielgruppe) und die EINE Grundfarbe (eine Hype-Werbung lockert sie, whole-film-rules.md §6). Diese vier sind festgelegt, bevor ein Gerät gewählt wird. Wenn die Produktdokumente nicht sagen, was eine Funktion löst, frage den Eigentümer (build-and-export.md §4 Punkt 7); unbeaufsichtigt, schreibe build/questions.md anstatt einen Schmerzpunkt zu erfinden.
  3. Filmtyp (film-types.md): Intro-Werbung, Hype-Werbung, Produkttour, Daten-Showreel, erklärende Erzählung oder Profilrolle – aus dem Zweck von Schritt 0, niemals daraus, welches Skelett am nächsten liegt. Wähle das Skelett; entscheide Storyboard (fester Inhalt) vs. ein Absatz (viele Durchläufe anzeigen).
  4. Rhythmusquelle (rhythm-transitions-camera.md §1): nur Musik → Abschnittswechsel auf Taktstrichen; Erzählung oder Liedtexte vorhanden → Abschnittswechsel an Zeilenanfängen, und die Musik ist nicht auch fest verriegelt. Ob ein Film überhaupt Erzählung erhält, folgt dem Filmtyp und Ton (Schritt 1-2); ein ruhiger Film kann dennoch Musik mit langsamen Abschnitten verwenden.
  5. Storyboard-Tabelle vor Code: lies zuerst inputs/design-axes.md (Routing-Tabelle, Zeile „Vor dem Storyboard“). Pro Abschnitt t, Überschrift, Bild, Daten, Layout, Übergang ein-/aus, Kamera-Ziel, Bewegungsintention (eine Zeile pro beweglichem Element und pro gestapelter Effektebene: was die Bewegung aussagt; ein Element ohne Zeile bleibt stehen oder geht, whole-film-rules.md §2a; ein benannter Effekt bekommt diese Zeile als Beschreibung, da ein Name allein, dessen Katalog- und Branchenbedeutungen kollidieren, als die Branchenbedeutung gebaut wird – Labor r28, 3/3 Durchläufe, verblindeter Leser; Labor docs/text-motion-vocabulary.md §3/§5), Schlüsselbilder (Zeitstrahl keys[]: mindestens ein role: key pro Abschnitt – der Moment, den ein Betrachter klar lesen oder sehen muss, mit optionalem hold; role: breakdown für eine Pose innerhalb des Abschnitts, die entscheidet, wie Bewegung verläuft; die Nähte zwischen Abschnitten werden abgeleitet, nie geschrieben; Labor docs/agent-review-kbt-design.md §3) und 參考角色 K/工具箱 (none standardmäßig; ein wiederverwendeter Generator oder eine Komponente benennt seine Rolle K und den ausgeliehenen Aspekt und muss mit einem --toolbox-Eintrag von open übereinstimmen). Zeige es dem Benutzer und warte auf Bestätigung, wenn ein Benutzer anwesend ist. Zeichne jede Designentscheidung, die du selbst triffst, mit python ~/.claude/tools/process-ledger/ledger.py add in dem Moment auf, in dem du sie triffst. Der Träger der Tabelle ist festgelegt (Benutzer 2026-10-08, Labor docs/production-order.md letzter Abschnitt): ein JSON film.timeline.json plus eine generierte schreibgeschützte Zeitstrahlseite; erforderlich bei Genehmigung = film_type, audience, energy, rhythm_source und pro Abschnitt at, dur, freedom (locked / guided / free), motion_intent; Kamera-Ziel / -Methode übernehmen die festgelegten Vokabulare D1 / D2. Das Werkzeug (tools/timeline/, Labor docs/timeline-layer-design.md) ist NICHT vor seinem TL-1-Meilenstein gebaut – behalte bis dahin die Markdown-Tabelle mit diesen Feldnamen (geänderte Aufnahmenamen sind in der §6.1-Tabelle des Designs abgebildet).
  6. Geräte: jedes Gerät hat seinen eigenen Ton; ein Gerät, das mit dem Ton von Schritt 1 kollidiert, wird fallengelassen, der Ton wird nie geändert, um zum Gerät zu passen (Benutzer 2026-09-30). Ein Standardgerät (Partikelausbruch, Tunnel, schwebender Kartenstapel, Glitch, großer Text als Design, gefälschte HUD-Zahlen) wird nur mit einer Bewegungsintentionszeile verwendet, die es an den Inhalt bindet (§2a).
  7. Aufbau (build-and-export.md §1): eine HTML-Seite, deren jeder Frame eine pure Funktion der Zeit ist (window.__setTime(t)); keine Timer, keine CSS-Übergänge.
  8. Export (build-and-export.md §2): exportiere mit filmkit, dem tools/filmkit/render.py des Labors (Profil lab-round), niemals mit einem handgeschriebenen Aufnahmeskript. Es zeichnet Frame für Frame auf, kodiert, verifiziert und veröffentlicht erst dann den Ausgabenamen; seine check.py entscheidet, ob die DATEI lieferbar ist. Formale Filme bündeln ihre Schriftarten mit @font-face (eine offen lizenzierte serifenlose Familie, die CJK und Latein abdeckt, z.B. Noto Sans TC; verlasse dich nie auf die auf dem exportierenden oder betrachtenden Rechner installierten Schriftarten, Labor D26). Ein formaler Film exportiert mit --profile delivery-web (Formatfelder, plus FK-R-18 / FK-R-19-Sperren, wenn der Film kein mit open geöffnetes Works-Item ist oder dessen Mount veraltet ist). Lautstärke und wahrer Spitzenpegel werden von check.py als Tatsache gemeldet (FK-R-17, Info). Um sie gegen eine Plattform zu beurteilen, übergib --rules <rules datei> --target <name>; ein Ziel ist ein Anspruch in der Regeln-Datei mit seiner Quelle und review_when, niemals von der Skill angenommen.
  9. Überprüfung (build-and-export.md §3): zuerst 1 fps Gesamtfilmblatt, dann Details; Feedback als „Sekunde / wo / Änderung“; eine Änderung nach der anderen; maximal 3 Runden. Ein formaler Film wird dann SEITE AN SEITE überprüft: works_contract.py review <item> platziert das Blatt des Kandidaten neben ein genehmigtes Filmblatt desselben Typs, das nach Tags ausgewählt wurde (oder schreibt reference: none), und der Prüfer ist nicht der Ersteller (§3 Punkt 9) – in einer einzigen Sitzung liest ein Subagent mit sauberem Kontext deliver/_review/side-by-side.png und die erste Zeile des Urteils ist reviewer: subagent-clean-context. works_contract.py deliver <item> verweigert, bis deliver/_review/verdict.md neuer als der Kandidat ist. Agenten-Prüfpfad (Benutzer 2026-10-19, Labor docs/agent-review-kbt-design.md; der Benutzer gibt nur Richtung und Designinhalt vor): ein Maker-Subagent erstellt, die dispatchende Hauptschleifensitzung prüft und bearbeitet den Film nie; sie kommunizieren über Dateien (tools/review/review.py), Tore G0 Storyboard (Maker prüft den Regisseur) → G1 Schlüsselbilder (nur harte Punkte) → G2 K/T-Fenster (Gefühl = POLIEREN) → G3 gesamter Film, maximal 3 Runden pro Tor; nur die Fehlerliste, filmkit-Sperrzeilen, Produkttreue und einmal gesehene Mängel dürfen SPERREN; nach Runde 3 wird die beste Version mit den offenen Punkten versandt, und das Urteil sagt reviewer: dispatcher-main-loop, user_watched: no (build-and-export.md §3 Punkt 10).
  10. Ausliefern mit der untenstehenden Abnahmeform. Ziel: ein Works-Item (<works>/films\<film_id>\, Prädikat in <works>/README.md); das vom Benutzer benannte Projekt behält einen Zeiger (_MOVED_<datum>.txt) oder nur sein eigenes Buch / seine Daten. Ein in seinem eigenen Projekt erstellter und übernommener Film (Generator fremd) tritt erneut mit works_contract.py adopt <same root> --id <id> --revise nach jeder akzeptierten Runde ein. Wo jedes Item steht: <works>/STATUS.md (zuerst lesen). Eine Laborrunde geht zu <lab>\experiments\<round>\.

Modelle (Benutzer 2026-10-10, Labor CLAUDE.md Rulings; verursacht experiments/r22-haiku/REPORT.md): Haiku erstellt niemals einen Film, weder als Dirigent noch als Arbeiter in einem der obigen Schritte; der feste Inhalt einer Komponente gilt als Produktion (Labor D-T12).

Urteile, die diese Skill abgeben kann, und wie jedes verifiziert wird

  • „Abschnittswechsel liegen auf dem Takt / der Zeile“ → tools/measure_product.py oder tools/narrlock.py auf dem gerenderten MP4 (Laborpfade).
  • „Bewegung ist unter Erzählung kontinuierlich“ → tools/density.py, beweglicher Anteil und Standbildläufe.
  • „Jede Zahl / Funktion ist echt“ → tools/fidelity.py + build/claims.json (T05).
  • „Es gibt eine Kamerabewegung“ → tools/camflow.py; at_boundary-Läufe benötigen eine Bildansicht.
  • „Die Datei ist lieferbar“ (lesbar, erwartete Länge, Größe und Codec, Ton vorhanden wenn erwartet, von filmkit aus den jetzt auf der Festplatte befindlichen Eingaben geschrieben) → tools/filmkit/check.py (render.py führt es selbst aus). Exit 0 bedeutet keine Sperr-Zeile, nichts über das Bild.
  • „Sieht gut aus / entspricht der Referenz“ → NIEMALS aus Zahlen. Ein modellgelesenes Bildblatt UND die eigene Ansicht des Benutzers (Labor INV-6). Zahlen beweisen den Datenpfad, nicht das Bild. Auf dem Agenten-Prüfpfad wird dieses Urteil nie abgegeben: der Film wird als „unter Agentenprüfung ausgeliefert, nicht vom Benutzer angesehen“ (Urteil user_watched: no).
  • „Lautstärke liegt im Zielbereich“ → check.py --rules F --target NAME; ein UNBESTIMMT für ein Ziel ohne Toleranz ist eine Lücke in der Regeln-Datei, kein Bestehen.

Auslieferungsform (ein Mensch muss den Film ansehen)

Füge die Abschnitte 1-4 von check.md (blockierend / bestätigt / benötigt einen Blick / unbestimmt) wörtlich ein (Abschnitt 5, die vom Autor erklärten Ausnahmen, bleibt in der Datei) – für einen formalen Film aus der --profile delivery-web-Prüfung, damit die FK-R-18- (Design-Axes-Mount) und FK-R-19- (Works-Stempel) Zeilen darunter sind, plus die reference:-Zeile von deliver/_review/report.md, einschließlich der rerun-Zeilen, vor der Checkliste; die eigenen Fragen der Sitzung folgen separat und werden niemals in die eingefügten Abschnitte gemischt. Jede transform.py-Operation (normalize existiert seit filmkit M3: transform.py normalize <in> --out <new> --target-lufs X --true-peak Y oder --rules F --target NAME; duck und convert sind nicht gebaut) an einem formalen Film wird zuerst erfragt, wobei der Name der neuen Datei genannt wird, die sie erstellt, und eine neue Runde von check.py --profile delivery-web muss die transformierte Datei bestehen. Der Konsens des Benutzers ist nötig, nicht das Urteil der Skill.

Verwandte Skills