Communitygithub.com

courtneymgabrus-star/Video

Verwandle beliebigen Text – einen Artikel, Notizen, ein Thema, eine Kurzbeschreibung – in ein gesichtsloses Erklärvideo: Es gibt keine Website oder Aufnahmen, die erfasst werden müssen, die visuellen Elemente werden szene für szene erfunden (Typografie, abstrakte Grafiken, Diagramme, Datenvisualisierung). Verwende es für Themenerklärungen, Konzepte, Anleitungen, Listenartikel. Kein Video, das von einer Website erstellt wird (/product-launch-video – Werbe- oder Tourvideo). Unsicher → /hyperframes.

Was ist Video?

Diese Fähigkeit (Skill) wandelt Texte wie Artikel, Notizen oder Themen in ein gesichtsloses Erklärvideo um, ohne dass eine Website oder reale Assets aufgenommen werden müssen. Stattdessen werden die visuellen Elemente – Typografie, abstrakte Grafiken, Diagramme, Datenvisualisierung – für jede Szene künstlich erstellt. Der Skill ist als Orchestrator konzipiert und folgt einer strengen Schritt-für-Schritt-Anleitung (Schritte 0-6), die die Projekteinrichtung, die Texterfassung, das Designsystem, das Storyboard, die Erstellung des Drehbuchs, die Audiogenerierung, das Frame-Rendering und die abschließende Videoproduktion umfasst. Wichtige Schritte erfordern eine Benutzerfreigabe, und es wird Wert auf eine narrative Struktur und Designkonsistenz gelegt. Der Skill ist mit den HyperFrames-, Hyperframes-Animation- und Hyperframes-Kreativ-Toolsystemen integriert und unterstützt die Bereitstellung von HeyGen für Sprach- und Hintergrundmusik oder lokale Engines. Er ist ideal für Entwickler und Agenten, die aus textbasierten Informationen schnell erklärende Videoinhalte produzieren möchten.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/courtneymgabrus-star/Video/tree/HEAD/.agents/skills/faceless-explainer

In Ihrer bevorzugten KI fragen

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

Dokumentation

Plugin-Installationen: Führe vor dem Einrichten oder den Aktualisierungsbefehlen die Plugin-Installationsregeln aus, wenn sich dieser Skill innerhalb eines HyperFrames-Plugins befindet. Standalone-Installationen behalten die folgenden Update-Anweisungen bei.

Zuerst: Halte diesen Skill auf dem neuesten Stand – Bestätige dies mit dem Benutzer, bevor du ausführst: npx hyperframes skills update faceless-explainer. Ein schneller No-op, wenn alles aktuell ist; andernfalls wird dieser Skill zusammen mit den Kernbereich-Skills aktualisiert, auf die er sich stützt, bevor du dich auf sie verlässt.

media-use: Bevor du Audio/Bilder/Logos beschaffst, rufe /media-use auf, um BGM/SFX/Bilder aus dem HeyGen-Katalog und Markenlogos aus offiziellen Quellen zu beziehen. Führe zuerst --adopt aus, um vorhandene Assets zu registrieren. Siehe Skill /media-use. Wenn die Host-App eigene Musik- oder Soundeffekt-Tools bereitstellt, verwende diese für Musik und Soundeffekte.

Gesichtsloses Erklärvideo zu HyperFrames

Verwende diesen Skill, um einen Textkörper in ein Erklärvideo zu verwandeln: Wähle ein Designsystem, plane eine Lehrgeschichte und baue sie Szene für Szene in HyperFrames auf. Gesichtslos bedeutet, dass jedes visuelle Element nachgelagert erfunden wird – es gibt keinen Erfassungsschritt und kein reales Asset-Inventar.

Der Zugang ist /hyperframes. Du bist der Orchestrator. Führe jeden Schritt aus, überprüfe seine Pforte und fahre erst dann fort. Dieser Skill dient dazu, ein Thema aus einem Text zu erklären, ohne ein Produkt und ohne eine zu erfassende Website. Jede andere Absicht, ein bloßes „Video erstellen" oder Unsicherheit → lies zuerst /hyperframes – die Absichtsebene besitzt alle Routenentscheidungen, und eine frische Kreation, die ohne BRIEF.md hier ankommt, durchläuft sie trotzdem (Einrichtungsregelöffnung).

