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 Text | references/whole-film-rules.md |
| Welcher Filmtyp; Abschnittsskelette (Intro-Werbung, Hype-Werbung, Produkttour, Daten-Showreel, erklärende Erzählung); Storyboard vs. ein Absatz | references/film-types.md |
| Abschnittswechsel auf dem Takt oder auf der Erzählebene; Beat-Ausrichtung; Übergänge (Form-zu-Form, Abdunkeln, Wischen); Kamerabewegungen | references/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 stammt | references/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 verweigert | Labor 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 Arbeit | Labor experiments/probe-manim-insert-ow2010/README.md; Vorschlag ~/.claude/outputs/manim-explainer-route-20261020/ |
| Feder-/Farbwechselparameter für ein einzelnes Element | motion-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)
- 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 inbuild/questions.mdschreiben und die wörtlichste Lesart der Anfrage annehmen, festgehalten inbuild/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 mitfilm-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 istpython -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.pymontiert dieselbe Ebene. - 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, schreibebuild/questions.mdanstatt einen Schmerzpunkt zu erfinden. - 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). - 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. - Storyboard-Tabelle vor Code: lies zuerst
inputs/design-axes.md(Routing-Tabelle, Zeile „Vor dem Storyboard“). Pro Abschnittt, Ü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; Labordocs/text-motion-vocabulary.md§3/§5), Schlüsselbilder (Zeitstrahlkeys[]: mindestens einrole: keypro Abschnitt – der Moment, den ein Betrachter klar lesen oder sehen muss, mit optionalemhold;role: breakdownfür eine Pose innerhalb des Abschnitts, die entscheidet, wie Bewegung verläuft; die Nähte zwischen Abschnitten werden abgeleitet, nie geschrieben; Labordocs/agent-review-kbt-design.md§3) und 參考角色 K/工具箱 (nonestandardmäßig; ein wiederverwendeter Generator oder eine Komponente benennt seine Rolle K und den ausgeliehenen Aspekt und muss mit einem--toolbox-Eintrag vonopenübereinstimmen). Zeige es dem Benutzer und warte auf Bestätigung, wenn ein Benutzer anwesend ist. Zeichne jede Designentscheidung, die du selbst triffst, mitpython ~/.claude/tools/process-ledger/ledger.py addin dem Moment auf, in dem du sie triffst. Der Träger der Tabelle ist festgelegt (Benutzer 2026-10-08, Labordocs/production-order.mdletzter Abschnitt): ein JSONfilm.timeline.jsonplus 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/, Labordocs/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). - 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).
- 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. - Export (
build-and-export.md§2): exportiere mit filmkit, demtools/filmkit/render.pydes Labors (Profillab-round), niemals mit einem handgeschriebenen Aufnahmeskript. Es zeichnet Frame für Frame auf, kodiert, verifiziert und veröffentlicht erst dann den Ausgabenamen; seinecheck.pyentscheidet, 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 mitopengeöffnetes Works-Item ist oder dessen Mount veraltet ist). Lautstärke und wahrer Spitzenpegel werden voncheck.pyals 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 undreview_when, niemals von der Skill angenommen. - Ü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 schreibtreference: none), und der Prüfer ist nicht der Ersteller (§3 Punkt 9) – in einer einzigen Sitzung liest ein Subagent mit sauberem Kontextdeliver/_review/side-by-side.pngund die erste Zeile des Urteils istreviewer: subagent-clean-context.works_contract.py deliver <item>verweigert, bisdeliver/_review/verdict.mdneuer als der Kandidat ist. Agenten-Prüfpfad (Benutzer 2026-10-19, Labordocs/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 sagtreviewer: dispatcher-main-loop,user_watched: no(build-and-export.md§3 Punkt 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 mitworks_contract.py adopt <same root> --id <id> --revisenach 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.pyodertools/narrlock.pyauf 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.pyfü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.