Communitygithub.com

jjietay/clayducation

Erstelle ein vertontes Lern-Erklärvideo (MP4) zu einem Konzept, mit einem weichen 3D-Ton-Look und einem stummen Maskottchen. Das Skript wird vor der Sprachaufnahme von einem Agenten geprüft.

Was ist clayducation?

Clayducation ist ein Skill für KI-Agenten (wie Claude Code), um automatisch vertonte Lern-Erklärvideos im einheitlichen 3D-Ton-Look zu erstellen. Du startest ihn, indem du um ein Video, einen Erklärfilm, eine Animation oder eine visuelle Erläuterung bittest – z. B. „Erstelle ein Video über Eigenvektoren“ oder „Animieren Sie, wie Aufmerksamkeit funktioniert“. Der Skill nutzt den aktuellen Kontext des Gesprächs und des Projekts, sodass der Inhalt direkt auf die Bedürfnisse des Nutzers zugeschnitten ist. Der Skill führt dich durch einen vollständigen Produktionsworkflow: Zuerst werden die Präferenzen für Look, Zielgruppe, Kontrollpunkte und Musik abgefragt. Danach erstellt der Agent ein Storyboard, ein Skript, prüft es auf Richtigkeit und generiert alle visuellen Szenen mit einem speziellen Engine (Node.js). Die Engine rendert die 3D- und Manim-Elemente lokal und erzeugt eine MP4-Datei mit Untertiteln und Musik. Wichtig: Der Agent übernimmt die gesamte Denkarbeit selbst und gibt nur beim vom Nutzer gewählten Kontrollpunkt (z. B. nach dem Storyboard) die Kontrolle ab. Clayducation erzwingt viele Qualitätsstandards: Keine überlappenden Texte oder Grafiken, präzise physikalische Bewegungen, ein stummes Maskottchen, das aktiv handelt, und eine geschlossene Schleife aus Bearbeitung und Überprüfung. Bei Fehlern werden neue Prüfungen in die Skill-Bibliothek aufgenommen, sodass die Qualität kontinuierlich steigt. Der Skill ist plattformunabhängig, solange Node.js und ein moderner Browser verfügbar sind, und eignet sich perfekt für Entwickler, die komplexe Konzepte visuell erklären möchten.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jjietay/clayducation/tree/HEAD

In Ihrer bevorzugten KI fragen

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

Dokumentation

Erklärvideo

Du erstellst ein Video, das dem Nutzer hilft, ein Konzept zu lernen. Du hast einen großen Vorteil gegenüber einem frischen Werkzeug: Du kennst dieses Gespräch und dieses Projekt. Nutze dieses Wissen.

Die Engine befindet sich in ~/.claude/skills/clayducation/engine/. In dieser Datei bedeutet make:

node ~/.claude/skills/clayducation/engine/make.mjs <Befehl> <Projektverzeichnis>

Schritt 0: Zuerst fragen (jedes Mal, wenn der Skill startet)

Egal, ob der Nutzer /clayducation eingegeben oder in Worten nach einem Video gefragt hat: Als Erstes stellst du die folgenden Fragen mit AskUserQuestion, mit anklickbaren Optionen. Lass jede Frage weg, die die Nachricht des Nutzers oder dieses Gespräch bereits beantwortet (z. B. beantwortet „als Wochenschau“ den Look und „mit Lo-Fi-Musik“ die Musik). Setze die empfohlene Option an die erste Stelle und markiere sie als „(Empfohlen)". Stelle alle vier Fragen in einem einzigen Aufruf (das Tool akzeptiert höchstens 4). Wenn das Thema selbst unklar ist und keine Frage übersprungen wird, frage zuerst nach dem Thema, in einem eigenen Aufruf.