Du bist der Orchestrator. Arbeite in videos/<projekt>/. Führe die Schritte der Reihe nach aus und bestehe jede Pforte, bevor du fortfährst. Benutzergesteuerte Schritte sind Schritt 0, Schritt 3 und Schritt 6. Lies ../hyperframes/references/brief-contract.md vor Schritt 0 – es definiert die Pfortentypen und wie BRIEF.md's flow/storyboard den Modus ableiten, der die Tore der Schritte 3/4/6 regelt. Erledige jeden Schritt selbst, außer Schritt 5, wo du einen Unter-Agenten pro Frame entsendest. Platziere keine Design- oder Bewegungsregeln hier; diese leben im Frame-Worker-Unter-Agenten, diesem Skill-lokalen ../hyperframes-animation/rules/ + ../hyperframes-animation/blueprints/ und hyperframes-creative.

Workflow: Schritt 0 Einrichtung → hyperframes.json; Schritt 1 Brief → capture/extracted/; Schritt 2 Designsystem → frame.md; Schritt 3 Storyboard/Drehbuch → STORYBOARD.md und SCRIPT.md; Schritt 3.1 Audio → audio_meta.json; Schritt 4 Visuelles Design → angereichertes STORYBOARD.md; Schritt 5 Frames → compositions/frames/NN-*.html und index.html; Schritt 6 Finaler Render → renders/video.mp4.


Schritt 0: Einrichtung

Ziel: Mit einem bestätigten Brief beginnen, das HyperFrames-Projekt erstellen und den Brief dauerhaft machen.

Der Brief wird von der Absichtsebene bestätigt, nicht durch hier gestellte Fragen. Öffnungsregel, in der Reihenfolge: (1) BRIEF.md existiert → lese es und frage nichts – der Brief ist festgelegt, und sein flow/storyboard leiten den Modus ab (Briefvertrag § 1). (2) Kein BRIEF.md aber das Projekt existiert (hyperframes.json / STORYBOARD.md auf der Festplatte) → setze von den Frontmatter des Storyboards und den aufgezeichneten Präferenzen fort; befrage niemals ein halbfertiges Projekt erneut. (3) Weder noch – eine frische Erstellungsanfrage, die direkt hier ankam → lies /hyperframes und führe seine Absichtsebene aus (references/intent-interview.md): es überprüft Rezepte und gespeicherte Standardeinstellungen, führt die Fragen dieser Route durch (../hyperframes/references/routes/faceless-explainer.md) und gibt den gesperrten Brief zurück. Bearbeitungsanfragen überspringen all dies – führe die Bearbeitung durch.

Initialisiere nur, wenn hyperframes.json fehlt. Benenne <projekt> nach dem Thema im Kebab-Case, z.B. compound-interest-explained; verwende niemals den Arbeitsbereichsnamen oder einen Zeitstempel.

npx hyperframes init "videos/<projekt>" --non-interactive --example=blank --skill=faceless-explainer – init überprüft die installierten Skills mit den neuesten auf GitHub und aktualisiert die globale Menge, wenn welche veraltet sind.

Nach der Initialisierung, sei <PROJECT_ROOT> als videos/<projekt> und führe jeden nachfolgenden relativen Pfadbefehl mit diesem Verzeichnis als Arbeitsverzeichnis aus. In den folgenden Befehlen bedeutet . <PROJECT_ROOT>; schreibe niemals .media, capture oder Ausgabedateien in das aufrufende Verzeichnis.

Schreibe BRIEF.md sofort nach der Initialisierung (niemals davor – init verweigert ein nicht leeres Verzeichnis): den gesperrten Brief der Absichtsebene, Form gemäß ../hyperframes/references/brief-format.md. Löse <MEDIA_DIR> als das installierte /media-use-Skill-Verzeichnis auf. Zeichne dann jede präferenzgestützte Antwort auf mit node <MEDIA_DIR>/scripts/prefs.mjs record --hyperframes . (brief-format.md nennt die Teilmenge). Wenn die Absichtsebene ein Rezept übernommen hat, führe aus node <MEDIA_DIR>/scripts/recipe.mjs use --hyperframes . --name <name>; es kopiert sein frame.md in das Projekt (Schritt 2 wird dann übersprungen) und gibt die Skelett-Entwürfe für Schritt 3 zurück. Ein Rezept füllt Antworten, nicht Genehmigungen; die Überprüfungs-Pforten laufen trotzdem.

