Zurück zur VidCraft-Hauptseite
VidCraft hat fünf Quality Gates, die auf unterschiedlichen Stufen greifen:
| Gate | Stufe | Skill |
|---|---|---|
| Script Review | Pre-Generation | script-reviewer |
| Voice Check | Pre-Generation | voice-checker |
| Pre-Generation Gates | Pre-Generation | pre-generation-check |
| Video Review | Post-Generation | video-reviewer |
| Brand + A11y | Post-Generation | brand-checker + accessibility-checker |
Die Quality Gates sind nicht kosmetisch. Wenn du sie überspringst, generierst du Video-Content, der nach AI-Slop klingt — und am Ende doppelt produzierst.
Das Skill /vidcraft:script-reviewer prüft ein Script gegen 15 Punkte. Schritt 5 des Reviews führt check_pronunciation aus, um TTS-unfreundliche Zahlen und Abkürzungen zu flaggen.
| # | Punkt | Check |
|---|---|---|
| 1 | Timing | WPM-Berechnung gegen Ziel-Dauer (z.B. Tutorial 120-140 WPM) |
| 2 | Readability | Flesch-Score >= 60 (für DE: Wiener Sachtextformel) |
| 3 | Struktur | Typ-konforme Szenen-Abfolge (Hook → ... → CTA) |
| 4 | Hook-Qualität | Erste 5 Sekunden — kein "In diesem Video..." |
| 5 | CTA | Vorhanden, klar, einzigartig (nicht 3 Optionen) |
| 6 | Tonalität | Konsistent, matcht Brand + Audience |
| 7 | Keine AI-Sprache | Kein "journey", "tapestry", "embrace", Hedging |
| 8 | Satzlänge | Max. 20 Wörter pro Satz (für Narration-Klarheit) |
| 9 | Szenen-Dauer | Keine Szene > 60s (HeyGen-Splits berücksichtigen) |
| 10 | Übergänge | Definiert (Cut/Fade/Match-Cut/Whip) |
| 11 | Visual Cues | Vorhanden für jede Szene ([zoom], [highlight], etc.) |
| 12 | On-Screen Text | Max. 7 Wörter pro Einblendung |
| 13 | Kein Jargon | Ohne Erklärung — Audience-Knowledge-Level checken |
| 14 | Zusammenfassung | Bei Tutorials/Trainings vorhanden |
| 15 | Ausdrucks-Range (Synthesia) | Kein >60s-Abschnitt ohne ! / ? bei Expressive-Avatar-Scripts |
## Script Review: "OXID Gallery Tutorial — Episode 01"
### 15-Point Quality Check
- [x] 1. Timing — 380 Wörter / 130 WPM = 2:55 (Ziel: 3-15 min) ✓
- [x] 2. Readability — Flesch 68 (Ziel: >= 60) ✓
- [x] 3. Struktur — Hook → Voraussetzungen → 4 Schritte → Verifikation → CTA ✓
- [WARN] 4. Hook — "In diesem Tutorial zeige ich dir..." → AI-typisch.
Vorschlag: "OXID Gallery installiert sich in 8 Minuten — wenn du
die richtigen Dependencies hast. Hier sind sie."
- [x] 5. CTA — "Im nächsten Video: Konfiguration" — eindeutig ✓
- [x] 6. Tonalität — sachlich, geduldig (matcht Audience: Shop-Admins) ✓
- [WARN] 7. AI-Sprache — Zeile 47: "im Reich der modernen Galerien"
→ abstrakter Filler, ersetzen durch konkret
- [x] 8. Satzlänge — Max 19 Wörter, Median 14 ✓
- [x] 9. Szenen-Dauer — Längste Szene 47s ✓
- [WARN] 10. Übergänge — Szene 3→4 nicht definiert
- [x] 11. Visual Cues — Alle Szenen haben [highlight]/[zoom]/[screencast] ✓
- [x] 12. On-Screen Text — Max 6 Wörter pro Einblendung ✓
- [WARN] 13. Jargon — "Composer-Dependencies" ohne Erklärung (Z. 89)
- [x] 14. Zusammenfassung — Vorhanden in Szene 7 ✓
- [x] 15. Ausdrucks-Range — N/A (HeyGen Script) ✓
### Aussprache-Check (P15 advisory)
→ "2025" gefunden: "zweitausendundfünfundzwanzig" für TTS-Klarheit empfohlen
→ "PHP" gefunden: "P-H-P" oder phonetische Anmerkung ergänzen
## Overall: 11 / 15 — Revise before Generation
Critical: keine
Polish: 4 (Hook), 7 (AI-Sprache), 10 (Übergang), 13 (Jargon)
Das Skill /vidcraft:voice-checker scannt Narration auf typische AI-Patterns. Patterns liegen in knowledge/ai-language-patterns.md. Bei Synthesia Expressive-Avatar-Scripts läuft zusätzlich ein Ausdrucks-Range-Check.
| Kategorie | Beispiele |
|---|---|
| Abstrakte Nomen-Stacks | "tapestry of innovation", "landscape of solutions" |
| Hedging | "it's worth noting", "one might say" |
| Über-erklärte Metaphern | "like a journey through..." gefolgt von Erklärung |
| Cliché-Eskalation | "game-changer", "next-level", "unleash" |
| Generischer Filler | "in today's fast-paced world", "in the digital age" |
| Imperativ-Inflation | "let me show you", "let's dive into" |
| Ausdrucks-Flatline (Synthesia) | >60s Narration ohne !, ?, :) bei Expressive-Avatar-Scripts |
Voice Check: oxid-gallery-tutorial / 01-installation
---
Findings: 3 (advisory only)
Z. 47: "im Reich der modernen Galerien"
→ Abstrakte Filler-Nomen ("Reich")
→ Vorschlag: "moderne Galerie-Lösungen" oder konkret nennen
Z. 89: "Lass uns eintauchen..."
→ Imperativ-Inflation, Eingangs-Cliché
→ Vorschlag: "Erster Schritt: ..."
Z. 134: "ein wahrer Gamechanger für deinen Shop"
→ Marketing-Cliché
→ Vorschlag: konkret, was er löst
Advisory only. Voice-Checker schreibt nichts um — er flaggt Stellen mit Empfehlung. Du entscheidest.
/vidcraft:pre-generation-check durchläuft alle Gates vor der Generierung.
| # | Gate | Typ | Beschreibung |
|---|---|---|---|
| 1 | Script Status | BLOCK | Script muss Script Reviewed sein |
| 2 | Szenen vorhanden | BLOCK | Mindestens eine Szene mit Narration |
| 3 | Narration komplett | BLOCK | Alle Szenen müssen Narration haben |
| 4 | Visual Direction | WARN | Alle Szenen sollten Visual Direction haben |
| 5 | Timing | INFO | Geschätzte Dauer anzeigen |
Zusätzlich zu den 5 Standard-Gates läuft die Plattform-Validierung:
HeyGen:
| # | Gate | Typ | Beschreibung |
|---|---|---|---|
| — | Char-Limit pro Szene | BLOCK | <= 5.000 (API Hard Limit) |
| — | Kein Avatar-Wechsel innerhalb Szene | BLOCK | Splitten wenn nötig |
| — | Genau ein Background pro Szene | BLOCK | Splitten wenn nötig |
| 10 | SSML Prosody Tags | WARN | Warnen wenn Prosody Tags ohne Custom Voice gesetzt |
| 11 | Nicht deklarierte Variablen | WARN | Warnen bei {{variable}} Platzhaltern ohne Deklaration |
Synthesia:
Pre-Generation Check: oxid-gallery-tutorial / 01-installation
---
✅ Gate 1: Script Status = "Script Reviewed"
✅ Gate 2: 7 Szenen vorhanden
✅ Gate 3: Narration komplett
⚠️ Gate 4: Szene 5 hat keine Visual Direction
ℹ️ Gate 5: Geschätzte Dauer 2:55 (Ziel: 3-15 min)
❌ HeyGen Validation:
Scene 03: Avatar-Switch innerhalb Szene
→ "Anna_Professional" → "Marcus_Casual"
→ Lösung: Szene splitten
⚠️ Gate 10: SSML Prosody Tags gefunden aber keine Custom Voice gesetzt
⚠️ Gate 11: Nicht deklarierte Variablen: {{company_name}}, {{plan_name}}
🔴 BLOCKED — Bitte Issues fixen vor Generierung.
/vidcraft:video-reviewer prüft ein generiertes Video gegen 20 Punkte.
| Kategorie | Punkte | Fokus |
|---|---|---|
| Pacing | 4 | Total-Dauer, Szenen-Rhythmus, Pausen, Hook-Timing |
| Visual | 4 | Avatar-Konsistenz, Background-Qualität, Visual Cues sichtbar, Übergänge |
| Narration | 4 | Aussprache, Betonung, Tempo, Klarheit |
| Brand | 4 | Logo, Lower-Third, Farb-Palette, Tonality |
| Accessibility | 4 | Subtitle-Readiness, Reading-Pace, Color-Contrast, Inklusivität |
## Video Review: "OXID Gallery Tutorial — Episode 01"
### Pacing (4/4) ✓
- [x] Total-Dauer 2:58 (Ziel: 3-15 min, knapp aber okay)
- [x] Szenen-Rhythmus: 25-50s, gut variiert
- [x] Pausen nach jedem Schritt vorhanden
- [x] Hook unter 5s
### Visual (3/4)
- [x] Avatar-Konsistenz
- [WARN] Background "office.jpg" zu pixelig in Scene 03
- [x] Visual Cues sichtbar (Zoom, Highlights)
- [x] Übergänge sauber
### Narration (4/4) ✓
- [x] Aussprache OXID korrekt ("OH-XID", nicht "OX-ID")
- [x] Betonung natürlich
- [x] Tempo passt zu WPM-Vorgabe
- [x] Klar verständlich
### Brand (3/4)
- [WARN] Logo nicht in Outro-Szene (Scene 07)
- [x] Lower-Third konsistent
- [x] Farb-Palette
- [x] Tonality
### Accessibility (4/4) ✓
- [x] Subtitles bereit für Whisper-Generierung
- [x] Reading-Pace komfortabel
- [x] Kontrast sufficient (WCAG AA)
- [x] Inklusive Sprache
## Overall: 18 / 20 — Approved with minor revisions
Required: Background Scene 03 (re-render mit besserem Bild),
Logo in Scene 07 hinzufügen
/vidcraft:brand-checker prüft auf Brand-Konsistenz, besonders bei Multi-Episoden-Serien.
config.yaml > brand.toneBrand Check: oxid-gallery-tutorial / 01-installation
---
3 Verstöße gefunden:
1. Tone: "Das ist mega cool!" (Z. 78)
→ Brand-Tone: "professional + friendly" (kein "mega")
→ Vorschlag: "Das ist eine elegante Lösung."
2. Terminologie: "OXID Shop" (mehrfach)
→ Korrekt: "OXID eShop"
3. Logo: nicht in Closing-Szene
→ Brand-Guideline: Logo in jeder Outro
/vidcraft:accessibility-checker prüft WCAG 2.1 Compliance.
| Aspekt | Check |
|---|---|
| Subtitle-Readiness | Narration ist Whisper-tauglich (kein Slang, klare Aussprache) |
| Reading-Pace | Subtitles bei 200 WPM lesbar (max. ~21 Zeichen/Sekunde) |
| Color-Contrast | Text-Overlays >= 4.5:1 Ratio (AA), >= 7:1 (AAA) |
| Inklusive Sprache | Gendering, Disability-Language, Cultural-Sensitivity |
| Audio-Beschreibung | Bei rein visuellen Vorgängen — Narration beschreibt was passiert |
| Jargon-Density | Wenn > 5% Fachbegriffe, Glossar empfehlen |
Accessibility Check: oxid-gallery-tutorial / 01-installation
---
WCAG 2.1 Level: AA (mit 1 Warning)
✅ Subtitle-Readiness — Narration klar, Whisper-kompatibel
✅ Reading-Pace — Avg 18 chars/sec (Limit: 21)
⚠️ Color-Contrast — Scene 04 Text-Overlay: 3.8:1 (AA fordert 4.5:1)
→ Lösung: Text-Farbe von #999 auf #555 ändern
✅ Inklusive Sprache — keine problematischen Formulierungen
✅ Audio-Beschreibung — Visuelle Schritte werden begleitet
✅ Jargon-Density — 3.2% (unter Schwelle)
Pre-Generation:
1. /vidcraft:script-reviewer — 15-Punkt-Check (inkl. Aussprache-Advisory)
2. Fixes umsetzen
3. /vidcraft:voice-checker — AI-Tell-Scan (optional, aber empfohlen)
4. /vidcraft:storyboard-creator + screenshot-planner + asset-collector
5. /vidcraft:pre-generation-check — finaler Block-Gate
6. /vidcraft:heygen-engineer / synthesia-engineer
Post-Generation:
1. /vidcraft:video-reviewer — 20-Punkt-Check
2. /vidcraft:brand-checker — bei Multi-Episoden-Serie
3. /vidcraft:accessibility-checker — bei öffentlich-rechtlich / Bildung pflichtig
4. Fixes umsetzen / Re-Generate
5. /vidcraft:subtitle-generator
Mögliche Ursachen:
voice-checker wurde nicht zusätzlich gerunntknowledge/ai-language-patterns.md ist veraltet — neue AI-Patterns nicht erfasstLösung:
/vidcraft:voice-checker mein-projekt 01-foo
Bei DE-spezifischen Patterns: PR an knowledge/ai-language-patterns.md mit DE-Sektion.
Häufigste Ursache: Status-Felder in YAML-Frontmatter veraltet.
Check:
grep -A1 "status:" ~/video-projects/projects/MEIN-PROJEKT/episodes/01-FOO/README.md
Lösung: Status manuell auf Script Reviewed setzen.
Ursache: Video-Reviewer arbeitet auf Storyboard + Script, nicht auf dem tatsächlich gerenderten Video. Manuelle Sichtkontrolle ist immer ergänzend nötig.
Lösung: Skill ist Diagnose-Tool, kein QA-Ersatz. Plane explizit 5-10 min Sichtkontrolle ein.