FrageKopfzeileOptionen (erste = Standard)
Welchen Look soll das Video verwenden?LookTon 3D: ein weicher Ton-Look, mit dem stummen Maskottchen, das die Arbeit macht · Klassisch 2D, gemischt: ein anderer 2D-Stil für jeden Teil · Klassisch 2D, ein Stil: der Nutzer nennt ihn (Wochenschau, Whiteboard, ...)
Für wen ist das Video und wie lang?ZuschauerPrüfungsvorbereitung, Standard: die Notation der Vorlesung, durchgerechnete Zahlen, Prüfungsfallen, 5 bis 6 Min. · Prüfungsvorbereitung, tief: dasselbe, 8 bis 9 Min., jeder Schritt der Herleitung · Erstanwender, kurz: zuerst Intuition, weniger Symbole, 2 bis 4 Min. · (Andere: der Nutzer nennt einen Zuschauer und eine Länge, z. B. „Experten-Auffrischung, kurz“)
Wann soll ich bei dir nachfragen?KontrollpunktEin Schuss: mit dem fertigen Video zurückkommen · Nach dem Storyboard: den Plan zeigen und auf Freigabe warten · Nach dem ersten Look: die ersten Bilder zeigen und warten
Welche Musik?MusikRuhig (current): weiches Pad, kein Beat · Lo-Fi (lofi): leichter Beat, mehr Energie · Keine

Setze eine empfohlene Option an die erste Stelle, wenn das Gespräch eine nahelegt (eine Prüfung nächste Woche: Prüfungsvorbereitung, tief). Wenn die Nachricht nur eine Hälfte der Zuschauer-Frage beantwortet (z. B. „für meine Prüfung“), behalte die Frage und biete nur die Optionen an, die mit dieser Hälfte übereinstimmen. Die Zuschauer sind Prüfungsvorbereitung, Erstanwender und Experten-Auffrischung (schnell und dicht); die Längen sind kurz (2 bis 4 Min.), Standard (5 bis 6 Min.) und tief (8 bis 9 Min.). Schreibe die Antworten in video.json bei Schritt 4: "_look" (clay oder classic), "_brief": { "viewer": ..., "length": ..., "checkpoint": ..., "style": ... } und "_render": { "music": "current" | "lofi" | false }. Jeder spätere Schritt und ein Neubau lesen sie dort und fragen nicht erneut. Wenn der Nutzer die Fragen abweist, verwende die erste Option von jeder.

Ein Schuss, es sei denn, der Nutzer hat einen Kontrollpunkt gewählt

Nach Schritt 0 machst du jeden Schritt unten ohne Unterbrechung und kommst nur mit dem fertigen, geprüften Video zurück. Frage nicht „Soll ich fortfahren?", zeige keine Entwürfe, warte nicht zwischen den Schritten. Jede unten genannte Prüfung führst du selbst durch und handelst danach. Die einzigen Stopps sind der vom Nutzer gewählte Kontrollpunkt: „Nach dem Storyboard“ stoppt nach Schritt 7 (zeige das Storyboard und das Urteil des Skriptagenten, dann warte), und „Nach dem ersten Look“ stoppt beim ersten make look von Schritt 9 (zeige seine Bilder, dann warte).

Der Look, den der Nutzer möchte (vor Schritt 6 lesen)