Zeige den Anmeldestatus an, bevor du über die Einrichtung hinausgehst – führe npx hyperframes auth status aus und gib die Ausgabe wörtlich weiter. Es meldet, ob Sprache/BGM HeyGen oder lokale Engines verwenden und, wenn abgemeldet, wie man sich anmeldet. Wende einen Zweig an:

  • Kollaborativ: Warte, bis der Benutzer sich anmeldet oder explizit offline / go wählt.
  • Autonom: Gib den Status an und fahre mit den verfügbaren lokalen Engines fort.

Übergehe nicht stillschweigend eine erforderliche Fähigkeit, wenn kein Offline-Anbieter existiert; zeige die Blockade an. Falte diese Entscheidung nicht in eine andere Frage oder schreibe Schlüssel in ein repo-spezifisches .env. Authentifizierungs-Ownership und Offline-Fallbacks: /media-use references/setup-providers.md § Anbieter.

Pforte: hyperframes.json und BRIEF.md existieren; die präferenzgestützten Antworten wurden aufgezeichnet (Briefvertrag § 2); der Anmeldestatus wurde gezeigt (angemeldet oder Offline-Fortsetzung).


Schritt 1: Brief (keine Erfassung)

Ziel: Den Text des Benutzers als Informationsquelle in das Projekt einfügen. Es gibt keine Website-Erfassung und keine realen Assets – dies ist ein gesichtsloses Erklärvideo.

Speichere die vollständige Eingabe des Benutzers wörtlich, erstelle dann das synthetische Erfassungspaket von Hand:

  • capture/extracted/visible-text.txt – der vollständige Artikel / Notizen / Thema / Kurzbeschreibung, wörtlich. Dies ist die Quelle der Information, keine Vorlage für eine Geschichte (Schritt 3 formt sie um).
  • capture/extracted/tokens.json – { "title": "", "description": "", "colors": [], "fonts": [] }. Fülle title/description aus dem Brief. Lasse colors/fonts leer, es sei denn, der Benutzer hat explizit Markenfarben oder Schriftarten angegeben – dann füge sie hinzu (die Designvoreinstellung liefert ohnehin eine vollständige Palette).

Wenn der Benutzer ein Skript eingefügt hat oder möchte, dass sein Wortlaut beibehalten wird, speichere es wörtlich als user_script.txt; VO_MODE (wörtlich oder umstrukturiert) kommt von BRIEF.md – die Absichtsebene fragt danach, wenn ein Skript ankommt. Frage hier einmal nur, wenn der Brief es irgendwie vermissen lässt, und speichere die Antwort für Schritt 3.

Führe nicht npx hyperframes capture aus (es gibt keine URL). Erstelle keine asset-descriptions.md und befülle nicht capture/assets/ – gesichtslose visuelle Elemente werden in den Schritten 4-5 erfunden, nicht erfasst. Die einzige Ausnahme: Wenn der Benutzer ein echtes Bild bereitgestellt hat, lege es unter public/<basename> ab und notiere es für Schritt 3.

Pforte: capture/extracted/visible-text.txt und capture/extracted/tokens.json existieren; du kannst das Thema und die Zielgruppe des Erklärvideos in einem klaren Satz angeben.


Schritt 2: Designsystem

Ziel: Wähle eine ausgelieferte Frame-Voreinstellung; ein Skript verwandelt sie in das frame.md + Untertitel-Skin dieses Videos.

Wenn BRIEF.md einen style_preset nennt – der Benutzer hat ihn nach Augenschein aus den Showcases in der Absichtsebene ausgewählt – verwende ihn; das Urteil liegt nur bei dir, wenn der Brief schweigt. Dann triffst du die eine Entscheidung – welche Voreinstellung: lies ../hyperframes-creative/references/design-spec.md und durchstöbere ../hyperframes-creative/frame-presets/; wähle die Voreinstellung, deren Aussehen am besten zum Thema, Ton und Publikum passt. Führe dann aus:

node <SKILL_DIR>/scripts/build-frame.mjs --preset <name> --hyperframes .

Das Skript erledigt den Rest deterministisch: Kopiert das FRAME.md der Voreinstellung → frame.md und remixt es auf alle Marken-Tokens in capture/extracted/tokens.json (Markenfarben werden auf die Farbtasten der Voreinstellung nach Rolle abgebildet; die Anzeige- und Korpus-Schriftarten der Voreinstellung werden durch die der Marke ersetzt), kopiert das Untertitel-Skin der Voreinstellung nach .hyperframes/caption-skin.html und validiert sich selbst (exit 1 bei einer fehlerhaften Abbildung). Fahre fort, sobald es mit exit 0 beendet – keine manuelle Bearbeitung der Spezifikation.

