Short-Form Idea Engine
Recherche-zu-Drehbuch-Pipeline, die außergewöhnliche Konkurrenzvideos in bewertete, markenkonforme Kurzvideo-Ideen und fertige Drehbücher verwandelt.
Wann verwenden
Verwende diesen Skill, wenn der Benutzer eine Pipeline für Kurzvideo-Ideen wünscht: Entdecke, was in einer Nische funktioniert, verstehe warum, generiere remixte Ideen und erhalte aufnahmebereite Drehbücher.
Nicht verwenden für:
- Ein einzelnes bekanntes Video, das der Benutzer entschlüsselt haben möchte: stattdessen an
video-decoderweiterleiten. - Eine Idee, die der Benutzer bereits hat und für die ein Drehbuch erstellt werden soll: stattdessen an
script-writerweiterleiten.
Abhängigkeiten
Dies ist ein eigenständiges Plugin. Es bündelt alle Sub-Skills und das Gemini-Hilfsskript. Es ist keine gemeinsame Skills-Umgebung erforderlich. Die externen Anforderungen sind drei API-Schlüssel (siehe nächster Abschnitt).
| Abhängigkeit | Rolle in diesem Skill |
|---|---|
virlo Skill (gebündelt) | Stufe 1 Keyword-Modus: entdeckt außergewöhnliche Kurzvideos nach Nischen-Keyword auf Instagram, TikTok und YouTube |
scrape Skill (gebündelt) | Stufe 1 Handles-Modus, Stufe 2 und Stufe 4 CDN-URL-Auflösung: ruft aktuelle Beiträge, Transkripte, Cover-Frames und direkte Medien-URLs über die ScrapeCreators-API ab |
video-decoder Skill | Stufe 3 und Stufe 4: entschlüsselt jedes außergewöhnliche Video in einen ausgefüllten Decode-Datensatz (visueller Hook, geschriebener Hook, gesprochener Hook, Wurzel, VV, IT, Format) |
script-writer Skill | Stufe 7: schreibt ein produktionsreifes Drehbuch pro genehmigter Idee |
brand-profiler Skill (gebündelt) | Stufe 0: erstellt ein neues Markenprofil, wenn keines existiert, und sammelt alle Schemafelder einschließlich voice_tone |
scripts/gemini-video-analyze.js (gebündelt) | Stufe 4 Tiefenanalyse: führt eine visuelle Analyse (Schnittgeschwindigkeit, Schnittrhythmus, visueller Stil, Bindungsmechanismen, Text-auf-Bildschirm-Kadenz) über OpenRouter Gemini durch |
API-Schlüssel und Graceful Degradation
Erforderliche Schlüssel: VIRLO_API_KEY, SCRAPECREATORS_API_KEY, OPENROUTER_API_KEY.
Lade sie in Stufe 0 vor jeglichen Ausgaben:
source .env
Degradierungsregeln:
| Fehlender Schlüssel | Auswirkung |
|---|---|
VIRLO_API_KEY | Der Keyword-Modus ist deaktiviert. Der Handles-Modus funktioniert weiterhin. Melde dies deutlich in Stufe 0. |
OPENROUTER_API_KEY | Stufe 4 (Tiefenanalyse) wird vollständig übersprungen. Alle Decodierungen bleiben shallow. Ideen, die aus flachen Decodierungen abgeleitet werden, werden in der Ranglistentabelle als "shallow-decoded" markiert. |
SCRAPECREATORS_API_KEY | Die Engine kann nicht ausgeführt werden. ScrapeCreators ist für Transkripte und Cover-Frames in allen Modi erforderlich. Stoppe in Stufe 0 und teile dem Benutzer dies klar mit. |
Pipeline
Stufe 0: Aufnahme
Frage den Benutzer nach:
- Modus: Keyword-Modus (Videos nach Nischen-Keyword entdecken) oder Handles-Modus (spezifische Konkurrenten-Handles analysieren).
- Markenprofil-Pfad: den Pfad zu einem ausgefüllten Markenprofil gemäß
references/brand-profile-template.md. Wenn keines existiert, biete an, eines zu erstellen, indem du den gebündeltenbrand-profiler-Skill verwendest, der alle Schemafelder (voice_tone,audience,positioning,content_pillars,anti_topics,forbidden_constructions,proof_credibility,format_preferences,on_camera_talent) interaktiv oder aus einem vorhandenen Markendokument sammelt. - Run-Slug: ein kurzer Label in Kleinbuchstaben für diese Sitzung (z.B.
ai-tools-keywordodertechcreator-handles). Wird verwendet, um den Run-Ordner zu benennen. - Run-Basis-Pfad: wo der Run-Ordner erstellt werden soll. Der Standard-Basis-Pfad ist
./shortform-runs/relativ zum aktuellen Arbeitsverzeichnis, was./shortform-runs/YYYY-MM-DD-<slug>/ergibt. Wenn die Sitzung innerhalb eines strukturierten Projekts mit eigenem Recherche- oder Ausgabebereich läuft, frage den Benutzer, ob der Run dort platziert werden soll. Bestätige den aufgelösten Basis-Pfad mit dem Benutzer, bevor du Dateien schreibst.
Überprüfe alle drei API-Schlüssel. Melde, welche Modi verfügbar sind, bevor Credits ausgegeben werden. Erstelle den Run-Ordner am bestätigten Basis-Pfad (z.B. <base>/YYYY-MM-DD-<slug>/) und schreibe 00-intake.md mit Modus, Abfrage oder Handle-Liste, verwendetem Markenprofil-Dateinamen, Run-Basis-Pfad, verfügbaren Schlüsseln und allen Überschreibungen.
Stufe 1: Entdeckung
Keyword-Modus. Rufe den virlo-Skill auf, um außergewöhnliche Kurzvideos für das Nischen-Keyword zu entdecken. Führe die Entdeckung über alle drei Konkurrentenringe durch, die in video-decoder/references/decode-framework.md definiert sind:
- Direkter Ring: das genaue Nischen-Keyword wie angegeben.
- Indirekter Ring: zielgruppennahe Keyword-Phrasen (gleiche Zielgruppe, anderer Themenwinkel).
- Angrenzender Ring: formatnahe Keyword-Phrasen (gleiches Format oder Produktionsstil, anderes Thema).
Rufe den virlo-Skill einen Ring nach dem anderen auf und übergib die Ringbezeichnung und die Keyword-Phrase für diesen Ring. Rufe virlo nicht für mehrere Ringe gleichzeitig auf. Der virlo-Skill verwaltet alle Orbit-Mechaniken: Er prüft zuerst, ob ein vorhandener Komet den Ring-Keyword abdeckt, und verwendet dessen gesammelte Daten (kostenlos), falls verfügbar; nur für Ringe ohne passenden Kometen wird ein frischer Orbit (Kosten: 0,50 $) ausgelöst. Die Aufgabe des Orchestrators ist die Sequenzierung: Warte, bis virlo die Rangliste der Ausreißer für einen Ring zurückgibt, bevor du virlo für den nächsten Ring aufrufst.
Nachdem virlo Ergebnisse für einen Ring zurückgegeben hat, berechne die Ausreißergröße pro Video. Die Ergebnisse von Virlo enthalten ein Ausreißerverhältnis auf Erstellerebene, aber der Orchestrator benötigt ein Verhältnis pro Video für Stufe 4 und das Bewertungsschema in Stufe 6. Für jeden eindeutigen Ersteller, der in den Ring-Ergebnissen erscheint, rufe den scrape-Skill auf, um die letzten Beiträge dieses Erstellers (ungefähr die letzten 20) auf der relevanten Plattform abzurufen. Verwende die zurückgegebenen Beiträge, um eine Basislinie der medianen Aufrufzahl für diesen Ersteller zu berechnen. Berechne dann das Ausreißerverhältnis jedes Videos als video_views / creator_median_views. Speichere die rohen JSON-Antworten in raw/ für jeden Ring und für jeden Basislinien-Abruf.
Handles-Modus. Rufe den scrape-Skill auf, um die letzten Beiträge (ungefähr die letzten 20) für jeden Handle auf der relevanten Plattform abzurufen. Für jeden Handle berechne die mediane Aufrufzahl über die zurückgegebenen Beiträge. Behalte nur Beiträge, die den eigenen Median des Erstellers um das 2-fache oder mehr überschreiten (Ausreißerschwelle). Speichere rohe JSON in raw/.
Wenn ein Handle null Beiträge über der 2-fachen Schwelle ergibt (Ersteller mit geringer Varianz), nimm trotzdem den einzelnen leistungsstärksten aktuellen Beitrag dieses Erstellers auf. Notiere in 00-intake.md, dass der Handle keinen klaren Ausreißer hatte und der Top-Beitrag als Fallback aufgenommen wurde.
In beiden Modi ist das Ergebnis von Stufe 1 eine entdoppelte Liste von Ausreißervideos mit deren Quell-URL, Plattform, Ersteller-Handle und Aufrufzahl.
Stufe 2: Belege
Rufe für jedes Ausreißervideo den scrape-Skill auf, um Folgendes zu sammeln:
- Transkript: Für YouTube rufe den
scrape-Skill auf, um das Transkript per Video-URL abzurufen. Für TikTok und Instagram versuche, den Transkripttext aus den bereits in Stufe 1 abgerufenen Beitrags-Payloads zu extrahieren. Wenn die Beitrags-Payloads für ein Video kein Transkript enthalten, rufe als Fallback die Transkriptfunktion desscrape-Skills für diese Video-URL auf, bevor das Video an Stufe 3 übergeben wird. - Cover-Frame: die in den Beitrags-Payloads zurückgegebene Thumbnail-URL. Für YouTube leite den Cover-Frame als
https://img.youtube.com/vi/[VIDEO_ID]/hqdefault.jpgab.
Speichere alle rohen Antworten in raw/, benannt nach Quelle und Zeitstempel (z.B. scrapecreators-transcript-[video_id]-[timestamp].json). Jede Anzahl von Aufrufen und Engagement-Daten, die nachgelagert verwendet werden, muss auf eine Datei in raw/ zurückverfolgbar sein.
Stufe 3: Decodieren
Führe den video-decoder-Skill auf jedem Ausreißer aus. Übergib: den Transkripttext (falls verfügbar), die Cover-Frame-URL (falls verfügbar), den Ersteller-Handle, die Plattform, die Ausreißergröße (in Stufe 1 berechnetes Verhältnis) und die Zuordnung des Konkurrentenrings (klassifiziere den Ring jedes Videos relativ zur Marke unter Verwendung der Ringdefinitionen in video-decoder/references/decode-framework.md).
Der video-decoder-Skill gibt einen ausgefüllten Decode-Datensatz pro Video zurück, einschließlich des visuellen Hooks (abgeleitet vom Cover-Frame und sichtbarem Text auf dem Bildschirm), des geschriebenen Hooks und des gesprochenen Hooks. Schreibe jeden Datensatz in 01-decodes/[video_id].md. Zu diesem Zeitpunkt haben alle Decodierungen decode_depth: shallow.
Ein fehlendes Transkript allein ist KEIN Grund, ein Video zu überspringen. Viele der Videos mit den höchsten Ausreißern sind Text-Overlay- oder POV-Videos ohne gesprochenen Inhalt. Wenn das Video einen Cover-Frame oder eine Bildunterschrift hat, decodiere es flach mit spoken_hook: n/a. Überspringe ein Video nur, wenn es wirklich nichts zu decodieren gibt: kein Transkript, kein Cover-Frame, keine Bildunterschrift UND kein anderes aussagekräftiges Signal (z.B. ein harter Abruffehler, bei dem nichts abrufbar ist). Notiere jedes übersprungene Video als decode-failed in 00-intake.md mit der Video-URL und dem genauen Grund. Fahre mit der Verarbeitung der verbleibenden Videos fort.
Stufe 4: Tiefenanalyse
Wähle die Top 5 bis 8 Ausreißer aus, sortiert nach Ausreißergröße (höchstes Verhältnis zuerst).
Bevor du das Gemini-Hilfsskript für ein Video aufrufst, löse die direkte CDN-Medien-URL für dieses Video mit dem scrape-Skill auf. Eine Social-Page-URL (z.B. eine TikTok- oder Instagram-Seiten-URL) wird von Gemini abgelehnt. Übergib die CDN-Medien-URL an das Hilfsskript, niemals die Social-Page-URL. Die Auflösungsmethode variiert je nach Plattform. Konsultiere scrape/references/reading-scrape.md unter "Auflösen einer direkten Medien-URL für Video" für den plattformspezifischen Ansatz (TikTok erfordert eine Videoinfo-Suche; Instagram-Medien-URLs befinden sich im bereits abgerufenen Beitrags-Payload; YouTube-Watch-URLs werden direkt durchgereicht). Löse die CDN-URLs zeitnah innerhalb des Runs auf und verwende sie, da CDN-URLs ablaufen.
Rufe für jedes ausgewählte Video das Gemini-Hilfsskript auf und leite stdout direkt in die Rohdatei in einem Befehl um.
Der Hilfsskript-Pfad muss als absoluter Pfad aus dem Verzeichnis aufgelöst werden, das diese SKILL.md enthält (das shortform-idea-engine Skill-Verzeichnis innerhalb des installierten Plugins). Bestimme dieses Verzeichnis zur Laufzeit und konstruiere den absoluten Pfad zu scripts/gemini-video-analyze.js darin. Die Ausgabeumleitung zielt auf den Run-Ordner unter dem in Stufe 0 bestätigten Run-Basis-Pfad. Diese beiden Pfade werden unabhängig voneinander aufgelöst: das Hilfsskript aus dem Skill-Verzeichnis, die Ausgabe aus dem Run-Basis-Pfad.
OPENROUTER_API_KEY=<key> node <skill-dir>/scripts/gemini-video-analyze.js <cdnMediaUrl> "Analyze this short-form video for: pacing (average cut frequency, notable slow or fast segments), cut rhythm (pattern of cuts: cut-on-beat, reaction cuts, b-roll intercuts), visual style (color grading, background, camera movement, on-screen graphic density), text-on-screen cadence (how often captions or callouts appear relative to spoken content), and retention devices (specific hooks, pattern interrupts, cliffhangers, or loops used mid-video). Return structured notes for each dimension." > <run-base>/YYYY-MM-DD-<slug>/raw/gemini-<video_id>-<timestamp>.json
Wobei <skill-dir> der absolute Pfad zum shortform-idea-engine Skill-Verzeichnis ist (das Verzeichnis, das diese SKILL.md enthält) und <run-base>/YYYY-MM-DD-<slug>/ der in Stufe 0 bestätigte Run-Ordner ist.
Die Umleitung speichert die rohe Gemini-Antwort in raw/gemini-<video_id>-<timestamp>.json innerhalb des Run-Ordners, sodass die Rückverfolgbarkeit von Stufe 8 erfüllt werden kann.
Führe den video-decoder-Skill für jedes dieser Videos erneut aus und übergib den Gemini-Block als optionalen Tiefenanalyse-Eingang. Der erneute Durchlauf gibt einen aktualisierten Decode-Datensatz mit decode_depth: deep und deep_notes zurück. Überschreibe das vorhandene 01-decodes/[video_id].md mit dem tiefen Datensatz.
Überspringe Stufe 4 vollständig, wenn OPENROUTER_API_KEY nicht gesetzt ist. Alle Decodierungen bleiben shallow und das Flag "shallow-decoded" wird pro Idee in Stufe 6 notiert.
Stufe 5: Ideenfindung
Sammle alle Viral Vectors, Interest Topics und Formate aus jedem Decode-Datensatz in 01-decodes/. Generiere 10 bis 15 remixte Ideen. Jede Idee muss:
- Benennen, welchen Viral Vector sie übernimmt (wörtliche Bezeichnung aus dem Decode-Datensatz).
- Benennen, welches Interest Topic sie übernimmt oder anpasst.
- Benennen, welches Format sie verwendet.
- Den Markenwinkel angeben: wie der übernommene VV, IT und Format remixt werden, um zu dieser spezifischen Marke zu passen (verwende die Felder
content_pillars,audienceundproof_credibilitydes Markenprofils, um den Winkel zu verankern). - Die Quellenherkunft für jedes übernommene Element aufzeichnen: den
creator_handle, diesource_urlund dievideo_idaus dem/den Decode-Datensatz/-sätzen, aus dem/denen das Element extrahiert wurde. Wenn ein Element in mehr als einem Decode-Datensatz vorkommt, liste alle auf. Diese Herkunft reist mit der Idee durch die Bewertung und bis ins Drehbuch.
Hier gelten Extrahierungssignalgewichte nach Ring (aus video-decoder/references/decode-framework.md): VVs sind aus allen vier Ringen gültig; ITs haben das höchste Signal von indirekten Konkurrenten; Formate haben das höchste Signal von angrenzenden Konkurrenten. Gewichte deine Remixing entsprechend, schließe aber Ideen nicht mechanisch allein aufgrund des Rings aus.
Wenn der Decode-Pool zu klein ist, um 10 unterschiedliche Ideen zu unterstützen, ohne VV-, IT- oder Format-Kombinationen zu erfinden, die nicht im Pool vorhanden sind, generiere nur so viele echte Ideen, wie der Pool unterstützt. Notiere den Fehlbetrag und die tatsächliche Anzahl oben in 02-ideas.md. Erfinde niemals Extraktionswerte, die nicht decodiert wurden.
Stufe 6: Bewertung
Bewerte jede Idee mit references/ranking-rubric.md:
- Überprüfe jede Idee gegen die
anti_topics-Liste des Markenprofils. Jede Übereinstimmung ist eine sofortige Disqualifikation (DQ: anti-topic). Entferne disqualifizierte Ideen aus der Ranglistentabelle. Füge jede disqualifizierte Idee in einen klar beschrifteten Abschnitt "Disqualifiziert (Anti-Thema)" am Ende von02-ideas.mdunterhalb der Ranglistentabelle ein, mit Angabe der Idee und des spezifischen Anti-Themas, das sie ausgelöst hat. - Bewerte überlebende Ideen auf zwei Achsen:
viral_potential(Durchschnitt von fünf Unterfaktoren: VV-Stärke, Ausreißergröße, Format-Wiederholbarkeit, Themenfrische, Hook-Stärke) undbrand_fit(Durchschnitt von vier Unterfaktoren: Stimmübereinstimmung, Zielgruppenübereinstimmung, Content-Pillar-Übereinstimmung, authentische Glaubwürdigkeit). Beide Bewertungen verwenden eine Skala von 1 bis 10. - Berechne
combined = viral_potential * (brand_fit / 10). Runde auf eine Dezimalstelle. - Sortiere absteigend nach
combined. Bei Gleichstand der combined-Werte wird die Idee mit dem höherenviral_potentialzuerst eingestuft. - Schreibe die Ranglistentabelle in
02-ideas.mdin dieser Spaltenreihenfolge:# | Idee | Wurzel | Übernommener VV/IT/Format | Quellvideo | Viral | Brand Fit | Kombiniert | Einzeilige Begründung. Die ZelleQuellvideozeigt das primäre Quellvideo, auf das die Idee zurückgeht, als@creator_handle / video_id. Wenn die Idee Elemente aus mehr als einem Decode-Datensatz übernimmt, liste alle in dieser Zelle auf, getrennt durch Semikolons. Die SpalteWurzelzeigt die visuelle Hook-Beschreibung aus dem Decode-Datensatz oder eine Zusammenfassung des ursprünglichen Ansatzes des Videos. DieEinzeilige Begründungerklärt, warum die Idee für diese Marke und diesen Run gut passt.
Stufe 7: Auswahl und Drehbuch
Präsentiere die Top-5-Liste aus Stufe 6 dem Benutzer in einem Klartext-Bullet-Journal-Format.
Für jede der 5 Ideen zeige:
**Idee #1: [Kurzer Name der Idee]**
- Basierend auf: @creator_handle / video_id
- Wurzel: [Was das ursprüngliche Video getan hat]
- Viral-Vector: [VV-Name] | Interest Topic: [IT-Name] | Format: [Format-Name]
- Markenwinkel: [Wie es für diese Marke remixt wird]
- Viral: [Bewertung] | Brand Fit: [Bewertung] | Kombiniert: [Bewertung]
Frage den Benutzer: "Welche dieser Ideen sollen wir in ein Drehbuch umwandeln?"
Warte auf die Antwort des Benutzers. Der Benutzer kann:
- "alle" eingeben, um alle 5 Ideen zu Drehbüchern zu machen.
- Eine Liste von Nummern eingeben (z.B. "1, 3, 5").
- Einen Bereich eingeben (z.B. "1-3").
- "keine" eingeben, um den Prozess zu beenden.
Überprüfe, ob die ausgewählten Ideen innerhalb des zulässigen Bereichs (1-5) liegen und gültig sind. Gib eine Fehlermeldung aus und fordere erneut zur Eingabe auf, wenn die Auswahl ungültig ist.
Für jede ausgewählte Idee:
Rufe den script-writer-Skill auf. Übergib als Kontext:
- Die Ideenbeschreibung (Name, Wurzel, VV, IT, Format).
- Das Markenprofil (den gesamten Inhalt der Profildatei).
- Den relevanten Decode-Datensatz/die relevanten Decode-Datensätze.
- Die vollständige Anforderung als "Schreibe ein Kurzvideo-Drehbuch für diese Idee."
Der script-writer-Skill gibt ein Drehbuch zurück. Speichere es im Run-Ordner als 03-scripts/[idea-name-slug].md, wobei idea-name-slug eine slugifizierte Version des Kurznamens der Idee ist.
Stufe 8: Run-Zusammenfassung
Schreibe 04-summary.md in den Run-Ordner mit:
- Run-Metadaten: Modus, Abfrage oder Handle-Liste, verwendetes Markenprofil, Datum.
- Pipeline-Statistiken: Entdeckte Videos, decodierte Videos, generierte Ideen, disqualifizierte Ideen, erstellte Drehbücher.
- Ressourcennutzung: Verwendete Schlüssel, API-Aufrufe (ungefähre Anzahl), Ausgaben (basierend auf bekanntem Verbrauch pro API-Aufruf).
- Top-empfohlene Idee: Kurze Zusammenfassung der Idee mit der höchsten Bewertung.
- Alle Probleme oder Warnungen: Fehlgeschlagene API-Aufrufe, übersprungene Videos, fehlende Schlüssel.
Referenzen
Bewertungsmatrix-Struktur (references/ranking-rubric.md)
evaluation_criteria:
viral_potential:
sub_factors:
- name: "VV-Stärke"
weight: 1.0
description: "Wie stark ist der entlehnte Viral Vector? Hochwertige VVs haben nachweislich eine hohe Wiedergabe-/Engagement-Rate."
- name: "Ausreißergröße"
weight: 1.0
description: "Wie extrem war die Leistung des Quellvideos im Verhältnis zur Medianleistung des Erstellers? Höhere Ausreißer = höheres Potenzial."
- name: "Format-Wiederholbarkeit"
weight: 1.0
description: "Kann dieses Format von der Marke konsistent reproduziert werden? Einfache Setups, niedrige Produktionskosten, klare Vorlagen sind hoch."
- name: "Themenfrische"
weight: 1.0
description: "Wie neu oder unerwartet ist dieses Thema für die Zielgruppe der Marke? Frische Themen ziehen mehr Aufmerksamkeit auf sich."
- name: "Hook-Stärke"
weight: 1.0
description: "Wie aufmerksamkeitsstark ist der visuelle + geschriebene + gesprochene Hook basierend auf der Decodierung? Starke Hooks halten die Zuschauer."
aggregation: "average"
brand_fit:
sub_factors:
- name: "Stimmübereinstimmung"
weight: 1.0
description: "Passt der Ton/die Persönlichkeit der Idee zur voice_tone des Markenprofils?"
- name: "Zielgruppenübereinstimmung"
weight: 1.0
description: "Wird diese Idee die Zielgruppe der Marke ansprechen?"
- name: "Content-Pillar-Übereinstimmung"
weight: 1.0
description: "Fällt diese Idee unter einen der definierten Content-Pillars der Marke?"
- name: "Authentische Glaubwürdigkeit"
weight: 1.0
description: "Kann die Marke dieses Thema oder diesen Winkel glaubwürdig abdecken? Nutzt es proof_credibility?"
aggregation: "average"
combined_score:
formula: "viral_potential * (brand_fit / 10)"
rounding: 1
Decode-Framework-Struktur (video-decoder/references/decode-framework.md)
video_decoder_framework:
description: "Rahmenwerk zum Verständnis, warum ein Kurzvideo die Erwartungen übertrifft"
components:
- name: "Visueller Hook"
type: "string"
source: "Cover-Frame, Text auf Bildschirm im ersten Frame"
required: true
- name: "Geschriebener Hook"
type: "string"
source: "Bildunterschrift, Überlagerungstext, Titel"
required: true
- name: "Gesprochener Hook"
type: "string"
source: "Transkript (erste 3 Sekunden)"
required: false
- name: "Wurzel"
type: "string"
description: "Der grundlegende Grund, warum dieses Video funktioniert hat (1 Satz)"
required: true
- name: "Viral Vector (VV)"
type: "string"
description: "Das spezifische Engagement-Muster, das die Entscheidung des Algorithmus antreibt (z.B. 'Kommentar-Aufforderung', 'Loop zur Wiedergabe', 'Emotionale Brücke')"
required: true
- name: "Interest Topic (IT)"
type: "string"
description: "Das Thema oder Sub-Nischen-Interesse, das dieses Video in die Feed-Kategorie des Zuschauers gebracht hat"
required: true
- name: "Format"
type: "string"
description: "Die Produktionsstruktur des Videos (z.B. 'Bildschirmaufnahme + Voiceover', 'POV-Talking-Head', 'Text-Overlay-Montage')"
required: true
competitor_rings:
- name: "Direkter Ring"
description: "Ersteller, die exakt im selben Nischen-Keyword posten"
- name: "Indirekter Ring"
description: "Ersteller, die für dieselbe Zielgruppe posten, aber zu einem anderen Thema"
- name: "Angrenzender Ring"
description: "Ersteller, die dasselbe Format oder denselben Produktionsstil verwenden, aber für eine andere Zielgruppe"
- name: "Breiter Ring"
description: "Ersteller außerhalb der Nische, die branchenübergreifend viral gegangen sind (relevant für VVs und Formate, nicht für ITs)"
Markenprofil-Vorlage (references/brand-profile-template.md)
brand_profile:
name: "[Markenname]"
voice_tone: "[Beschreibung des Tons: z.B. witzig, autoritär, lehrreich, nachvollziehbar]"
audience:
primary: "[Primäre Zielgruppe]"
secondary: "[Sekundäre Zielgruppe]"
positioning: "[Ein-Satz-Positionierung]"
content_pillars:
- "[Pillar 1]"
- "[Pillar 2]"
- "[Pillar 3]"
anti_topics:
- "[Thema, das die Marke niemals behandeln sollte]"
- "[Ein weiteres Thema]"
forbidden_constructions:
- "[Konstruktion, die vermieden werden sollte, z.B. Fragen am Ende, Clickbait-Thumbnails]"
proof_credibility:
- "[Berechtigungsnachweis, den die Marke nutzen kann]"
format_preferences:
- "[Bevorzugtes Format]"
on_camera_talent:
name: "[Name des Talents, falls vorhanden]"
role: "[Rolle]"
social_handles:
instagram: "[Handle]"
tiktok: "[Handle]"
youtube: "[Handle]"
Ausführungsbeispiel
# Beispielsitzung: Keyword-Modus für "KI-Tools"
# Stufe 0: Benutzer gibt Keyword "KI-Tools", Run-Slug "ai-tools-keyword", Run-Basis-Pfad "./output/"
# Stufe 1: Virlo wird für direkten Ring ("KI-Tools"), indirekten Ring ("Produktivitäts-Hacks") und angrenzenden Ring ("Tech-Reviews") aufgerufen
# Stufe 2: ScrapeCreators ruft Transkripte und Cover-Frames für Top-10-Ausreißer ab
# Stufe 3: Video-Decoder erstellt Decode-Datensätze für alle 10 Videos
# Stufe 4: Gemini analysiert Top-5-Videos für tiefe Decodierung
# Stufe 5: 12 remixte Ideen werden generiert
# Stufe 6: Ideen werden bewertet, 2 werden aufgrund von Anti-Themen disqualifiziert
# Stufe 7: Benutzer wählt Top-3-Ideen aus; Drehbücher werden geschrieben
# Stufe 8: Zusammenfassung wird mit Metriken geschrieben