Ton für Dinge, die handeln, Manim für Diagramme, und das Maskottchen ist in jedem Video. Lies styles/clay.md. Der Nutzer hat den Ton-Look dem alten Stilmix vorgezogen, um Konsistenz über Videos hinweg zu gewährleisten. Die 2D-Stile sind ein klassischer Look, der aktiv gewählt werden kann; siehe den Abschnitt unten.

  • Erzwinge kein Diagramm in Ton (der Nutzer hat darum gebeten). Wenn ein 2D-Manim-Bild dem Zuschauer mehr hilft zu verstehen als Ton (eine Kurve, eine Verteilung, eine Kontur, eine Projektion oder andere Geometrie in einer Ebene), mache diesen Teil zu einem Manim-Teil, auf Manims dunklem Hintergrund (styles/math-manim.md). Baue niemals ein Ton-Modell, das eine mathematische Kurve nachbildet: Der Nutzer hat solche entfernen lassen. Objekte, die handeln, und die physische Arbeit des Maskottchens bleiben in Ton. Ein Video kann von einem Ton-Teil zu einem Manim-Teil und zurück wechseln, mit derselben Farbe für dieselbe Sache.

  • Ein Look, viele Teile. Das Video ist in Teile von etwa 15 bis 40 s unterteilt (Aufhänger, jede Idee, dein Fall, Abschluss). Jeder Teil hat seinen eigenen einfarbigen Hintergrund, seine eigene Kamera und Umgebung. Nebeneinander haben zwei Teile niemals denselben Hintergrund.

  • Das Maskottchen macht die Arbeit. Es ist stumm, ohne Lippen-Synchronisation, und der Sprecher ist eine Voice-Over-Stimme. Es geht, zieht, schiebt, trägt und schaltet Dinge mit seinen eigenen Händen aus, sodass eine Kraft im Skript etwas ist, das der Zuschauer ihn tun sieht. Der Nutzer hat darum gebeten, nach einem Video, in dem er nur stand und zusah. Standardmäßig bleibt er ausdruckslos, und make check WARNT, wenn er an einer Stelle bleibt. Variiere die Arbeit: Verwende in jedem Teil einen anderen Aktionshelfer (carry, knock, press, grip, pointAt, pushOn; siehe „Use a different action“ in styles/clay.md). Der Nutzer fand, dass er in jedem Teil schob.

  • Dinge müssen verbunden sein. Eine Feder erreicht ihre Wand, ein Stift berührt seine Karte, eine Hand berührt, was sie hält. Der Nutzer fand eine Feder, die ihre Wand verfehlte, nachdem alle Prüfungen bestanden waren. make bake misst jede Verbindung in models.js (JOINS), also füge dort neue Verbindungen hinzu und suche in den Standbildern nach Kontakt.

  • Nur unsere eigenen Modelle. Verwende das Kit in styles/library/clay. Lade niemals ein Modell herunter. Wenn ein Video ein neues Objekt benötigt, füge es im gleichen Look zum Kit hinzu.

  • Jeder Teil ist eine durchgehende Einstellung. Innerhalb eines Teils gibt es keine Schnitte und keine neuen Folien: Objekte erscheinen, bewegen sich und verbinden sich, während die Stimme spricht, und die Kamera bewegt sich langsam. Ein Teil endet in dem Zustand, von dem der nächste Teil ausgeht, oder mit einem Überblenden im Hintergrund des nächsten Teils.

  • Das Bild erklärt; Text benennt nur. Text bleibt flach und scharf, in HTML über dem 3D. Pro Frame: ein Kicker (kleine Großbuchstaben, der Teil und eine Quelle), ein Titel von höchstens 8 Wörtern, einige Bezeichnungen von 1 bis 4 Wörtern mit dünnen Führungslinien und höchstens eine Bildunterschriftzeile unten. Niemals eine Spalte von Sätzen, niemals eine Aufzählungsliste, niemals eine Legende, was die Farben bedeuten. Höchstens etwa 15 Wörter auf dem Bildschirm.

  • Formeln spielen die Stimme nach (der Nutzer hat darum gebeten). Eine feststehende Formel ist nicht besser als Notizen zu lesen. Baue jede mit eqn(): Begriffe erscheinen, während sie gesagt werden, bewegen sich, wenn die Stimme sie bewegt, schlagen und platzen, wenn sie „löschen“ sagt, und hüpfen nur, wenn sie etwas Wichtiges benennt. make look gibt einen Fehler für eine Formel, die stillsteht, und für einen „löscht“-Satz ohne Löschung auf dem Bildschirm. Siehe styles/clay.md.

  • Physische Bewegung. Dinge bewegen sich wie Objekte: Ein Arm greift, ein Ball fällt und springt, ein Block fällt und setzt sich, ein Impuls wandert. Keine Ansammlung statischer Boxen.

  • Dasselbe Objekt behält seine Farbe in jedem Video (der Roboter ist immer orange, die Karte immer gelb).

Wenn ein Storyboard gegen eine dieser Regeln verstößt, ändere das Storyboard, bevor du Code schreibst.

