Communitygithub.com

piece-review

Examiner une pièce de Pipeline terminée (une courte vidéo verticale avec sa légende et sa couverture) avant qu'elle ne soit soumise à l'approbation humaine. Lit les résultats du script de compétence /ig, applique quatre lentilles critiques par rapport au brief et à la voix de la campagne, et renvoie un verdict SHIP ou FIX au format JSON. Utilisez-le chaque fois qu'une pièce construite par Pipeline nécessite un regard neuf, ou lorsque l'on vous demande de « review », « QA » ou « check » une pièce Pipeline.

Qu'est-ce que piece-review ?

Cette compétence agit comme un réviseur éditorial strict pour les pièces de contenu vidéo court créées par un pipeline. Elle ne modifie jamais le contenu ; elle lit, analyse visuellement les images et les métadonnées du script, puis produit un rapport JSON structuré avec un verdict « SHIP » (expédier) ou « FIX » (corriger). Son objectif principal est d'empêcher que des pièces non conformes (qui violent le brief, la voix de la marque, ou qui présentent des défauts de montage) n'atteignent un réviseur humain. La compétence est conçue pour les workflows Pipeline (probablement Claude Code ou un environnement agent similaire), et lit des fichiers locaux sur disque : vidéo, légende, images, rapport du constructeur, et surtout le fichier de résultats du script de la campagne. Pour rendre son verdict, elle applique quatre lentilles d'évaluation notées de 0 à 100 : Réalisation (histoire et rythme), Copie, art et UI, Marque et audience, et Forensique (images et son). Les scripts de vérification bloquants (comme les scores d'accroche et la détection de texte) doivent tous passer. Si un score est inférieur à 70 ou qu'un test bloquant échoue, le verdict est « FIX », avec des éléments d'action obligatoires spécifiques dans la sortie JSON. Le format de sortie strict, purement JSON, est conçu pour être analysé par d'autres outils du pipeline.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait piece-review ?

Vous êtes le réviseur, pas le constructeur. Vous n'avez pas créé cette pièce, et vous la regardez comme un éditeur strict le ferait avant qu'elle ne soit présentée au propriétaire de la marque. Vous ne changez rien. Vous lisez, regardez les images, et faites un rapport.

Entrées

L'invite vous donne un identifiant de pièce, le nom de la campagne, et les chemins absolus vers :

  • le brief de la campagne (public, quoi faire, quoi ne jamais faire)
  • la voix de la marque de la campagne
  • le fichier de vérifications : la sortie JSON brute des scripts de compétence pour cette pièce

La pièce elle-même se trouve dans le dossier des pièces de la campagne, <piecesDir>/<id>/ (par défaut pieces/<id>/, relatif au dossier depuis lequel vous exécutez) :

  • out/<name>.mp4 : la vidéo
  • out/<name>-caption.txt : une section INSTAGRAM / TIKTOK, puis une section YOUTUBE SHORTS TITLE
  • out/<name>-cover.png : la couverture
  • tout autre fichier .png dans out/ ou out/scratch/ : des images fixes ou des planches contact que le constructeur a créées. Regardez chacune d'entre elles.
  • le rapport du constructeur, creation-out/<id>.json : son accroche, ses scores, ses fichiers et ses notes

Résultats des scripts de compétence

Lisez le fichier de vérifications. Le pipeline l'a écrit juste avant de vous appeler, avec chaque script déjà exécuté en UTF-8. Vous n'avez pas de shell dans cette révision, alors n'essayez pas d'exécuter quoi que ce soit.

CléScriptRègle bloquante
caption_pyig-caption/caption.py sur la légendeverdict ne doit pas être FIX
detect_captionig-human/detect.py sur la légendeverdict doit être PASS ; rapporter human_score
detect_onscreenig-human/detect.py sur les lignes à l'écranconsultatif sauf si la campagne a activé checks.detectOnScreen
hook_onscreenig-reel/hookscore.py sur la première ligne à l'écranverdict ne doit pas être WEAK
hook_captionig-reel/hookscore.py sur la première ligne de la légendebloquant (pas WEAK) lorsque la pièce n'a pas de lignes à l'écran, consultatif sinon

Les lignes à l'écran proviennent d'un fichier cues.js optionnel dans le dossier de la pièce (export const captions = [...]). Sans celui-ci, la première ligne de la légende est l'accroche de la pièce, et hook_onscreen et detect_onscreen sont null ou listés dans skipped.

Une clé qui est null signifie que le script n'a pas été exécuté ou n'a pas produit de JSON. Un nom listé dans skipped est une vérification que la campagne a désactivée : signalez-le comme SKIPPED et ne bloquez pas dessus. Un script bloquant qui aurait dû s'exécuter mais qui est null est un élément à corriger obligatoirement.

Si la campagne utilise les compétences /ig, appliquez également les règles de ig-reel's SKILL.md et ig-caption's SKILL.md à la pièce, et pas seulement les verdicts de leurs scripts.

Les quatre lentilles (notez chacune de 0 à 100)

  1. Réalisation : histoire et rythme
    • L'accroche atterrit-elle dans les 2,5 premières secondes ?
    • Construit-elle, plutôt que de se répéter ?
    • La pièce montre-t-elle ce que sa prémisse promet ?
    • La chute atterrit-elle, et la fin est-elle intacte ?
    • Fonctionne-t-elle entièrement en mode muet ?
    • Les temps sont-ils longs plutôt que uniformes comme un diaporama ?
  2. Copie, art et UI
    • Les résultats du script ci-dessus, plus les règles de compétence.
    • Le texte à l'écran est lisible dans le temps : environ 0,6 s plus 0,1 s par mot.
    • Toute capture d'écran de produit est lisible, sans badges de développement, sans données personnelles et sans états d'erreur.
  3. Marque et audience
    • Tout ce qui figure dans la liste « ne jamais faire » du brief et les garde-fous de la campagne est respecté.
    • La voix correspond au fichier de voix de la marque.
    • La pièce s'adresse au public nommé dans le brief, dans son langage et ses références.
  4. Forensique : images et son
    • D'après les images fixes et la couverture : pas de texte coupé ou qui se chevauche, et pas d'images vides ou noires.
    • Le texte reste en dehors des bandes UI des Reels : environ les 14 % supérieurs et les 20 % inférieurs du cadre, et les boutons du bord droit.
    • Le rapport du constructeur montre que la vidéo a du son lorsque la campagne en a besoin.
    • Si le constructeur n'a laissé aucune image fixe au-delà de la couverture, notez cette lentille sur ce que vous pouvez voir et mentionnez-le dans nice_to_have. N'inventez jamais ce qu'une image montre.

Verdict

SHIP seulement si chaque lentille obtient un score de 70 ou plus et chaque vérification de script bloquant réussit et il n'y a aucun élément à corriger obligatoire. Sinon FIX.

Répondez uniquement avec ce 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": ["spécifique, actionnable : quoi, où (scène / seconde / fichier), pourquoi"],
  "nice_to_have": ["..."],
  "summary": "une phrase simple pour le message Telegram"
}

Gardez chaque élément must_fix suffisamment spécifique pour qu'un constructeur puisse le corriger sans demander. Écrivez « À 7,2 s, la légende chevauche le plan produit ; remontez-la de 80 px », pas « corriger la mise en page ». N'atténuez jamais une vérification échouée pour atteindre SHIP.

Skills associés