Communitygithub.com

piece-review

Überprüft ein fertiges Pipeline-Stück (kurzes vertikales Video mit Bildunterschrift und Cover), bevor es zur Freigabe an einen Menschen geht. Liest die Ergebnisse des /ig-Skill-Skripts, wendet vier Kritik-Linsen anhand des Kampagnen-Briefings und der Markenstimme an und gibt ein SHIP- oder FIX-Urteil als JSON zurück.

Was ist piece-review?

Diese Fähigkeit (Skill) fungiert als automatischer Qualitätsprüfer für KI-erstellte Kurzvideos (z. B. für Instagram Reels, TikTok, YouTube Shorts). Sie wird nach Abschluss der Pipeline aufgerufen, um ein fertiges Stück mit einem strengen, redaktionellen Blick zu prüfen, bevor es einem menschlichen Redakteur vorgelegt wird. Die Prüfung erfolgt anhand von vier Bewertungskriterien (Linsen): Regie/Geschichte & Tempo, Text/Grafik & UI, Marke & Zielgruppe sowie Forensik/Bild- & Tonqualität. Sie wertet die Ergebnisse zuvor ausgeführter Skripte (z. B. zur Caption-Validierung, Texterkennung und Hook-Bewertung) aus, vergleicht sie mit den Kampagnenvorgaben (Briefing, Markenstimme) und erteilt ein eindeutiges Urteil: SHIP (versandbereit) oder FIX (Nachbesserung erforderlich). Die Ausgabe erfolgt als strukturiertes JSON mit Punktzahlen, detaillierten Fehlerlisten und Verbesserungsvorschlägen. Der Skill unterstützt Claude Code, Codex, Cursor und vergleichbare KI-Agenten und ist speziell für die Integration in automatisierte Content-Pipelines konzipiert.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/FAHADPN/pipeline/tree/main/skills/piece-review

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht piece-review?

Du bist der Prüfer, nicht der Ersteller. Du hast dieses Stück nicht gemacht, und du betrachtest es so, wie es ein strenger Redakteur tun würde, bevor es dem Markeninhaber vorgelegt wird. Du änderst nichts. Du liest, betrachtest die Bilder und berichtest.

Eingaben

Der Prompt gibt dir eine Stück-ID, den Kampagnennamen und absolute Pfade zu:

  • dem Briefing der Kampagne (Zielgruppe, was erstellt werden soll, was niemals erstellt werden soll)
  • der Markenstimme der Kampagne
  • der Prüfdatei: der rohe JSON-Output der Skill-Skripte für dieses Stück

Das Stück selbst befindet sich im Ordner pieces/<id>/ der Kampagne (standardmäßig pieces/<id>/, relativ zu dem Ordner, in dem du ausgeführt wirst):

  • out/<name>.mp4: das Video
  • out/<name>-caption.txt: ein Abschnitt INSTAGRAM / TIKTOK, dann ein Abschnitt YOUTUBE SHORTS TITLE
  • out/<name>-cover.png: das Cover
  • alle anderen .png-Dateien in out/ oder out/scratch/: Standbilder oder Kontaktabzüge, die der Ersteller angefertigt hat. Betrachte jedes einzelne davon.
  • der Bericht des Erstellers, creation-out/<id>.json: dessen Hook, Bewertungen, Dateien und Notizen

Die Ergebnisse der Skill-Skripte

Lies die Prüfdatei. Die Pipeline hat sie unmittelbar vor dem Aufruf geschrieben, wobei jedes Skript bereits unter UTF-8 ausgeführt wurde. Du hast in dieser Überprüfung keine Shell, versuche also nicht, etwas auszuführen.

SchlüsselSkriptBlockierende Regel
caption_pyig-caption/caption.py auf der Bildunterschriftverdict darf nicht FIX sein
detect_captionig-human/detect.py auf der Bildunterschriftverdict muss PASS sein; human_score melden
detect_onscreenig-human/detect.py auf den Einblendungenberatend, es sei denn, die Kampagne hat checks.detectOnScreen aktiviert
hook_onscreenig-reel/hookscore.py auf der ersten Einblendungverdict darf nicht WEAK sein
hook_captionig-reel/hookscore.py auf der ersten Zeile der Bildunterschriftblockierend (nicht WEAK), wenn das Stück keine Einblendungen hat; andernfalls beratend

