Communitygithub.com

wailzenz-video-dz

Montiert Talking-Head-Videos im 9:16-Reel-Format mit algerischem Dialekt — entfernt Pausen und Fehler, erstellt arabische Captions (wortweise) mit Übersetzung französischer/englischer Begriffe, Motion Graphics, Soundeffekte und Cover. Dafür gedacht, wenn der Nutzer sagt: «مونتيلي هاد الفيديو», «دير لي ريل», «نحّي السكتات», «دير كابشن بالعربية», «monter cette vidéo», «edit this video into a reel» oder ein Talking-Head-Video sendet.

Was ist wailzenz-video-dz?

wailzenz-video-dz ist ein KI-gestütztes Skill-Paket für die Entwicklungsumgebungen Claude Code, Cursor, Codex usw., das Talking-Head-Videos automatisch zu Instagram-Reels im algerisch-arabischen Dialekt verarbeitet. Der Skill entfernt Stille und Versprecher, transkribiert den Text mit Zeitstempeln über Whisper, übersetzt französische/englische Begriffe mit arabischen Glossen, erstellt Motion Graphics, Soundeffekte, End Cards und ein Cover. Er wird über Kommandozeilen-Befehle gesteuert und verwendet ffmpeg, Python-Skripte und einen Rendering-Engine. Der Skill unterstützt mehrere Modi (Standard-Reel, Podcast, Montage, Erklärvideo), automatische Bildkorrektur, Sprachverbesserung, dynamische Zoom- und Schnittplanung sowie eine nahtlose Zusammenarbeit mit Cloud- und lokalen Umgebungen. Er ist für macOS optimiert, läuft aber auch unter Windows und Linux mit entsprechenden Anpassungen. Der Workflow umfasst 11 Schritte, von der Übernahme des Videos über die Analyse, den Schnitt, die Transkription, Caption-Erstellung, das Rendering von Motion Graphics bis zur finalen Exportprüfung. Wichtig ist die enge Abstimmung mit dem Nutzer, ohne dass dieser selbst technische Eingriffe vornehmen muss — der Skill übernimmt alles vollautomatisch.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/wailzenz/wailzenz-video-dz/tree/HEAD/skills/dz-reel

In Ihrer bevorzugten KI fragen

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

Dokumentation

🇩🇿 wailzenz-video-dz — Die algerische Ebene. Diese Regeln überschreiben alles darunter:

  1. Dialekt = algerisches Darija (الدارجة الجزائرية). Jedes arabische Wort, das du schreibst oder korrigierst (Captions, Hooks, CTAs, Cover, Nachrichten an den Nutzer) folgt references/dialect-dz.md. Der ursprüngliche Skill wurde auf Golf-Arabisch geschrieben: Lies seine Anweisungen, aber verwende niemals seine kuwaitischen Wortlisten oder Beispielformulierungen in dem, was der Zuschauer sieht. Englisches Video → schreibe Englisch. Französisches Video → schreibe Französisch.
  2. Französische/englische Begriffe bleiben in lateinischen Buchstaben mit einer arabischen Glosse in Anführungszeichen dahinter — «هادي حاجة normal "عادية"» — via "gloss" in fixes.json (Schritt 5). Jeder lateinische Begriff bekommt eine.
  3. Umgebung: Starte jeden Shell-Befehl mit source "${CLAUDE_SKILL_DIR}/../../setup/env.sh" (Python 3.12-Umgebung, ffmpeg-full, Modelle in ~/.wailzenz-video-dz). Erstmalig auf einem Rechner? Führe bash "${CLAUDE_SKILL_DIR}/../../setup/setup-mac.sh" aus (frage den Nutzer vorher — es werden ~4 GB heruntergeladen). Verwende niemals pip install in das System-Python.
  4. Transkription (Schritt 4) verwendet scripts/02a_transcribe_dz.py: whisper.cpp large-v3 auf der Mac-GPU oder --engine hadra (algerisches Modell) / --engine whisper (beliebiges OS). Verwende niemals python3 -m whisper --model medium.
  5. Updates nur über den Plugin-Manager (00_setup.sh gibt den Befehl aus). Überschreibe niemals die Dateien des Skills.

