CommunityCodierung & Entwicklunggithub.com

fl-sean03/skills

45 Agent-Fähigkeiten (offener Standard) — Designgeschmack, Videoproduktion, Engineering-Methodik, Recherche-Workflows, visuelle Iteration. Funktioniert mit Claude Code und jeder Agenten-Umgebung.

Was ist skills?

Diese Skill-Sammlung („Embedded Captions“) bietet einen standardisierten Workflow zur Erstellung professioneller Untertitel und visueller Effekte für Videoinhalte, insbesondere für Sprechervideos (Talking Heads). Sie basiert auf einem offenen Standard und ist mit Claude Code sowie anderen Agenten-Harness-Systemen kompatibel. Der Workflow unterscheidet drei Hauptmodi: Standard (Rail + Embed), Cinematic (reines Embed) und Theme (komplette thematische Inszenierung mit VFX-Effekten). Der Kernprozess umfasst fünf Schritte: Initialisierung, Vorbereitung (Matte-Erstellung & Transkription), kreative Autorenschaft einer JSON-Datei, visuelle Qualitätskontrolle und finale Render-Ausgabe. Die Stärke liegt in der intelligenten Entscheidungsfindung: Füllwörter werden automatisch ausgeblendet (Drop), der Großteil des Texts läuft als untere Leiste (Rail), und nur die wichtigsten Höhepunkte werden als eingebettete Wörter hinter dem Subjekt compositet (Embed). Der Skill enthält detaillierte Entscheidungsbäume zur Identitätsauswahl aus einem Katalog von 17 Identitäten und verhindert typische Fehler wie das Überladen mit Embed-Effekten oder das Verarbeiten ungeeigneter Quellen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add fl-sean03/skills

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Eingebettete Untertitel

Ein Katalog, vorne ausgewählt (CATALOG.md — 17 Identitäten; die drei Engines dahinter sind Backend-Details). Standard (Standard) baut eine saubere, wörtliche Rail (untere Drittel-Untertitel, die den meisten Text tragen) + einen Embed-Höhepunkt, der am Höhepunkt in die Szene hinter dem Subjekt compositet wird. Cinematic (Kino) ist reines Embed — keine Rail, jeder Untertitel wird hinter dem Subjekt compositet (Hero-Typografie, Akkumulation, Okklusion als Effekt). Theme (Thema) ist eine vollständige thematische Verfassung — Körperparadigma × Hero-Setpiece × Front-Effekt × Tafel-Reaktion, zusammengesetzt aus Registern (themes/README.md): ordnance terminal neonsign stardust stomp. Die meisten Erklär-/Voiceover-Videos verwenden Standard; Embed ist der seltene, verdiente Höhepunkt — jedes Wort einzubetten ist der häufige Fehler; Theme ist für VFX-Niveau-Anfragen („炸“, „特效“, „wie AE gemacht“).


Betriebsablauf (Kurzfassung)

Die handwerkliche Prosa unten ist lang; die Pipeline selbst ist kurz — und alles Deterministische wird berechnet oder kompiliert, nie von Hand geschrieben:

  1. Entscheidungs-Gate (schlechte Clips ablehnen) → EINE Identität aus CATALOG.md auswählen (17 Identitäten; Engine/Compiler werden per Lookup abgeleitet — niemals eine Modus-/Kategoriefrage stellen)
  2. hyperframes init (überspringen, wenn das Projektverzeichnis bereits mit dem Video existiert — matte.cjs/transcribe.cjs übernehmen jedes Video im Verzeichnis als source.mp4) → bash scripts/prepare.sh <projekt> (Matte ∥ Transkription ∥ Audio-Envelope parallel, dann Safe-Zones v2 mit Szenenpalette/Optik/Beleuchtung — ein Befehl, nichts vergessen)
  3. Ein kleines JSON mit kreativen Entscheidungen erstellen (zuerst safe-zones.json lesen): Cinematic → plan.json → fill-timings.cjs → fit-fonts.cjs → make-composition.cjs; Theme → theme.json → make-theme.cjs (Rail/Panel/Poem/Takeover-Paradigmen; anchor ist die ruhige Rail-Voreinstellung)
  4. Visuelle Qualitätskontrolle: node scripts/preview-frames.cjs <projekt> → getreue Composite-Vorschauen in ~2s/Frame (kein Rendern). Abschnitt „Visuelle Qualitätskontrolle“ prüfen, bevor für ein Rendern bezahlt wird.
  5. render-and-composite.sh → Gates (Timing / Okklusion+Hero / Überlauf / Übergabe) → final.mp4