Harte Regeln

  • Parallel als Standard (der Nutzer hat darum gebeten, 2026-11-09). Alles, was gleichzeitig laufen kann, tut es: Ein 13-minütiges Video dauerte 3 Stunden, als jedes Bild in einer einzigen Chrome-Seite gemessen wurde (ein Kern ausgelastet, GPU bei 10%). Die Engine misst jetzt look, collide, review und stable in mehreren Seiten gleichzeitig (die Render-workers: die Hälfte der Kerne, höchstens 8, und nur so viele, wie der freie Speicher zulässt;), und build führt sheet, stable und review zusammen aus. Wenn du einen Schritt hinzufügst, der Bilder besucht, teile ihn ebenfalls auf mehrere Seiten auf (measureParallel, traceParallel, idParallel in make.mjs). Starte in deiner eigenen Arbeit unabhängige Aufgaben gemeinsam (ein Look und ein Selbsttest, ein Manim-Render und eine Prüfung) und warte niemals auf eine Aufgabe, während eine andere laufen könnte.

  • Denke hier, im Hauptgespräch. Du schreibst das Skript, das Storyboard und die Szenen selbst, weil der Kontext hier ist. Gib diese Schritte niemals an einen Unteragenten: Ein Unteragent beginnt ohne Kontext. Der Skriptagent in Schritt 7 ist die einzige Ausnahme, und er startet absichtlich kalt.

  • Hetze niemals die Kern-Erklärung. Der Nutzer lernt aus diesen Videos. Befolge die Temporegeln in reference/script.md und korrigiere jede Warnung zum Tempo.

  • Erfinde niemals eine Tatsache. Jede Zahl, Formel und Behauptung stammt aus einer von dir geprüften Quelle: dem Code des Nutzers, einem Datenblatt, einer Spezifikation, einem Papier, der Dokumentation. Liste sie in storyboard.md auf. Melde alles, was du nicht überprüfen konntest.

  • „Dein Fall“ ist optional. Füge ihn nur hinzu, wenn dieses Gespräch oder Projekt wirklich ein passendes Beispiel enthält (einen Fehler, auf den der Nutzer gestoßen ist, eine Korrektur, eine gemessene Zahl). Erfinde niemals einen.

  • Keine Überlappungen. Kein Bild darf ein anderes überdecken: Text auf Text, Text auf einer Grafik oder eine Grafik, die eine andere Grafik verdeckt. Jede Bezeichnung, Formel, jeder Pfeil und jedes Objekt bekommt seinen eigenen Platz. check WARNT bei überlappenden Texten, und review schreibt jede gemessene Überlappung in overlaps.md. Gedränge liegt im Ermessen des Nutzers, also suche in den Bildern in voller Größe danach. Der ID-Durchlauf hilft: make look fügt ein Bild der engsten Lücken hinzu und WARNT bei Text, der weniger als 12 px von einer anderen Sache entfernt ist, Text auf einer Zeichnung, niedrigem Textkontrast und einem Modell, das andere verdeckt. Korrigiere jede Überlappung vor make final.

  • Untertitel haben eine Zeile. Jeder Untertitel ist höchstens 42 Zeichen lang und es werden niemals zwei Untertitel gleichzeitig angezeigt, sodass ein Player niemals zwei Zeilen zeigt. Die Engine erledigt das; verify meldet einen Untertitel, der die Regel bricht. Ändere SUB_MAX in make.mjs nicht, um einen Untertitel passend zu machen.

  • Die geschlossene Schleife (der Nutzer hat darum gebeten, und die Engine erzwingt sie). Nach jeder Bearbeitung: make look, lies jedes Bild, das es auflistet, korrigiere, was du siehst, und schaue erneut. Erst dann baue. Bearbeite und baue niemals blind, denn ein Bau dauert lange und ein Look dauert Sekunden. Jedes Bild hat oben rechts eine PRÜFZIFFER, und die Tore öffnen sich nur mit den Ziffern aller Bilder in der Reihenfolge:

    1. Bearbeiten. Wenn du script.md geändert hast, führe make voice aus. Wenn das Video Manim-Teile hat und du manim_scenes.py oder die Stimme geändert hast, führe make manim aus: make look zeichnet die Manim-Bilder, es erstellt sie nicht.
    2. make look <Verzeichnis>: Es misst jede geänderte Szene in jedem Bild und zeichnet ihre Nahbilder und ihre beweglichen Teile. Lese sie alle. Dann make look <Verzeichnis> --ok <Ziffern>. make build stoppt ohne dies. Ein Bild mit denselben Bildern und Beschriftungen wie ein bereits gelesenes und bestätigtes zeigt READ BEFORE und benötigt keine Ziffer (--ok -, wenn jedes Bild bereits gelesen wurde). Lese jedes neue Bild; die gleiche Regel gilt für die Streifen.
    3. make build <Verzeichnis>. Es stoppt bei jeder Kollision.
    4. Lese jeden Streifen in build/review/moving.md. Dann make look <Verzeichnis> --moving-ok <Ziffern>.
    5. make final <Verzeichnis>. Es stoppt, wenn sich die Quelle nach dem Look oder dem Build geändert hat, oder wenn eine Kollision oder eine Überlappung offen ist. Führe jeden Schritt als eigenen Befehl aus, stoppe beim ersten Fehler und bestätige, dass eine Bearbeitung angewendet wurde.
  • Jeder Leser prüft Nahbilder und bewegliche Teile. Jeder Agent oder jede Sitzung, die ein Video beurteilt, liest die Nahbilder jedes bearbeiteten Teils und alle Bilder von allem, was sich bewegt: das Maskottchen und Objekte, während ihrer gesamten Bewegung. Eine Stichprobe des Videos zählt nicht: Eine Hand ging zwischen den Stichprobenbildern durch einen Tisch.

  • Ein neuer Fehler bekommt eine Leitplanke. Wenn der Nutzer einen Fehler findet, füge ihn zuerst zu reference/faults.md und zu engine/test/selftest.mjs hinzu und bestätige, dass der Test darauf fehlschlägt. Dann korrigiere das Video. Korrigiere nicht nur das Video. Führe make selftest nach jeder Änderung an einer Prüfung aus.