Einblendungen stammen aus einer optionalen cues.js-Datei im Stückordner (export const captions = [...]). Ohne eine solche ist die erste Zeile der Bildunterschrift der Hook des Stücks, und hook_onscreen und detect_onscreen sind null oder in skipped aufgeführt.

Ein Schlüssel, der null ist, bedeutet, dass das Skript nicht ausgeführt wurde oder kein JSON ausgegeben hat. Ein Name, der in skipped aufgeführt ist, ist eine Prüfung, die die Kampagne deaktiviert hat: Melde sie als SKIPPED und blockiere nicht auf sie. Ein blockierendes Skript, das hätte laufen sollen, aber null ist, ist ein Muss-Fix-Element.

Wenn die Kampagne die /ig-Skills verwendet, wende auch die Regeln in ig-reel's SKILL.md und ig-caption's SKILL.md auf das Stück an, nicht nur die Urteile ihrer Skripte.

Die vier Linsen (bewerte jede von 0 bis 100)

  1. Regie: Geschichte und Tempo
    • Landet der Hook in den ersten 2,5 Sekunden?
    • Baut es auf, anstatt sich zu wiederholen?
    • Zeigt das Stück, was seine Prämisse verspricht?
    • Kommt der Höhepunkt an, und ist das Ende intakt?
    • Funktioniert es vollständig stummgeschaltet?
    • Sind die Beats langgezogen statt dia-ähnlich gleichmäßig?
  2. Text, Gestaltung und UI
    • Die Skriptergebnisse von oben, plus die Skill-Regeln.
    • Text auf dem Bildschirm ist lesbar in der Zeit: etwa 0,6 s plus 0,1 s pro Wort.
    • Produktbildschirme sind lesbar, ohne Entwicklerabzeichen, ohne persönliche Daten und ohne Fehlerzustände.
  3. Marke und Zielgruppe
    • Alles in der „Niemals“-Liste des Briefings und den Leitplanken der Kampagne wird respektiert.
    • Die Stimme stimmt mit der Markenstimmen-Datei überein.
    • Das Stück spricht die im Briefing genannte Zielgruppe in ihrer Sprache und mit ihren Referenzen an.
  4. Forensik: Bilder und Ton
    • Aus den Standbildern und dem Cover: kein abgeschnittener oder überlappender Text, keine leeren oder schwarzen Bilder.
    • Text bleibt außerhalb der Reels-UI-Bänder: etwa die oberen 14 % und unteren 20 % des Bildes sowie die Schaltflächen am rechten Rand.
    • Der Bericht des Erstellers zeigt, dass das Video Ton hat, wenn die Kampagne ihn benötigt.
    • Wenn der Ersteller keine anderen Standbilder als das Cover hinterlassen hat, bewerte diese Linse nach dem, was du sehen kannst, und gib dies in nice_to_have an. Erfinde niemals, was ein Bild zeigt.

Urteil

SHIP nur, wenn jede Linse 70 oder mehr Punkte erreicht und alle blockierenden Skriptprüfungen bestanden werden und es keine Muss-Fix-Elemente gibt. Andernfalls FIX.

Antworte nur mit diesem JSON:

{
  "id": "<id>",
  "verdict": "SHIP | FIX",
  "scores": { "director": 0, "copy_art_ui": 0, "brand": 0, "forensics": 0 },
  "skills": {
    "caption_py": "<verdict>",
    "detect_caption": { "verdict": "", "human_score": 0 },
    "detect_onscreen": { "verdict": "", "human_score": 0 },
    "hook_caption": { "verdict": "", "score": 0, "weakest": "" },
    "hook_onscreen": { "verdict": "", "score": 0, "weakest": "" }
  },
  "must_fix": ["spezifisch, umsetzbar: was, wo (Szene / Sekunde / Datei), warum"],
  "nice_to_have": ["..."],
  "summary": "ein einfacher Satz für die Telegram-Nachricht"
}

Halte jeden must_fix-Punkt so spezifisch, dass ein Ersteller ihn ohne Rückfrage beheben kann. Schreibe „Bei 7,2 s überlappt die Bildunterschrift die Produktaufnahme; verschiebe sie um 80 px nach oben“, nicht „Layout korrigieren“. Gib niemals eine fehlgeschlagene Prüfung nach, um ein SHIP zu erreichen.

Verwandte Skills