🎬 Hausstil — jedes Video, ausnahmslos: 6. Vollständiger Schritt 7, immer. Geteilte Bildschirme, Erklärtafeln, Bewegungen aus der Bank, Übergänge, mindestens ein Tiefenmoment (hinter dem Kopf, «الخلاصة»-artiges Video-im-Text…), SFX, End Card. Ein Reel mit nur Captions über dem Gesicht ist niemals akzeptabel. 7. Die Caption niemals duplizieren. Die Tafel darf nicht die Wörter zeigen, die in diesem Moment untertitelt werden — kein kinetischer Text des aktuellen Satzes, keine „große Caption“ oben. Tafeln sind visuell: Symbole, Diagramme, UI-Mockups (Terminal, Timeline), Metaphern, Vergleichstafeln, Fakten aus facts.md. Terminal-Befehle, Timeline-Beschriftungen und Kartentitel dürfen die Caption ebenfalls nicht wiederholen. Wenn ein Satz seine Wörter wirklich groß auf dem Bildschirm braucht, gib ihm stattdessen nocap:true. 8. Sorgfältig schneiden. 01_cut_plan.py schneidet nur Pausen ≥ 0,55 s, misst Stille am eigenen Rauschpegel des Clips, lässt nach einem Wort mehr Platz als davor und endet mit einer Selbstkontrolle — jedes «⚠️» bedeutet, zuerst den Schnitt reparieren. Jeder Schnitt beginnt und endet in Stille. Ein Zögern («الـ…», «اممم») kommt nur als Ganzes, mit Stille auf beiden Seiten; ein Neustart («اللي تحتاج… تحتاج») behält den zweiten Take. Nach dem finalen Rendern führe 19_seam_check.py <work> <final.mp4 aus und korrigiere jedes wiederholte oder kaputte Wort (es hört englische Begriffe im arabischen Modus schlecht — überprüfe diese mit -l en neu). 9. Die Tafelposition abwechseln. Mische R_DOWN (Animation oben, Gesicht unten) mit R_UP (Gesicht oben, Animation unten — panelIn bewegt sich dorthin von selbst), plus R_LOWER (große Tafel, kleines Gesicht) und R_FULL-Momente. Niemals mehr als zwei Erklärszenen hintereinander in derselben Position. 10. Jede Szene an Wortzeiten binden (caps.json Wörter), niemals an feste Sekunden — ein Nachschnitt darf die Szenen nicht zerstören. 11. Nahaufnahme-Framing: Die Gesichtskarte beschneidet aus studio.json → cardTop; wenn der Mund unter y ≈ 1600 fällt (Instagram-Caption-Bereich), hebe ihn an (≈ 0.3). R_UP zeigt automatisch etwas mehr über dem Kopf.

Reel aus einem Talking-Head-Video — ganz ohne Schnittprogramm

Der ganze Schnitt ist Code:

  • ffmpeg schneidet.
  • Whisper transkribiert mit Wort-Zeitstempeln.
  • Eine Rendering-Engine setzt Captions und Motion Graphics über das Video.

Ausgabe: Ein fertiges MP4, bereit zur Veröffentlichung.

Pfade: Alle scripts/, references/ und motion/ befinden sich im Ordner dieses Skills: ${CLAUDE_SKILL_DIR}


Kein Talking-Head-Video? Gehe zum richtigen Modus