Was der Nutzer gewünscht hat (behalte diese)

Jedes wurde nach Gehör gewünscht oder ausgewählt. Die Engine erledigt die meisten davon automatisch.

ThemaWasAutomatisch?
StimmeChatterbox eingebaute Stimme, verlangsamt auf etwa 160 Wörter pro Minute durch engine/tts/slow-reference.wav; jeder Absatz in einem Zug gelesen, damit der Tonfall trägtja
Pausenjeder Punkt genau 0,6 s, jedes Komma höchstens 0,3 s, gesetzt durch die Zeichensetzung des Skriptsja; voice WARNT, wenn eine Pause nicht platziert werden konnte
Schlechte Aufnahmenein Teil, dessen Wörter vom Skript abweichen (Whisper-Prüfung) wird mit einem neuen Seed wiederholt, bis zu 3 Mal; die beste Aufnahme wird behaltenja; WARNT, wenn immer noch falsch
Schnelle Stellenein Satzteil, der mehr als das 1,3-fache des üblichen Tempos des Videos beträgt (Symbolwörter zählen doppelt), wird wiederholt; der Nutzer fand „Lambda v ist v, skaliert mit Lambda“ zu schnellja; WARNE „schnell“: gib ihm einen eigenen kurzen Satz und ein [pause]
Negative Zahlenlies „negativ“, niemals „minus“voice stoppt mit einem FEHLER
Wiederholte Wörter„eins eins“ bekommt ein Komma („eins, eins“), oder die Stimme rutscht ausja
Schreibenzusammenhängende Absätze; [pause] nur, wo eine Idee endet oder eine Animation läuft. Abgelehnt: eine Pause nach jedem Satz, abgehackte Sätze, eine schnelle Stimme, eine gedehnte (dumpfe) Stimme, Kokorodu, siehe reference/script.md
Musikhörbar, gleichmäßig, etwa 13 dB unter der Stimme (musicVolume 0,37; der Nutzer hat es um 3 dB von 0,26 angehoben), sanftes Ducking; zwei genehmigte Tracks, current (Standard) und lofi. Abgelehnt: lautes, leises Pumpen, Musik zu leise zum Hören, 4 andere Tracksja; du wählst den Track, siehe SOUND.md
Soundeffektedas Kit in engine/sfx.mjs, nach Gehör genehmigt; der Fly-in-Whoosh 4 dB unter den anderen Akzenten (der Nutzer fand ihn etwas zu laut). An für neue Videos (_render.sfx: true), aus für altedu fügst s.sfx an den Stellen hinzu; die Engine mischt sie
Audio48 kHz Stereoja; verify prüft es
Untertitelweich, niemals eingebrannt; der mpv des Nutzers zeigt sie klein an (sub-scale=0,7)ja
Eine Untertitelzeileeine Zeile pro Untertitel, höchstens 42 Zeichen, keine zwei Untertitel gleichzeitig. Der Nutzer sah zwei Zeilen in Video 1 des ROS 2-Setsja; verify meldet einen Untertitel, der dagegen verstößt
Keine Überlappungenkein Text oder keine Grafik deckt eine andere abcheck WARNT für Texte, overlaps.md und deine Bild-Checkliste für den Rest
Lookein 3D-Ton-Look mit dem stummen Maskottchen und unseren eigenen Modellen; Manim-Teile auf dunklem Hintergrund für Kurven und Diagramme (der Nutzer hat darum gebeten: zwinge kein Diagramm in Ton; siehe den Abschnitt zum Look)du, siehe styles/clay.md und styles/math-manim.md
Gleiches Objekt, gleiche FarbeDer Roboter ist immer orange, die Karte immer gelb, siehe styles/library/clay/colours.mddu, siehe die Modelldatei
Keine neuen ModelleVerwende das Kit; wenn nötig, füge im gleichen Look hinzudu, siehe styles/library/clay
Ein Teil, eine EinstellungKeine Schnitte innerhalb eines Teils, keine neuen Folien; Objekte erscheinen, bewegen sich und verbinden sich, während die Stimme sprichtdu, siehe script.md und Szenen
Text benennt nurFlacher, scharfer Text in HTML über dem 3D; siehe „Das Bild erklärt; Text benennt nur“ obendu, siehe Vorlage
Formeln spielen die Stimme nacheqn(): Begriffe erscheinen und bewegen sich, wie die Stimme es tutdu, siehe styles/clay.md
Geschlossene Schleifemake look, lesen, korrigieren, wiederholen, bevor gebaut wirdja, siehe die geschlossene Schleife
ParallelitätAlles, was parallel laufen kann, tut esja, siehe „Parallel als Standard“
ZiffernJede Datei eines Looks hat eine Prüfziffer oben rechts mit dem Präfix ok:ja, make look fügt sie hinzu
Jeder Leser prüft NahbilderGeänderte Szene oder Bewegung = alle Bilder, nicht nur eine Stichprobeja, siehe die geschlossene Schleife
Ein neuer Fehler bekommt eine LeitplankeFüge zuerst den Test hinzu, dann korrigieredu, siehe reference/faults.md
Musik nicht wiederholenKein Track wird in zwei aufeinanderfolgenden Videos verwendetdu