Ein gesichtsloses Erklärvideo hat normalerweise keine Markenfarben/Schriftarten (tokens.json-Farben/Schriftarten leer) → das Skript behält die eigene Palette der Voreinstellung, ein vollständiges auslieferbares Design. Nur wenn der Benutzer Markenfarben/Schriftarten genannt hat, füge sie vor der Ausführung zu tokens.json hinzu, und passe frame.md nur dann von Hand an, wenn eine Abbildung es wirklich erfordert.

Pforte: build-frame.mjs mit exit 0 beendet – frame.md existiert aus einer benannten Voreinstellung, und (wenn die Voreinstellung eines ausliefert) existiert .hyperframes/caption-skin.html als Quelle des Untertitel-Skins; die gewählte Voreinstellung wurde als Präferenz aufgezeichnet (--key style_preset --workflow <dieser Workflow>, Briefvertrag § 2).


Schritt 3: Storyboard und Drehbuch

Ziel: Verwandle den Text in einen genehmigten lehrreichen Frame-für-Frame-Plan.

Lies ../hyperframes-creative/references/story-spine.md (Hakensprache, Wert-vor-Beweis, Storyboard als Vorschlag, quellennachvollziehbare visuelle Elemente), references/story-design.md, ../hyperframes-animation/blueprints-index.md, ../hyperframes/references/storyboard-format.md und ../hyperframes/references/script-format.md. Verwende sie, um STORYBOARD.md und, wenn eine Erzählung benötigt wird, SCRIPT.md zu schreiben. Setze das Frontmatter duration: aus dem length des Briefs – eine grobe Erwartung; die Assemblierung meldet, wo der Schnitt dagegen liegt.

Verwende story-design.md für die Struktur des Erklärvideos (Konzept / Anleitung / Liste / Geschichte), die Hakenstrategie, Klarheitstechniken, emotionale Schwerpunkte, die Typ-Enum-Abbildung und VO_MODE. Die Abfolge des Videos ergibt sich aus dem narrativen Design, nicht aus der Absatzreihenfolge des Eingabetexts – ordne neu, fasse zusammen, lasse weg, komprimiere. Als weiche Richtlinie konsultiere das Rollen→Blueprint-Menü in ../hyperframes-animation/blueprints-index.md: Schreibe für jeden Beat die Voiceover in der Form, die sein Kandidaten-Blueprint impliziert, und tagge diesen Kandidaten mit blueprint: id, wenn einer passt. Die Lehrwahrheit entscheidet dennoch, welche Beats existieren – erzwinge niemals einen Beat, um zu einem Blueprint zu passen, und erfinde niemals einen Beat, nur weil eine bewährte Form verfügbar ist. Gesichtslose visuelle Elemente werden nachgelagert erfunden, daher haben Frames kein Asset-Inventar: Lasse asset_candidates leer, es sei denn, der Benutzer hat ein echtes public/<basename>-Bild bereitgestellt. Verwende die genauen erforderlichen Felder aus den Storyboard- und Drehbuchreferenzen.

Nach dem Entwurf führe den Plan-Durchlauf der Überprüfungsschleife aus – ../hyperframes/references/review-loop.md § 1: Präsentiere den Plan als Vorschlag und stelle die zwei Fragen – genehmigen oder ändern, und Skizzen zuerst (empfohlen) oder überspringen. Feedback kommt als Chat-Antwort; schleife, bis genehmigt. Dies ist eine Kontrollpunkt-Pforte (Briefvertrag § 1): Im autonomen Modus gibt es nichts zu fragen – veröffentliche dieselbe Zusammenfassung als Vorankündigung und fahre fort; Skizzen fallen in den Build, und die endgültige Vorschau mit ihrer einen Frage kommt bei Schritt 6.

Pforte: STORYBOARD.md existiert, jeder Frame hat die erforderlichen narrativen Felder, SCRIPT.md existiert, wenn eine Erzählung benötigt wird, und der Benutzer hat den Frame-für-Frame-Plan genehmigt (autonom: die Zusammenfassung wurde als Vorankündigung veröffentlicht).