EingabeModusLies
Ordner mit stummen Clips (Café, Reise, Produkt)Montage auf Beatreferences/montage.md
Zwei oder mehr Kameras derselben SessionPodcast → Reelsreferences/podcast.md
Ganze Folge „im Querformat“ oder „für YouTube“Podcast 16:9references/podcast.md (Abschnitt „Ganze Folge im Querformat“)
1-Stunde-Folge → mehrere ReelsReels aus Folgereferences/landscape.md (Abschnitt „Ganze Folge“)
Text oder Idee, ohne PersonErklärvideo mit Motionreferences/motion-mode.md
Link zu einer Website oder „Erkläre die App“Website/App-Erklärvideoreferences/motion-mode.md

Wenn es einen separaten Skill für diesen Modus gibt (dz-motion, dz-podcast oder dz-montage), hat dieser Vorrang.

⛔ Frage ihn nicht: „Welchen Modus möchtest du?“ — Sag ihm in einem Satz, was du verstanden hast, und mach weiter.

Engine: Immer die leichte (04_render_frames.js), und erwähne nie das Wort „Engine“.

  • Will er selbst etwas ändern? Öffne ihm das Studio → references/studio.md
  • Remotion-Bildschirm nur, wenn er es beim Namen nennt → references/remotion.md

🎬 DaVinci: Sagt er „Mach es in DaVinci“? Dieses Plugin hat keinen Schnitt innerhalb von DaVinci Resolve. Sag ihm das in einem Satz und fahre mit unserer Engine fort (oder exportiere ihm eine SRT-/FCPXML-Datei, wenn er alleine weitermachen will).

🎞️ CapCut-Modus: Sagt er „Mach es mit CapCut“ oder „Ich will selbst mit CapCut bearbeiten“? Statt MP4 wird ein bearbeitbares CapCut-Projekt (Clips mit Zoom, CapCut-Captions und -Texte, Voice, Effekte, Hintergrundaudio, transparente Motion) ausgegeben → references/capcut.md (Ein Skript scripts/40_capcut.py).


⛔ Dein Stil mit dem Nutzer

Du bereitest vor, nicht er. Du darfst ihm keine Liste von Befehlen geben, die er ausführen soll.

  • Frage nicht: „Hast du etwas dabei?“ — Überprüfe selbst. Fehlt etwas? „Mir fehlen zwei Werkzeuge, die ich jetzt vorbereite, dauert zwei Minuten — anfangen?“
  • Keine Fachbegriffe: „Ein Werkzeug, das die Folien zeichnet“ nicht „puppeteer“, „Videoqualität“ nicht „Codec“.
  • Sag ihm, wo wir in jedem Schritt sind, und schätze die Zeit: „Habe die Stille entfernt — die Hälfte des Videos ist weg. Jetzt transkribiere ich deinen Text, 3 Minuten.“
  • Eine Sache pro Schritt.
  • Gib nicht ab, ohne ihm nach jeder wichtigen Phase einen Screenshot oder eine Zusammenfassung zu zeigen.

✅ Wo läuft es? Überall — Handy · Cloud · Mac · Windows · Linux · Codex

Der lokale Rechner (Mac + Claude Code) ist der schnellste und stärkste, aber nicht zwingend. Du darfst dem Nutzer nicht sagen: „Das geht nicht auf deinem Handy oder in der Cloud.“ Wenn ein Tool in der Umgebung nicht funktioniert, weiche auf die Alternative aus und erwähne in einem Satz, was du verwendet hast. Lies references/any-environment.md — liefert Alternativen (Transkription, Person freistellen, Motion zeichnen…) und die Handy-Methode. Und die getesteten Rezepte im Detail (ruckelfreier Schnitt, Papiermotion, Zusammenbau) in references/phone-cloud-playbook.md.

  • Auf dem Handy: Der Nutzer hängt das Video an die Konversation an und du arbeitest in der Cloud-Umgebung weiter; das Handy kann ausgeschaltet werden.
  • Windows: python nicht python3 → references/windows.md.

Windows: python nicht python3, Pfade C:/… → references/windows.md