Wichtige Regeln, die oft übersehen werden:

  • Rail (Standard) + Embed (Promotion). drop (Füllwort, nicht angezeigt) / rail (wörtlicher unterer Drittel-Untertitel, vorne, trägt den meisten Text) / embed (ein Höhepunktwort, das hinter dem Subjekt compositet wird). Der Standard-Modus macht beides, wobei nur die Höhepunkte eingebettet werden. Siehe § Untertitel-Modell.
  • Das Video wird UNBERÜHRT ausgeliefert (Standard/Cinematic; der PLATE-Budget des Theme-Modus ist die einzige genehmigte Ausnahme — registergesteuerte Reaktionsbeats (Ladungsabdunkelung, Punch, Schütteln, Körnung), die pro Theme-DNA definiert und NACH dem Matte-Composite angewendet werden, sodass Subjekt+Text+Plate sich als ein Frame bewegen) — Untertitel sind das Einzige, was hinzugefügt wird; die Matte lässt das Subjekt lediglich die Embed-Spur verdecken. Niemals das Filmmaterial farblich bearbeiten/neu einfärben/Scanlines hinzufügen.
  • Zwei Regelwerke: Rail → references/rail.md (dünn), Embed-Handwerk → references/composition-craft.md (reichhaltig, nur Embed). Nach Bedarf überfliegen.

Untertitel-Modell — Rail + Embed

Jeder gesprochene Satz ist eines von drei Dingen:

WasWie es angezeigt wird
dropFüllwort — äh/öhm, Stottern, Selbstkorrekturennicht angezeigt
railder Standard — gewöhnlicher gesprochener Inhalt (wörtlich)sauberer unterer Drittel-Untertitel, vorne, lesbar. Ein Schlagwort kann eine Inline-emphasis-Hervorhebung erhalten (Akzentfarbe / aktives Wort-Pop) — es bleibt auf der Rail.
embedein beförderter Höhepunkt — der Hauptbeatein großes Wort, das hinter dem Subjekt compositet wird (Matte-Okklusion), mit gestaltetem Ein- und Ausgang

Die Rail trägt den Großteil des Texts; Embed ist der seltene, verdiente Höhepunkt. Seltenheit gilt pro Beat/Block, nicht pro Clip: ≤1 Hero pro Block (Gedanke), niemals zwei gleichzeitig sichtbar, mindestens ein Beat Abstand zwischen Hero-Fenstern (der Compiler warnt unter 0,6s). Ein kurzer Clip → normalerweise 1–2; eine lange Erklärung → ~einer pro Abschnitt. Bei mehreren Helden wird der größte erstellte zum APEX (nur er erhält das vollständige Lockup-Embed + Breitenanpassungs-Raise); kleinere sind MINOR-Peaks, die in ihrer Spalte als überdimensionierte Hervorhebungszeilen (Vordergrund, gedämpfte Bewegung) mitlaufen — nicht jeder Beat braucht die Matte-Inszenierung, und genau das macht den Apex zu einem Ereignis. Jedes Wort einzubetten ist immer noch der häufige Fehler.

Rail-Oberflächenidentitäten bauen genau dies auf (Rail = rail.html, Embed = der Höhepunkt in index.html). Spaltenfluss-Identitäten lassen die Rail weg und machen alles Embed-artig — empfehlen Sie sie nur für stimmungsbetonte statt wörtliche Anfragen, niemals für Erklär-/Voiceover-Videos, bei denen die Worte lesbar sein müssen (CATALOG.md codiert dies pro Identität).


