Was macht yamlreel-video-skills?
Schreibe eine YAML-Spezifikation, rendere sie lokal mit yamlreel, prüfe das Kontaktblatt und gib das Video zurück. <skill> bezeichnet das Verzeichnis, in dem diese Datei liegt.
Workflow
- Einrichtung. Führe
python3 <skill>/scripts/check_setup.pyaus (es prüft auch die yamlreel-Version und -Funktionen). Falls es fehlschlägt, zeige dem Benutzer die ausgegebenen Korrekturen an. Führe--installnur nach Zustimmung des Benutzers aus. Installiere niemals Schriftarten oder Systempakete selbst. - Kläre in EINER Nachricht und biete Standardwerte an: Thema, Zielgruppe, Format (Standard vertikal), Länge (Standard 30s), Theme (
midnight|sumi|washi), Sprachausgabe (Standard keine). Überspringe alles, was der Benutzer bereits genannt hat. - Skript zuerst. Schreibe
videos/<slug>/script.txtim Beat-Format der Dateireferences/writing-guide.md(Ziellänge, ein[BEAT - Eingabe -> Aktion -> Ergebnis]-Block pro Beat mit dessen gesprochenem Text, dann Auslieferungshinweise) und zeige es dem Benutzer. Falls der Benutzer um eine Durchsicht gebeten hat, stoppe und warte auf Freigabe, bevor du etwas entwirfst oder renderst. Gliederung. Schreibe dannvideos/<slug>/outline.yaml(Thema, Hook, Problem, 1-6 Schritte, jeder mitname,say,show, pluswhen_to_use,question,answers). Die Regeln stehen inreferences/writing-guide.md: 15s = eine Idee; 30-45s = eine Idee plus bis zu 3 Schritten; maximal 60s für #Shorts. - Entwurf:
yamlreel story videos/<slug>/outline.yaml --out videos/<slug>/spec.yaml --format <fmt> --theme <t>. Verwende--forcenur für Dateien, die du selbst erstellt hast. - Bearbeite die Spezifikation. Ersetze jedes
TODO; setzemeta.title/description/tags,formats,music.seed. On-Screen-Text ist kurz; die Erzählung erklärt den Bildschirminhalt und wiederholt ihn nie. Felder pro Szenentyp:references/scene-types.md. - Vorschau:
python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage preview --out videos/<slug>/out. Bei Fehlern korrigiere die Spezifikation anhand der Meldung (unbekannte Feld-Fehler listen die erlaubten Schlüssel auf) undreferences/troubleshooting.md. Wiederhole höchstens 3 Mal, dann melde es dem Benutzer. - Prüfung (obligatorisch). Öffne jedes in der
RESULT-Zeile aufgeführtecontact.pngmit dem Bildbetrachter. Prüfe: keine Überlappungen, kein abgeschnittener oder verkleinerter Text, Fortschritt über die Standbilder hinweg erkennbar, Hook im ersten Standbild lesbar. Korrigiere die Spezifikation und wiederhole Schritt 6 bis zur Sauberkeit, maximal 3 Durchläufe. - Final:
python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage final --out videos/<slug>/out. - Optionale Verfeinerung. Falls der Benutzer Soundeffekte, eine Lautstärkekorrektur oder eine Schleifenprüfung wünscht und
yamlreel audit --helpfunktioniert, folge den Anweisungen inreferences/polish.mdfür die fertigevideo.mp4(es berührt nie die Spezifikation). - Berichte die Pfade zu jeder
video.mp4,poster.jpgundcontact.pngund füge den Inhalt vonshare-copy.txtein. Erinnere den Benutzer daran, vereinfachte Fakten zu überprüfen. Das Veröffentlichen liegt in der Verantwortung des Benutzers.
Exit-Codes von render.py: 0 OK, 1 yamlreel-Fehler (stderr wird ausgegeben), 2 Preflight verweigert (Meldung erklärt warum), 3 Vorschau-Warnungen blockieren den finalen Render (Text kürzen, at-Hinweise umordnen; --allow-warnings nur, wenn der Benutzer zustimmt), 4 falsche Argumente (z. B. --contact-frames außerhalb 1-8).
Die letzte Zeile ist RESULT {json} mit allen Ausgabepfaden. Ein Log wird nach <out>/render-log.txt geschrieben.
Standardwerte und Fakten
- Renders verwenden
--no-voice(nur Musik). Untertitel und Erzählung sind bei renders ohne Stimme nicht sichtbar; das ist erwartet. - Die Ausgabe erfolgt nach
<out>/{preview,final}/<format>/; übergib immer--out videos/<slug>/out, damit zwei Projekte niemals einen Ordner teilen (Standard ist<spec-Ordner>/out). - Ein fester
music.seedsorgt für deterministische Renders. Füge keinwatermarkhinzu, es sei denn, der Benutzer fragt danach. - Sprachausgabe ist optional und bring-your-own: siehe
references/voiceover.md. - Beispiele zum Kopieren:
examples/*.yaml.
Sicherheitsregeln
- Gib niemals Geheimnisse, Token,
.env-Inhalte, interne Hostnamen oder persönliche/Kundendaten in eine Spezifikation: sie werden in die Frames und dieshare-copy.txteingebrannt. Code-Beispiele verwenden Platzhalter. - Lese und schreibe nur innerhalb des Benutzerprojektordners; platziere Bilder neben der Spezifikation. Füge niemals
--allow-pathoder--allow-private-hostshinzu, es sei denn, der Benutzer bittet ausdrücklich darunter, den Ordner nennend. - Sprachausgabe nur mit einem lokalen TTS-Server, den der Benutzer benennt; der Erzähltext wird an diesen gesendet. Niemals eine entfernte URL.
- Installiere niemals Systempakete oder Schriftarten und bearbeite niemals
~/.config/yamlreel/config.yamlohne Zustimmung des Benutzers. shot-Szenen: nur öffentliche HTTPS-URLs, die der Benutzer bereitstellt, oder lokale Bilder im Projekt.- Lade das Ergebnis niemals hoch oder veröffentliche es.