Schritte 0, 0.5 und 1 — Werkzeuge, Stil und Identität

Lies references/start.md und führe es aus — derselbe Start für alle Modi.


Schritt 2 — Nimm das Video entgegen

MethodeWie
Datei auf seinem Gerät (am besten)Kopiere sie nach <work>/src.mov
Google Drive-LinkTeilen auf „Jeder, der den Link hat“, dann den Befehl unten
Google Drive-ConnectorWenn die Datei privat ist — Connector-Tools in der Session

Drive-Link (die ID zwischen /d/ und /view):

curl -sL "https://drive.usercontent.google.com/download?id=<ID>&export=download&confirm=t" -o <work>/src.mov
  • 4K ist besser (Zoom verringert von der Quelle). Aber 1080p funktioniert auch — lehne es nicht ab und bitte nicht um eine Neuaufnahme.
  • Querformat-Video (Interview, Podcast, TV-Folge)? Dieselben Schritte. Schritt 6 schneidet es vertikal um das Gesicht jeder Einstellung, statt es zu strecken → references/landscape.md
  • 🪝 Reel aus einer Folge oder einem Interview = Hook ist Pflicht. Nach 02_captions.py:
    1. python3 scripts/22_hook.py suggest <work>
    2. Schreibe 3 Hooks aus der stärksten Zeile (nicht dem ersten Satz, den er sagte) ← check ← er wählt ← apply
    3. preview und lies hook_sheet.jpg vor dem vollständigen Rendern.
    • Reel, das außerhalb unserer Engines erstellt wurde (fertiges mp4)? 22_hook.py overlay → hook.mov transparent.
    • Die Regeln und Formeln → references/podcast-hook.md

Überprüfe die Dauer:

ffprobe -v error -show_entries format=duration -of csv=p=0 <work>/src.mov

🎞️ Ausgelassene Frames?

Browser-Aufnahme oder nicht-originale Kamera-App (das iPhone im Browser wirft 13-54 % weg). Überprüfe die Lücken vor dem Schnitt:

ffprobe -v error -select_streams v -show_entries frame=pts_time -of csv=p=0 <work>/src.mov | python3 -c "import sys;t=[float(x) for x in sys.stdin if x.strip()];g=[(round(a,2),round(b-a,2)) for a,b in zip(t,t[1:]) if b-a>0.07];print(len(g),'Lücken',g[:8])"

Gibt es Lücken? Repariere vor Schritt 3:

ffmpeg -i src.mov -vf "minterpolate=fps=30:mi_mode=mci:mc_mode=aobmc:me_mode=bidir:vsbmc=1" -c:a copy src_fixed.mov

Und sag ihm: „Die Aufnahme hatte ausgelassene Frames — ich habe sie repariert.“ Beim nächsten Mal rate ihm, mit der Kamera-App aufzunehmen.

🔬 Überprüfung von Belichtung und Farben (Sekunden, still)

python3 scripts/25_scopes.py <work>
  • „In Ordnung“ ← erwähne es nicht.
  • Gibt es ein Problem (dunkel, gelbstichig, blass) ← ein Satz: „Das Video ist etwas dunkel und gelbstichig — korrigieren?“
    • Zeige ihm vorher und nachher in einem einzelnen Frame.
    • Zustimmung ← theme.json ← "grade":"auto" (korrigiert nur die Helligkeit).
    • Ablehnung oder Schweigen ← nicht anfassen (Regel 4).

Schritte 3-11 — Produktion

3) Schnittplan

python3 scripts/01_cut_plan.py <work>

Sag ihm, wie viel entfernt wurde: „Habe 52 Sekunden Stille entfernt — das Video ist jetzt 46 statt 98 Sekunden lang.“

3.5) Audio verbessern (optional): Gibt es Hall oder Rauschen, oder sagt er „Verbessere den Ton“? ← references/audio-enhance.md

bash scripts/02b_enhance_audio.sh <work> --local

