/stickman
Verwandle ein Thema in einen fertigen Strichmännchen-Film, der vollständig aus Code gerendert wird: flache 2D-Charaktere, eine Abenddämmerungs-Palette, filmische Kameraführung und echter Ton. Das Skill deckt vier Ausgaben ab: das Video, das Voiceover-Skript, YouTube-Titel und Thumbnail-Vorschläge.
Es funktioniert überall dort, wo Claude Code ausführen kann, einschließlich des kostenlosen Claude-Plans. Es werden keine kostenpflichtigen Tools benötigt und es werden keine KI-Bild- oder Video-Tools verwendet. ElevenLabs ist optional und nur für das Voiceover gedacht. Ohne eine MP3-Datei spricht das Skill das Skript selbst mit einer freien Open-Source-Stimme (scripts/tts.py, siehe references/free-voice.md), sodass ein erzählter Film überhaupt kein ElevenLabs benötigt.
Alles unten bezieht sich auf den Ordner dieses Skills (den Ordner, der diese Datei enthält). Finde seinen absoluten Pfad einmal und verwende ihn für jedes Skript. Bei Claude Code ist es ${CLAUDE_SKILL_DIR}. Nenne es in den folgenden Befehlen SKILL. Verwende python3 oder unter Windows python.
Schritt 1: Herausfinden, was gefragt wurde
Der Benutzer möchte möglicherweise das gesamte Paket oder nur einen Teil. Tue nur, was gefragt wurde:
| Anfrage | Tun |
|---|---|
| Storyideen | Mache "Storyideen" unten, dann stoppe |
| Ein Video erstellen | Schritte 2-6 |
| Ein Voiceover-Skript schreiben | Lies references/script-playbook.md, liefere das Skript, stoppe |
| Ein Skript in ein Voiceover verwandeln | Lies references/free-voice.md, führe tts.py aus, liefere vo.mp3, stoppe |
| Titel oder Thumbnails | Lies references/packaging-playbook.md, liefere die Paare, stoppe |
| Vollständiges Paket | Skript, dann Video, dann Titel und Thumbnail-Vorschläge |
Storyideen
Falls die Länge nicht angegeben ist, frage zuerst, wie lang die Videos sein sollen. Gib dann 5 Ideen, nummeriert, damit die Person eine anhand ihrer Nummer auswählen kann. Jede Idee hat einen kurzen Namen, einen einfachen Satz, der beschreibt, was passiert, und das Ende. Passe jede Idee an diese Länge an: unter 20 s bedeutet eine Figur und eine einfache Wendung. Ideen müssen leicht mit dem umsetzbar sein, was in references/engine.md steht, und jede muss originell sein. Später bedeutet "mache Idee 3" diese Idee.
Schritt 2: Vor dem Bauen fragen
Sofern die Anfrage es nicht bereits klarmacht, stelle diese zusammen in einer Nachricht und verwende ein Fragetool, falls vorhanden. Überspringe alles, was bereits beantwortet wurde. Falls niemand da ist, um zu antworten, verwende die Voreinstellung und sage dies.
- Stil: 2D oder 3D? Standard 2D. Beide verwenden das gleiche Aussehen. 3D fügt echte Kamerabewegungen um die Szene hinzu.
- Länge: wie lang? Standard 30 s. Bei einer MP3 bestimmt das Voiceover die Länge.
- Voiceover: ja oder nein? Überspringe dies, wenn eine MP3 angehängt ist. Wenn ja, liefern sie eine MP3 und ihren Skripttext, oder bitten dich, ein Skript für ElevenLabs zu schreiben und mit der MP3 zurückzukommen. Keine SRT wird benötigt. Oder die Voreinstellung, wenn es keine MP3 gibt: Die kostenlose integrierte Stimme spricht das Skript, ihres oder eines, das du schreibst, sodass sie den Chat nie verlassen müssen. Frage nach der Stimme nur, wenn es ihnen wichtig ist;
references/free-voice.mdenthält das Vorsprechen. - Soundeffekte: ja oder nein? Standard ja.
- Hintergrundmusik: ja oder nein? Standard nein. Wenn ja, verwende ihren hochgeladenen Track, falls vorhanden, ansonsten das codegenerierte Musikbett.
- Storyboard: Möchtest du zuerst ein Storyboard sehen? Frage dies immer, es sei denn, die Anfrage sagt es bereits. Falls niemand da ist, um zu antworten, überspringe es.
Nimm keine Musik, Effekte oder Stimme an. Ruhige Raumambienz ist keine Musik.
Schritt 3: Einrichten
python3 SKILL/scripts/doctor.py
python3 SKILL/scripts/new_film.py film # füge --3d für 3D hinzu
doctor.py installiert alles Fehlende. Wenn Chromium überhaupt nicht ausgeführt werden kann, gehe zu "Wenn Rendering nicht möglich ist".
Freie Stimme: Erstelle sie jetzt, vor der Planung, weil die Stimme das Timing vorgibt. Speichere das Skript als film/script.txt, führe dann python3 SKILL/scripts/tts.py film film/script.txt --voice am_michael aus und setze VOICE = "vo.wav" in film/audio_mix.py. Details in references/free-voice.md.
Lies dann in dieser Reihenfolge:
references/style-bible.md: Das Aussehen und die Regeln, die nie gebogen werden.references/production.md: Der schnelle Weg und bekannte Fallstricke.references/engine.md: Das Werkzeugset, damit du es wiederverwendest, anstatt neu zu zeichnen.references/film-craft.md: Geschichte und Einstellungen für wortlose oder kurze Filme.
Lies auch, wenn relevant: references/script-playbook.md zum Schreiben eines Skripts, references/free-voice.md für die kostenlose integrierte Stimme, references/voiceover.md für eine MP3, references/sound.md für den Mix, references/symbolic-beats.md für Filme von etwa einer Minute oder länger, references/3d.md für 3D.
Schritt 4: Den Film planen
Schreibe diese vor jeglichem Zeichencode, weil Planung innerhalb des Codes Dias anstatt Filme produziert:
- Ein Satz, den ein abgelenkter Betrachter verstehen würde.
- Ein Beat-Blatt, bei dem jeder Beat eine Aktion, ein Gefühl, eine Kamera und einen Ton hat.
- Eine Welt: Eine Liste von festen Positionen für jeden Charakter und jedes Requisit. Jede Einstellung ist nur eine Kamera auf dieser Welt.
- Eine Einstellungsliste mit Schnittbildern, nicht Sekunden. Ziel für 8-11 Einstellungen pro 30 s, und füge eine Totale ein, die die Geografie zeigt.
- Der Thumbnail-Moment, falls ein Paket angefordert wurde, damit er als echte Szene existiert.
Wenn ein Storyboard angefordert wurde, folge "Storyboard" in Schritt 5 vor dem Rendern.
Schritt 5: Bauen
- Ersetze
film/film.jsund behalte die Engine-Dateien. Beginne mit den Mustern aus dem Starter-Film. - Überprüfe Standbilder zu den geschäftigsten Momenten und betrachte das Bild:
python3 SKILL/scripts/stills.py film sheet.jpg 1 4.5 9 .... Zwei Durchgänge sind normal. - Storyboard, falls angefordert. Führe
python3 SKILL/scripts/storyboard.py filmaus. Es schreibtfilm/storyboard.jpg, eine nummerierte Vorschau pro Einstellung, gezeichnet vom gleichen Code wie der endgültige Film. Zeige der Person eine Tabelle mit einer Zeile pro Einstellung (Einstellung, Zeit, was passiert, Kamera, Ton) und zeige oder sende das Bild. Wenn Bilder hier nicht gezeigt werden können, sende die Datei oder gib die Tabelle allein und sage dies. Dann stoppe und warte. Ändere den Film nach ihren Wünschen, führe das Storyboard erneut aus, wenn es sich stark geändert hat, und rendere erst, nachdem sie es genehmigt haben. - Bearbeite den markierten Block von
film/audio_mix.py, um ihn an das Sound-Briefing anzupassen. - Rendern, Mischen, Zusammenfügen und Prüfen mit einem Befehl:
python3 SKILL/scripts/build.py film --out my-film.mp4
Führe dies im Hintergrund aus, wenn die Umgebung die Befehlszeit begrenzt, und frage den Status ab. Das erneute Ausführen desselben Befehls setzt fort, weil jede Einstellung ihre eigene Datei ist. Verwende nach einer Korrektur --shots 3 7, um nur diese Einstellungen zu wiederholen, oder --audio-only, um den Ton neu zu mischen.
Schritt 6: Prüfen, dann ausliefern
build.py endet mit der Prüfung. Behebe jeden ISSUE oder erkläre, warum ein markierter Moment beabsichtigt ist. Zeige dann film/contact_sheet.jpg an, das aus der codierten Datei stammt. Überprüfe dies mit dem Auge, weil die Prüfung nicht kann:
- Gesichter zeigen die beabsichtigte Emotion und Stirnen sind nicht versehentlich wütend.
- Hände berühren, was sie halten, und nichts kreuzt ein Gesicht.
- Arme beugen sich bei jedem Gang in die richtige Richtung.
- Türen öffnen sich zuerst, und dann geht der Charakter hinein.
- Charaktere bleiben von Einstellung zu Einstellung im gleichen Abstand zu Objekten.
- Keine dekorativen Kreise irgendwo.
Liefere die MP4 mit einer kurzen Notiz aus. Sage klar, dass du den Mix nicht hören kannst: Du hast ihn gemessen, also sollte der Benutzer ihn anhören. Behaupte keine Prüfungen, die du nicht durchgeführt hast. Wenn der Benutzer nach Titeln und Thumbnails gefragt hat, füge die Paare aus dem Packaging-Playbook hinzu.
Wenn Rendering nicht möglich ist
Wenn keine Codeausführung oder kein Browser verfügbar ist, führe python3 SKILL/scripts/bundle_player.py film aus, wenn du kannst, was eine HTML-Datei schreibt, die den Film abspielt und ein Echtzeit-WebM aufzeichnet. Wenn du gar nichts ausführen kannst, sage, was fehlt, und biete das Skript, Titel und Thumbnail-Vorschläge an, die kein Rendering benötigen. Benenne niemals ein WebM in MP4 um.
Regeln zur Originalität
Referenzvideos, -titel, -thumbnails oder -transkripte, die ein Benutzer teilt, dienen nur allgemeinen Mustern: Länge, Wortlaut, Struktur, Tempo. Kopiere oder speichere niemals etwas Spezifisches aus der Arbeit eines anderen und verwende niemals eine Prämisse, einen Charakter, eine Handlung, eine Zeile oder ein Aussehen wieder. Jeder Film bekommt seine eigene Geschichte.