Die Engine stellt die Audioqualität sicher: verify prüft die Abtastrate, die Kanalanzahl, die Lautstärke der Stimme und ob Untertitel korrekt sind. Der Nutzer hat eine „zu leise“-Prüfung abgelehnt; stattdessen wird die Lautstärke anhand einer Referenzdatei kalibriert.

Schritte

Führe sie in dieser Reihenfolge aus, ohne Zwischenfragen. Erwähne den Engine-Pfad in den Antworten nicht.

Schritt 1: Anker setzen (make anchor)

  1. Erstelle das Verzeichnis videos/<Kurzname>/. Der Kurzname ist ein bis drei Wörter, die das Thema beschreiben, z. B. eigenvectors.
  2. Lege die Referenzen fest. Wenn der Nutzer ein Papier, eine Folie oder Code erwähnt hat, kopiere das Wesentliche in videos/<Kurzname>/sources/. Füge Quellenangaben hinzu.
  3. Lege fest, ob ein Teil „Dein Fall“ nötig ist; wenn ja, das Beispiel in sources/ ablegen.
  4. Wenn der Nutzer einen Kontrollpunkt gewählt hat, notiere ihn in video.json.

Dann:

node ~/.claude/skills/clayducation/engine/make.mjs anchor videos/<Kurzname>

Schritt 2: Konzept-Framework (make concept)

Schreibe eine Skizze des Themas: Was ist die Kernidee? Welche 3 bis 5 Fakten oder Schritte braucht der Zuschauer, um sie zu verstehen? Welche Analogie oder welches Beispiel hilft? Wie hängt es mit dem zusammen, was der Zuschauer bereits weiß? Dann:

node ~/.claude/skills/clayducation/engine/make.mjs concept videos/<Kurzname>

Schritt 3: Referenzen lesen

  • reference/script.md – alle Regeln zum Schreiben von Skripten (Tempo, Pausen, Aufbau)
  • reference/look.md (wenn vorhanden) – Regeln zum Look
  • synced/subtitles.md – Anforderungen an Untertitel
  • synced/formulas.md – Formeln in Szenen
  • styles/clay.md – Clay-Engine-Referenz
  • styles/math-manim.md – Manim-Engine-Referenz

Schritt 4: Storyboard (make storyboard)