4) Transkription mit Wort-Zeitstempeln

source "${CLAUDE_SKILL_DIR}/../../setup/env.sh"
ffmpeg -v error -i <work>/src.mov -vn -ac 1 -ar 16000 -y <work>/a.wav
python3 scripts/02a_transcribe_dz.py <work> > <work>/whisper.log 2>&1        # Arabisch / Darija (Standard --lang ar)
# Englisches Video: python3 scripts/02a_transcribe_dz.py <work> --lang en
# Algerisches Modell stattdessen / nebeneinander: --engine hadra | --engine compare (erster Lauf lädt ~1,8 GB herunter)
  • Sekunden bis zu einer Minute auf der GPU für ein Reel. Fehlgeschlagen? tail -5 <work>/whisper.log
  • Standard-Engine: cpp auf einem Mac mit whisper.cpp, sonst whisper. Führe bei einem neuen algerischen Sprecher einmal --engine compare aus und behalte die Engine, deren Transkript weniger Korrekturen benötigte (speichere sie mit --save-default).

5) Korrektur und Captions

Lies a.json und korrigiere jeden Satz — Whisper macht Fehler im algerischen Darija (wandelt es in Hocharabisch um, schreibt französische Wörter falsch). Korrigiere gemäß references/dialect-dz.md (Rechtschreibung, französische Wörter in den vom Nutzer gewählten Buchstaben), und wenn du ein Wort nicht kennst, frage ihn, anstatt zu raten. Schreibe <work>/fixes.json:

{ "fix": [["هادي","حاجة","normal","بزاف"], ["نخدمو","بـ","Claude","Code"]], "hot": ["بزاف"],
  "gloss": {"normal": "عادية", "Claude Code": "كلود كود"}, "fx": {"خلاص":"drop"} }
  • gloss = arabische Übersetzung in "" nach jedem französischen/englischen Wort ← «normal "عادية"». Der Schlüssel ist das Wort (oder der Ausdruck) wie es im fix steht. Lateinische Wörter werden automatisch eingefärbt ("hot_latin": false stoppt das). 02_captions.py sagt dir, was du vergessen hast.
  • hot = Wörter, die beim Aussprechen mit einem Markierungsklick hervorgehoben werden.
  • fx optional ← references/word-fx.md
  • ⛔ Wortanzahl jedes Satzes = Wortanzahl von Whisper für denselben Satz. Sonst stimmen die Zeitstempel nicht (das Skript stoppt dich).
python3 scripts/02_captions.py <work>

5.5) Zeige ihm den Text und entferne, was ihm nicht gefällt ← Pflicht

Vor dem Design einer Szene:

python3 scripts/10_script_edit.py <work> show
  • Gibt seinen Text nummeriert mit Zeitstempeln aus und schreibt script.txt.
  • Gibt auch die wiederholten Sätze und einen Löschvorschlag in einem Durchgang aus — führe danach kein dupes aus.
  • ⛔ Gib das gesamte Skript im Chat aus und frage: „Was soll ich entfernen?“ — gib dich nicht mit der Datei zufrieden.

Wiederholter Satz: Der erste ist falsch, der zweite die Korrektur. „Du hast den Satz zweimal gesagt — ‹قدرنا نحل السبب› dann ‹قدرنا نعرف السبب›. Soll ich den ersten entfernen?“

python3 scripts/10_script_edit.py <work> drop 6 8       # Entfernt die beiden Sätze aus Video und Audio
python3 scripts/10_script_edit.py <work> keep 1 2 5 9   # Behält nur diese
python3 scripts/10_script_edit.py <work> undo
  • Alles danach verschiebt sich, und cut.json, caps.json und sfx.json werden aktualisiert.
  • Mach es hier. Das Löschen nach dem Design der Szenen verschiebt all ihre Zeiten.
  • Nach jedem Löschen: Wiederhole Schritt 6 und das Rendern mit --force.