Schritt 3.1: Audio

Ziel: Erzeuge Erzählung, Wort-Zeitsteuerung, Musik und Audio-Metadaten aus dem genehmigten Drehbuch.

Beginne Audio nach der Genehmigung von Schritt 3. Führe es im Hintergrund aus, fahre dann mit Schritt 4 fort. (Der Anmeldestatus wurde bereits in Schritt 0 gezeigt; die Engine fällt automatisch zurück.)

Wähle die Erzählstimme aus der Anfrage des Benutzers, bevor du sie aufrufst. Wenn die Anfrage eine Stimme, ein Geschlecht oder einen Ton genannt hat, wähle eine passende Stimmen-ID und übergib sie mit --voice <id>. Der Pipeline-Standard ist ansonsten Marcia (weiblich) auf HeyGen / am_michael auf Kokoro – daher wird eine Anfrage wie „eine männliche Stimme“ stillschweigend ignoriert, es sei denn, du übergibst das Flag. Stimmen-IDs sind anbieterspezifisch; löse sie gegen den Anbieter auf, den der Anmeldestatus von Schritt 0 ausgewählt hat: HeyGen (angemeldet) über node <MEDIA_DIR>/audio/scripts/heygen-tts.mjs --list (oder GET /v3/voices?engine=starfish); Kokoro (offline) über die Stimmentabelle in <MEDIA_DIR>/audio/references/tts.md (Präfixe am_/bm_ männlich, af_/bf_ weiblich). Wenn der Benutzer keine Präferenz geäußert hat, falle auf die gespeicherte Stimme zurück (Briefvertrag § 2), bevor du den Pipeline-Standard verwendest, und sage, welche du verwendet hast; lasse --voice nur weg, wenn keiner eine nennt. Wenn der Benutzer in diesem Durchlauf explizit eine Stimme ausgewählt hat, zeichne sie auf (prefs.mjs record --key voice).

node <SKILL_DIR>/scripts/audio.mjs --script ./SCRIPT.md --storyboard ./STORYBOARD.md --hyperframes . --out ./audio_meta.json --voice <stimme-id> &

Das Audio-Skript kümmert sich um Erzählung, Wort-Zeitsteuerung, BGM-Suche aus HeyGens Musikbibliothek und Zeitsteuerungsmetadaten. Die BGM-Stimmung kommt aus dem music:-Feld des Storyboards. Dies verwendet die HeyGen Audio API zum Abrufen, nicht zur Generierung, und dieselbe ~/.heygen-Anmeldeinformation wie TTS. Für Anbieterdetails lies ../media-use/audio/references/tts.md. Wenn die eigenen Tools der Host-App die Musik oder einen Soundeffekt erzeugen, lege die Datei unter assets/ ab und liste sie in der Datei audio_meta.json mit dem Vermerk "source": "host" auf: Musik als bgm { "path": "assets/…", "source": "host" } mit music: none im Storyboard; ein Sound als sfx-Eintrag { "frame": <n>, "file": "assets/…", "offset_s": 0, "duration_s": <seine Länge>, "source": "host" }. Jeder Audio-Durchlauf behält diese bei, und ein Frame mit einem Host-Sound erhält keinen abgerufenen Cue.

Wenn es keine Erzählung und kein SCRIPT.md gibt, überspringe die Spracherzeugung. BGM kann trotzdem laufen, wenn das Storyboard eine Musikstimmung hat.

Der kanonische völlig stille Marker (gemeinsam mit den Workflows, die dieses Audiomodell wiederverwenden): music: none im oberen YAML-Block von STORYBOARD.md, kein SCRIPT.md, und keine sfx:-Cues oder Host-Audio. Diese Kombination markiert das Projekt als still – n

… [für die Übersetzung gekürzt]

Individual skills in this repo

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

courtneymgabrus-star/Video

Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet `anchor` rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.

courtneymgabrus-star/Video

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

courtneymgabrus-star/Video

Author or edit a custom HyperFrames composition when no specialized workflow fits, or when BRIEF.md sets flow: companion. Use for longer or multi-scene pieces, brand and sizzle reels, montages, static loops, static title cards, footage remixes, and freeform builds. Use motion-graphics instead for a short unnarrated motion-first unit, including an animated title. Route fresh creation through hyperframes before using this skill.

courtneymgabrus-star/Video

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

Verwandte Skills