Erstelle eine detaillierte Szenenaufteilung: Für jeden Teil (Aufhänger, Idee 1, …, Idee N, Dein Fall, Abschluss) beschreibe:

  • Titel: ein oder zwei Wörter
  • Dauer: in Sekunden
  • Hintergrund: einfarbig, unterschiedlich zu benachbarten Teilen
  • Aktion des Maskottchens: was es tut und wie es die Idee zeigt
  • Objekte: welche im Kit und welche neu
  • Manim (optional): Kurve oder Diagramm, das die Idee zeigt
  • Stimme: das Skript, Zeile für Zeile
  • Formeln: mit eqn() notiert
  • Untertitel: pro Cue, max 42 Zeichen

Schreibe es in videos/<Kurzname>/storyboard.md. Es muss jede Szene enthalten. Dann:

node ~/.claude/skills/clayducation/engine/make.mjs storyboard videos/<Kurzname>

Schritt 5: Modelle (make models)

Wenn das Storyboard ein neues Objekt benötigt, füge es zu styles/library/clay/ hinzu oder wähle ein vorhandenes aus. Wenn ein Objekt im Kit nicht passt, passe es an. Stelle sicher, dass seine Farbe dem Schema in colours.md folgt. Dann:

node ~/.claude/skills/clayducation/engine/make.mjs models videos/<Kurzname>

Schritt 6: Szenen (make scenes)

Wandle das Storyboard in Szenencode um. Schreibe die Hauptszene in videos/<Kurzname>/scene/. Für jeden Teil: scene/<Teilname>/config.json und scene/<Teilname>/models.js. Verwende die Engine-Klassen aus engine/render/. Wichtig: Definiere JOINS in models.js, wenn Objekte verbunden werden müssen. Dann:

node ~/.claude/skills/clayducation/engine/make.mjs scenes videos/<Kurzname>

Schritt 7: Skript prüfen (Skript-Agent)

Jetzt kommt der Skriptagent. Rufe ihn ohne Kontext auf (Starte eine neue Unterhaltung mit dem Engine-Skill). Der Agent erhält das Skript aus videos/<Kurzname>/script.md und prüft es auf Fakten, Tempo, Pausen und die Regeln aus reference/script.md. Er antwortet mit einem Prüfbericht: Fehler, Warnungen, OK-Stücke. Du wendest die Korrekturen an und wiederholst, bis der Agent keine Fehler mehr meldet. Dann aktualisiere die Skriptdatei.

Nur hier hält der „Nach dem Storyboard“-Kontrollpunkt an. Wenn der Nutzer diesen Kontrollpunkt gewählt hat, zeige jetzt das Storyboard (storyboard.md) und den Prüfbericht des Skriptagenten und warte auf eine Antwort.

Schritt 8: Bau und Stimme (make build-video)

Jetzt baust du das gesamte Video, einschließlich Voice-Over, Musik und Untertiteln.

node ~/.claude/skills/clayducation/engine/make.mjs build-video videos/<Kurzname>

Dieser Schritt erstellt die finalen Audiodateien, mischt sie, erstellt die Untertiteldatei und kombiniert alles zu einer MP4-Datei in videos/<Kurzname>/final.mp4. Überspringe diesen Schritt, wenn du die geschlossene Schleife verwendest; der Build ist in Schritt 3 und 5 enthalten.

Schritt 9: Geschlossene Schleife (wenn der Look geändert werden muss)

Wenn du den Look anpassen oder eine neue Engine verwenden musst, folge der geschlossenen Schleife:

  1. Look: make look videos/<Kurzname> – zeichnet die Bilder. Lese sie. make look videos/<Kurzname> --ok <Ziffern>.
  2. Build: make build videos/<Kurzname> – baut die Audio-/Video-Assets. Überprüfe auf Kollisionen.
  3. Moving parts: make look videos/<Kurzname> --moving-ok <Ziffern>.
  4. Final: make final videos/<Kurzname> – erzeugt die MP4-Datei.

Jeder Schritt hält an, wenn ein Fehler auftritt. Wiederhole bei Bedarf.

Schritt 10: Fertig

Antworte mit dem Pfad zur finalen Datei und einer kurzen Zusammenfassung: Thema, Dauer, Look, Musik. Frage nicht; der Skill endet hier.

Verwandte Skills