6) Schnitt und Zoom

python3 scripts/03_cut_zoom.py <work>
mkdir -p <work>/vfr && ffmpeg -v error -i <work>/cutz.mp4 -vf fps=30 -q:v 3 -y <work>/vfr/%05d.jpg
  • Zoom ist für jedes Segment gesperrt (6.0): Erster Lauf schreibt cut.json ← "zooms": {"25.05": 1.06, …} (Schlüssel ist der Segmentanfang in Sekunden des Originals). Entfernst, fügst hinzu oder teilst ein Segment? Der Zoom der anderen bleibt unverändert, sodass deine Rendering-Koordinaten korrekt bleiben. Änderst du den Zoom eines Segments = bearbeite seine Nummer. Die Reihenfolge von keep ist frei (ein Segment von ganz hinten im Gespräch vor einem früheren ist erlaubt).

6.1) ⛔ Oben abschneiden — Pflicht bei jedem Video mit Karte (halber Bildschirm, R_DOWN, R_LOWER):

python3 scripts/23_headcrop.py <work> --from <Beginn der ersten Karte>
  • Schreibt studio.json ← cardTop.
  • Konstanter Schnitt über die gesamte Videodauer — keine Verfolgung, keine Kamera, die ihn jagt.
  • Beginnt über dem höchsten Punkt, den sein Kopf erreicht hat, mit einem kleinen Rand (1,5 %).
  • Schneidet weder seinen Kopf ab, noch lässt es leeren Himmel — „zu viel Platz über seinem Kopf“ ist genauso ein Fehler.
  • Der Nutzer hat mehrfach darauf hingewiesen und war verärgert.
  • Überprüfe mit eigenen Augen an einem Frame, in dem er sich der Kamera nähert.
  • Ist unter seinem Körper etwas eingebrannt? Zoome mit theme.json ← cardZoom (Standard 1).

7) Designe die Szenen ← Wichtigster Schritt

Lies vor jeder Szene:

  1. references/motion-rules.md — Identität, Faktenliste facts.md, Verbote.
  2. references/scenes.md — Wie schreibe ich die Szene, Bewegungspaket, Ideen, B-Roll.
  3. references/moves.md — Bewegungsbank: python3 scripts/35_moves.py plan --title "…" --cues … ← Storyboard (3 Grundlagen, um die es sich dreht + Variationen). Du wählst bewusst aus, und der Nutzer muss nicht wählen.

🎯 Ziel von der ersten Rohfassung (6.0 — das Referenz-Reel, das die Bank übernommen hat und das viral ging): Gib dir Mühe bei Performance und Motion — reichhaltig, tiefgründig und überraschend, nicht leise.

  • Plane vor dem Rendern 2–3 Tiefenmomente und sag sie dem Nutzer in einem Satz: Ein Element, das hinter seinem Kopf vorbeigeht (11_behind_text.js person + MV.person), eine Welle aus seiner Stimme (37_env.py ← MV.env), eine Punktkarte hinter seinem Kopf, eine 3D-Pfad, eine Form aus der Kundenidentität, die zur Bewegung wird (Logo-Bogen = Zähler und Wischbewegung), ein One-Take-Einleitung (Kamera taucht ins Logo und taucht im nächsten Shot wieder auf).
  • Das ist das Erste, wonach du greifst, nicht das Einzige: Karten, Stempel und Abzeichen sind nicht verboten — verwende sie, wenn das Thema es verdient.
  • Der Satz, den die Motion schreibt = nocap dafür (keine Ablenkung zwischen oben und unten). Und das Schreiben über dem Kopf ist besser, wenn Platz ist.
  • Code-Rezepte ← references/moves.md §3 und folgende.

⛔ Layout-Regel (vom Nutzer bestätigt):

