Communitygithub.com

nsijwali/yamlreel-video-skills

Verwandle ein Thema in ein fertiges Kurzvideo (YouTube Shorts, Reels, TikTok vertikal, quer oder quadratisch) – ohne Videoeditor, indem du eine YAML-Spezifikation schreibst und sie lokal mit der Open-Source-CLI yamlreel renderst.

Was ist yamlreel-video-skills?

Dieses Skill ermöglicht es, aus einer einfachen Themenangabe ein komplettes Kurzvideo zu erstellen – ideal für Erklärvideos, Code-Tipps, Systemdesign-Videos oder Produkt-Launches. Der gesamte Workflow basiert auf einer YAML-Spezifikation, die lokal mit der Open-Source-CLI `yamlreel` gerendert wird. Ausgabeformate sind MP4, ein Poster, ein Kontaktblatt und ein Share-Text, der direkt kopiert werden kann. Der Workflow umfasst Schritte wie Setup-Überprüfung, Themenklärung (mit Standardoptionen für Zielgruppe, Format, Länge, Theme und Sprachausgabe), Skripterstellung im Beat-Format, Erstellung einer Outline, Generierung einer Spezifikation mittels yamlreel, manuelle Bearbeitung der Spezifikation (inklusive Platzhaltern), Preview-Rendering mit optionaler Bildkontrolle und abschließendem Final-Rendering. Das Skill unterstützt dabei die Plattformen vertical (Standard), landscape und square und eignet sich besonders für Entwickler, die ohne manuellen Videoschnitt schnell professionelle Kurzclips produzieren möchten.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/nsijwali/yamlreel-video-skills/tree/HEAD

In Ihrer bevorzugten KI fragen

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

Dokumentation

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

  1. Einrichtung. Führe python3 <skill>/scripts/check_setup.py aus (es prüft auch die yamlreel-Version und -Funktionen). Falls es fehlschlägt, zeige dem Benutzer die ausgegebenen Korrekturen an. Führe --install nur nach Zustimmung des Benutzers aus. Installiere niemals Schriftarten oder Systempakete selbst.
  2. 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.
  3. Skript zuerst. Schreibe videos/<slug>/script.txt im Beat-Format der Datei references/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 dann videos/<slug>/outline.yaml (Thema, Hook, Problem, 1-6 Schritte, jeder mit name, say, show, plus when_to_use, question, answers). Die Regeln stehen in references/writing-guide.md: 15s = eine Idee; 30-45s = eine Idee plus bis zu 3 Schritten; maximal 60s für #Shorts.
  4. Entwurf: yamlreel story videos/<slug>/outline.yaml --out videos/<slug>/spec.yaml --format <fmt> --theme <t>. Verwende --force nur für Dateien, die du selbst erstellt hast.
  5. Bearbeite die Spezifikation. Ersetze jedes TODO; setze meta.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.
  6. 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) und references/troubleshooting.md. Wiederhole höchstens 3 Mal, dann melde es dem Benutzer.
  7. Prüfung (obligatorisch). Öffne jedes in der RESULT-Zeile aufgeführte contact.png mit 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.
  8. Final: python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage final --out videos/<slug>/out.
  9. Optionale Verfeinerung. Falls der Benutzer Soundeffekte, eine Lautstärkekorrektur oder eine Schleifenprüfung wünscht und yamlreel audit --help funktioniert, folge den Anweisungen in references/polish.md für die fertige video.mp4 (es berührt nie die Spezifikation).
  10. Berichte die Pfade zu jeder video.mp4, poster.jpg und contact.png und füge den Inhalt von share-copy.txt ein. 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.seed sorgt für deterministische Renders. Füge kein watermark hinzu, 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 die share-copy.txt eingebrannt. Code-Beispiele verwenden Platzhalter.
  • Lese und schreibe nur innerhalb des Benutzerprojektordners; platziere Bilder neben der Spezifikation. Füge niemals --allow-path oder --allow-private-hosts hinzu, 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.yaml ohne 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.

Verwandte Skills