Schritt 0 — EINE Identität aus dem KATALOG auswählen

Ein Frontend, drei Engines dahinter. Der Benutzer wählt eine IDENTITÄT aus CATALOG.md (17 Einträge: 12 klassisch + 5 thematisch); die Engine, der Compiler und die Autorendatei werden durch Lookup aus der Katalogzeile abgeleitet. „Standard vs. Cinematic vs. Theme“ niemals als Frage stellen — das sind Backend-Namen (ein Produkt hat eine UX, auch mit mehreren Engines). Der Katalog codiert alles, was für das Routing nötig ist: Leseoberfläche, Stimme, Empfehlung-für, Szenenanforderungen, Adjazenznotizen für die wirklich ähnlichen Paare (loud↔ordnance, neon↔neonsign, cream↔stardust).

Vorgehen: Den Clip sondieren → 2–3 Identitäten aus dem Katalog in die engere Wahl nehmen → EINE mit einer einzeiligen Begründung empfehlen → der Benutzer wählt aus → die Datei dieser Identität erstellen. Identitäten sind Engine-gebunden (keine Querkombinationen; das Öffnen einer ist ein Validierungsereignis — siehe dna/README.md).

Präsentieren Sie immer Ihre Empfehlung und lassen Sie den Benutzer wählen, bevor Sie etwas erstellen. Nicht stillschweigend eine Voreinstellung verwenden.

(Die vollständige Identitätstabelle befindet sich in CATALOG.md — die einzige Quelle der Wahrheit für das Routing. Die Engine-Dokumente unten beschreiben den Autorenvertrag jedes Backends.)

Empfehlungsheuristik: Verwenden Sie die „Kurzlisten-Heuristiken“ in CATALOG.md — sie sind auf Identitätsebene (z. B. „炸“ kuratiert ordnance/stomp/terminal/loud und wählt basierend darauf, WAS explodieren soll), niemals auf Kategorieebene. Unsicher → anchor.

  • Cinematic → plan.json für eine feste Vorlage schreiben, kompiliert von make-composition.cjs.
  • Theme → themes/README.md lesen, theme.json erstellen, scripts/render-theme.sh ausführen (kompiliert + rendert + Tafel-Reaktion → final_fx.mp4).

Entscheidungs-Gate — ZUERST AUSFÜHREN

Das Video sondieren und die Szene klassifizieren, bevor ein Modus gewählt wird.

ffprobe <video.mp4>                    # Spezifikationen
ffmpeg -ss <t> -i <video.mp4> -vframes 1 sample.png   # bei 20/50/80%

Die Samples lesen. Ablehnen, wenn:

  • Mehrere Sprecher / harte Schnitte (jede Einstellung einzeln rendern oder ablehnen)
  • Kein menschliches Subjekt (dieser Skill ist für Sprechervideos)
  • Unter 3 Sekunden, keine Sprache, oder Gesicht nie deutlich sichtbar — transcribe.cjs warnt, wenn Audio nahezu still ist (Whisper halluziniert Wörter wie „Vielen Dank.“ über Stille); dies beachten und ablehnen, anstatt erfundene Wörter zu untertiteln
  • Quelle hat bereits eingebrannte Untertitel / schwere Textgrafiken — ein zweites Untertitel-System erzeugt Konflikte, und das Filmmaterial wird unverändert ausgeliefert (kein Überdecken/Inpainting). Eingebrannter Text erscheint oft nur mitten im Clip: eine 1fps-Kontaktabzüge erstellen (ffmpeg -i in.mp4 -vf "fps=1,scale=160:-1,tile=10x5" sheet.png), nicht 3 Einzelframes vertrauen.
  • Transkription ist Müll — nicht-muttersprachliche/stark akzentuierte Sprache kann in zuversichtlichen Unsinn transkribiert werden. transcript.json vor dem Erstellen auf Plausibilität prüfen; wenn es sich nicht wie Sprache anhört, einmal WHISPER_MODEL=medium versuchen, sonst ablehnen (eine wörtliche Rail aus erfundenen Wörtern ist schlimmer als keine Untertitel).
  • Hektische Handkamera mit schneller Bewegung (Matte flackert)