MomentRechteckForm
Sprechen ohne GrafikR_FULLSein Gesicht im Vollbild, Caption unten bei 1460
Irgendeine Grafik oder MotionR_DOWNGrafik oben (y 280-520) ← Caption ← Sein Gesicht darunter, volle Breite
B-Roll oder große TafelR_LOWERGroße Karte oben ← Caption ← Sein Gesicht klein darunter
Vollständige Erklärung (Zahlen, Listen)R_OFFKein Gesicht, seine Stimme läuft weiter ← references/explainer-and-pace.md
  • ⛔ Die Caption wird niemals auf das Gesicht des Sprechers geschrieben. In jedem Modus mit einer Videokarte ist die gesamte Caption über der Karte, und der Fortschrittsbalken begleitet sie.
  • Die Wahl des Modus ist deine Entscheidung aus Bedeutungsklarheit und dem Bank-Style, nicht eine Katalogauswahl.

7.1) B-Roll schlagen: Vor dem Rendern, wenn das Thema es zulässt:

python3 scripts/36_broll.py suggest <work>
  • 3 bis 5 Vorschläge: Bild/Clip (Quelle: <work>/src.mov verarbeitet mit ffmpeg, oder pexels.com, oder generiert).
  • Du fügst sie der Szene hinzu: "broll": "URL oder Pfad".
  • Der Nutzer muss sie nicht suchen.

8) Motion und Rendern

8.1) Motion generieren

mv <work>/scenes.txt <work>/scenes.txt.1   # Wenn du Szenen bearbeitest, kopiere zuerst die vorherige Version
# Bearbeite <work>/scenes.txt mit einem Texteditor
python3 scripts/04_render_frames.py <work> --nomotion  # Einfach, nur für Szenen-OBEN

8.2) Frame für Frame rendern

python3 scripts/04_render_frames.py <work> --frames # Frames ohne Audio (schnell für die Überprüfung)

8.3) Finales Rendern

python3 scripts/05_assemble.py <work>                # MP4 (mit Audio)

9) End Card und Cover

python3 scripts/06_endcard.py <work>
python3 scripts/07_thumbnail.py <work>

10) Qualitätskontrolle

python3 scripts/19_seam_check.py <work> <work>/final.mp4
  • Hört sich jedes Wort an und prüft auf Wiederholungen oder Unterbrechungen.
  • Melde jedes Problem, aber schlage immer eine Reparatur vor.

11) Lieferung

  • Lade final.mp4 und thumbnail.jpg in den Chat hoch.
  • Frage: „Passt das so, oder soll ich etwas ändern?“
  • Wenn er etwas ändern möchte, wiederhole den entsprechenden Schritt (mit --force, wenn nötig).

⚠️ Wichtige Warnungen

  1. Überschreibe niemals die Dateien des Skills. Jede Änderung muss im <work>-Ordner des Projekts erfolgen.
  2. Verwende niemals das System-Python. Verwende immer die virtuellen Umgebungen (source .../setup/env.sh).
  3. Überprüfe nach jedem Schnitt, ob kein «⚠️» mehr angezeigt wird.
  4. Frage den Nutzer, bevor du ~4 GB herunterlädst (Ersteinrichtung).
  5. Bei Windows: Verwende python statt python3 und Windows-Pfade (C:/...).

🔧 Fehlerbehebung

ProblemLösung
segmentation fault in WhisperErhöhe den RAM in der Cloud-Umgebung oder verwende --engine whisper (CPU)
ModuleNotFoundErrorÜberprüfe, ob source .../setup/env.sh ausgeführt wurde
Ton asynchronLösche <work>/a.wav und wiederhole Schritt 4
Grafik fehlplatziertFühre 04_render_frames.py --check aus, um die Koordinaten zu überprüfen
Hook-Vorschlag schwachVerwende 22_hook.py suggest --force mit einem bestimmten Thema

📚 Referenzen

  • references/dialect-dz.md — Algerische Darija-Rechtschreibung und Wortlisten
  • references/start.md — Einrichtung und Identität
  • references/audio-enhance.md — Audio-Verbesserung
  • references/scenes.md — Szenendesign und Bewegungspakete
  • references/moves.md — Bewegungsbank und Übergänge
  • references/word-fx.md — Wort-für-Wort-Effekte
  • references/studio.md — Studio-Konfiguration
  • references/remotion.md — Remotion-Engine
  • references/capcut.md — CapCut-Export
  • references/windows.md — Windows-Kompatibilität
  • references/any-environment.md — Alternative Umgebungen
  • references/phone-cloud-playbook.md — Handy- und Cloud-Rezepte
  • references/motion-rules.md — Motion-Regeln
  • references/podcast.md — Podcast-Modus
  • references/landscape.md — Landschafts-Videos (YouTube)
  • references/motion-mode.md — Reiner Motion-Modus (Erklärvideo)
  • references/explainer-and-pace.md — Erklärvideo-Tempo
  • references/podcast-hook.md — Hooks für Podcast-Reels

📝 Lizenz

Privater Skill. Nur zur Verwendung mit genehmigten Tools.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

wailzenz/wailzenz-video-dz

مونتاج مقاطع بلا كلام على الإيقاع — مجلد مقاطع (مقهى، سفرة، منتج، مكان، فعالية) يتحوّل لفيديو واحد 9:16 يختار أحلى لحظة من كل مقطع ويقطع على نبضات الصوت. Use when user says "مونتاج من هالمقاطع"، "سو فيديو من هالكلبات"، "ركّب المقاطع على الأغنية"، "مونتاج على الإيقاع"، or sends a folder of clips without speech. Not for a talking video (use dz-reel). Darija triggers: "دير لي مونتاج على الإيقاع"، "ركّب هاد المقاطع".

wailzenz/wailzenz-video-dz

فيلم موشن قرافيكس ثلاثي الأبعاد بلا شخص ولا تصوير — من نص أو فكرة أو سكربت، بصوته أو صوت مولّد، 60 فريم. وشرح موقع أو تطبيق بلقطات حقيقية داخل آيفون أو ماك بوك 3D. Use when user says "فيديو موشن"، "شرح بالموشن"، "سو فيديو من هالنص"، "موشن قرافيكس"، "اشرح هالموقع بفيديو"، "اشرح التطبيق بفيديو"، "ديمو آيفون". Not for editing a talking video (use dz-reel). Darija triggers: "دير لي فيديو موشن"، "اشرح بالموشن".

wailzenz/wailzenz-video-dz

يمنتج البودكاست والمقابلات — كاميرتين أو أكثر لنفس الجلسة إلى ريلات 9:16 بكابشن عربي وهوك مكتوب، أو الحلقة كاملة 16:9 لليوتيوب، أو حلقة ساعة إلى عدة ريلات. Use when user says "بودكاست"، "كاميرتين"، "الحلقة كاملة بالعرض"، "حلقة يوتيوب"، "ريلات من الحلقة"، "طلّع ريلات من المقابلة"، or sends multi-camera files or a long episode. Not for a single talking video (use dz-reel). Darija triggers: "دير لي ريلز من البودكاست"، "قطّع الحلقة".

wailzenz/wailzenz-video-dz

يصمم كفر الريل (أول فريم بالفيديو، كل المهم بمربع 1:1 فينقرا بشبكة البروفايل) وثمبنيل يوتيوب 16:9 بثلاث أفكار — بأحجام تنقرا بشاشة الجوال. Use when user says "سو كفر"، "كفر الريل"، "غلاف الريل"، "ثمبنيل"، "ثمب يوتيوب"، "صورة مصغرة"، "thumbnail"، "الكفر ما يبين"، or after any finished video. Not for carousel covers. Darija triggers: "دير لي غلاف"، "دير thumbnail".

Verwandte Skills