Pre-Flight-Überprüfungen (kosten nichts, verhindern die schlimmsten Fehler)

  1. Schnittmengen-Überprüfung. Einzelbilder bei 20 %, 50 %, 80 % entnehmen. Wenn ein anderes Subjekt/Szene erscheint, den Clip vor dem Schnitt zuschneiden.
  2. Letterbox-/Pillarbox-Überprüfung. Schwarze Balken im ersten Frame? Sicheren Inhaltsbereich berechnen und die Untertitelplatzierung darin einschränken.
  3. Luminanz-Überprüfung. Die durchschnittliche Luminanz des Untertitelbereichs abtasten — unter 60 → heller Text bleibt lesbar, 60-180 → den Glyphen-Schleier hinzufügen, 180+ → deckender Text + Schleier (niemals nackten hellen Text). Cinematic-Vorlagen sind creme+screen und GESPERRT — diese Überprüfung verwenden, um eine passende Identität auszuwählen (helle Szenen → ink oder das deckende Rail-anchor-Thema), niemals um eine einzufärben.
  4. Identitätsempfehlung nach Tonfall (Sie empfehlen; der Benutzer wählt — siehe Schritt 0 + CATALOG.md). Erklärvideo / Interview / muss-lesbare Worte → Rail/Panel-Oberflächen-Identitäten; poetisch / sozial / „cinematic“ → Spaltenfluss-Identitäten nach Register; „炸 / 特效 / VFX“ / benannte Welten → thematische Identitäten. Bei Unsicherheit → anchor (Worte lesbar, Szene sicher) — aber eine Kurzliste präsentieren und den Benutzer wählen lassen.

Pipeline — 5 Schritte

1. hyperframes init <projekt> --non-interactive --video <video.mp4> --skip-skills
2. bash scripts/prepare.sh <projekt>       # Matte ∥ Transkription (parallel) → Safe-Zones. Ein Befehl.
                                           #   → frames_fg/ transcript.json safe-zones.json
3. [AGENT-SCHRITT — der einzige kreative Schritt] ein kleines JSON erstellen; siehe unten nach Modus
   Cinematic: plan.json erstellen → node scripts/fill-timings.cjs → fit-fonts.cjs → make-composition.cjs
   Theme:     theme.json erstellen → bash scripts/render-theme.sh <projekt>   (kompiliert + rendert + Tafel-Effekte)
4. node scripts/preview-frames.cjs <projekt>   # ~2s/Frame Composite-Vorschauen → § Visuelle Qualitätskontrolle (VOR dem Rendern)
5. bash scripts/render-and-composite.sh <projekt>  # Gates → final.mp4 + history/ Schnappschuss
   (Theme-Modus: Schritte 3b/5 ÜBERSPRINGEN — render-theme.sh führt bereits Kompilierung + Render-and-Composite
    + _postfx.sh aus; das Ergebnis ist final_fx.mp4, final.mp4 ist vor der Tafel-Reaktion)

Schritt 3 unterscheidet sich nach Modus:

Schritt 3 — Cinematic-Modus (reines Embed)

  1. Zuerst safe-zones.json lesen. Erzählebenen kommen in zones.hugLeft/hugRight — saubere Streifen ANGRENZEND an die Silhouette (Text weit weg vom Körper wirkt schwebend, nicht eingebettet; entfernte Ecken sind der Notfall, nicht der Standard). Der Hero standardmäßig auf heroAnchor/heroBands.best (ZENTRIERT auf dem Subjekt, ~30–55 % verdeckt). recommendation:"fg" verschiebt die ERZÄHLUNG nach vorne für Lesbarkeit; der Hero bleibt eingebettet, wann immer heroBands.feasible

Verwandte Skills