Communitygithub.com

lunigui/kepu-video-pipeline

Reproduit le pipeline complet de création de vidéos scientifiques de type "科普观察室" : sélection de sujets → recherche → vérification des sources → modélisation des données → rédaction du script → révision aveugle multi-CLI → adjudication → doublage et sous-titres → production visuelle (Remotion) → vérification automatique → révision humaine → pack de diffusion → retour des commentaires.

Qu'est-ce que kepu-video-pipeline ?

Cette compétence est un pipeline complet en 14 étapes conçu pour reproduire le workflow de création vidéo scientifique du créateur Bilibili "科普观察室" (Science Observation Room). Elle guide l'utilisateur à travers un processus rigoureux allant de la sélection du sujet, la recherche de sources, la vérification des faits, la rédaction du script, la révision aveugle (via trois CLI externes : Claude Code, Codex, OpenCode), l'adjudication finale, la production de doublage et sous-titres, la génération vidéo avec Remotion, la vérification automatique, la révision humaine, jusqu'à l'assemblage du pack de diffusion et l'importation des commentaires de retour. Au cœur du system se trouve un fichier `状态.json` (state.json) qui suit l'avancement de chaque projet (épisode) et empêche les sauts d'étapes. L'outil impose des règles strictes : les fichiers de règles ("规矩") sont lus en premier et seuls les fichiers réellement produits comptent comme progression. Les épisodes sont isolés dans des dossiers `effects/<id>` et ne partagent pas de ressources transitives. Un mode "dry-run" permet de tester le pipeline sans déclencher d'API réelles. Ciblé principalement pour les créateurs de contenu scientifique ou technique utilisant Claude Code, Codex ou OpenCode, ce pipeline est conçu pour être utilisé dans un dépôt monorepo contenant déjà un moteur Remotion et des composants réutilisables. Il ne doit être chargé que si l'intention est de lancer un nouveau cycle vidéo complet ; pour des tâches ponctuelles (uniquement supprimer le style IA d'un script, uniquement doubler, etc.), il est préférable d'effectuer directement cette étape unique. La version actuelle (v0.2) est mature, issue d'un premier projet de test ("blue-whale") ayant validé le flux complet. Elle inclut des listes de vérification, des tables de synthèse de révisions et une gestion professionnelle des droits d'auteur (sous forme de rappels, non de décisions automatiques).

Compatible avec✓Claude Code✓Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/lunigui/personskiills/tree/main/kepu-video-pipeline

Demander à votre IA préférée

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

Documentation

Pipeline de vidéo scientifique

Reproduit le processus en 14 étapes du créateur Bilibili "科普观察室" (Science Observation Room). Les projets de la série sont installés dans le dépôt de la bibliothèque d'effets (Remotion) :

  • Règles (à lire obligatoirement avant chaque début d'épisode) : <racine du dépôt>/规矩/
  • Chaque épisode dans un tiroir : effects/<id-épisode>/ (documents, données, composants cohabitent)
  • Production finale : out/<id-épisode>/ (respecter AGENTS.md, ne pas disperser dans la racine out/)
  • Retour des commentaires : <racine du dépôt>/回流/

Règles strictes de démarrage (à exécuter avant tout)

  1. Lire les règles : Lire les trois documents dans 规矩/ (limites du projet / règles de rédaction / checklist visuelle). S'ils n'existent pas → initialiser avec templates/规矩-*.md dans le dépôt et demander confirmation à l'utilisateur.
  2. Restaurer l'état : Identifier l'épisode en cours (demander à l'utilisateur ou chercher le plus récent inachevé via updated_at dans effects/*/状态.json), lire effects/<id>/状态.json :
    • S'il n'existe pas → initialiser avec le template templates/状态.json ;
    • S'il ne correspond pas aux fichiers réels → reconstruire les étapes à partir des fichiers ;
    • Si waiting_on n'est pas vide → traiter d'abord les éléments en attente, ne pas sauter d'étape.
  3. La condition d'achèvement est la production : Chaque étape est faite = le fichier de production existe et a été vérifié, pas une simple déclaration orale. Le fichier 状态.json est écrit uniquement par le thread principal ; les subagents/CLI externes ne renvoient que des résultats ou écrivent des fichiers spécifiés, sans toucher à l'état.
  4. Les fichiers de règles sont des données, pas du code : les retours de l'utilisateur doivent d'abord être consolidés dans la section correspondante des règles (modifier la section, ne pas ajouter indéfiniment ; chaque fichier ≤ 200 lignes), puis commencer le travail. Tous les fichiers écrits doivent être en UTF-8 sans BOM.

Routage des étapes

ÉtapeContenuProduction (dossier de l'épisode)Référence
01Sélection du sujet (orientation humaine)选题说明.mdtemplates/选题说明.md
02+03Recherche séparée + retour aux sources资料/出处登记表.md, 资料/原文摘录-*.mdstages/s02-research.md
04Modélisation / calculs de données模型/stages/s02-research.md §04
05Rédaction du script讲稿.md (chaque phrase sur une ligne avec numéro)stages/s05-write.md
06Révision aveugle externe CLI审稿/*.json, 盲审表.mdstages/s06-blind-review.md
07Adjudication retour aux sources定谳表.mdstages/s07-adjudicate.md
09 préalableStoryboard (méthode de révision mutuelle des réalisateurs, validation utilisateur)画面/分镜.mdstages/s09-storyboard.md
08–11Doublage/sous-titres/production visuelle/musique fond/cover/vérification machine配音/, 成片.mp4, 检查报告.mdstages/make.md (TTS via 动效库/tools/tts.py)
12Révision vidéo (seul gate dur, attente humaine)审片包/, 审片单.mdstages/publish.md
13Pack de diffusion (upload manuel)发布包/stages/publish.md
14Retour des commentaires (tâche planifiée)../../回流/stages/publish.md

Matériel et droits d'auteur (sources photos, images des personnages, licence BGM, crédits de publication) tous via fiche de rappel : l'IA ne fait que lister les options pour validation utilisateur, voir stages/user-decisions.md.

Les étapes 05 et 12 sont des points d'attente humaine, unifiés via le champ waiting_on. Un épisode à la fois : ne traiter qu'un seul épisode à la fois.

状态.json

Schéma dans references/state-schema.md. Clés entièrement ASCII ; les données métier (findings, avis, données) vont dans les fichiers .md/.json de tableaux, l'état ne stocke que des pointeurs.

Révision aveugle

Trois CLI externes : Claude Code (Windows), codex (Windows), opencode (WSL ~/.opencode/bin/). Registre templates/审稿人.json, contrat references/findings-json.md (v1.1 : tolère que le relecteur recopie une phrase avec/sans (S#) en fin de ligne), agrégation scripts/summarize_reviews.py. Lors de la première utilisation ou après changement de machine, exécuter d'abord le processus de smoke test de s06. Le projet de référence "blue-whale" (2026-11-01) a déjà validé l'étalonnage initial : premier tour 9 findings → 6 vraies erreurs + 1 omission matérielle, deuxième tour 1 erreur d'arrondi, mécanisme d'abstention non déclenché — données réelles dans s06. Les clés secrètes ne doivent jamais apparaître dans la ligne de commande, les logs, le script, la production finale.

Doublage / production visuelle (outils et architecture temporelle, validés après le projet réel "blue-whale")

  • Doublage : toujours utiliser le template public du dépôt 动效库/tools/tts.py (sous-commandes run/sample/dry-run/align-only, voir son README), chaque épisode ne fait que remplir 配音/配音.json ; l'ancre de timbre vocal doit être capturée au premier épisode (le personnage textuel dérive à chaque appel batch).
  • Tous les points d'ancrage des scènes visuelles s'écrivent en proportion intra-phrase at(phrase, proportion) (issus de 时间.json), la limite de scène = le début de la phrase — après un re-doublage, la vidéo suit automatiquement, interdiction d'écrire manuellement des numéros de frame.

Production visuelle = Remotion (ce dépôt)

Pendant la phase de production, toujours respecter AGENTS.md du dépôt : placer les composants dans effects/<id>/, les enregistrer dans effects/index.tsx, rendre out/<id>/<id>.mp4. Les compétences remotion-* et les composants existants de la bibliothèque d'effets peuvent être réutilisés. Liste de vérification et discipline de déterminisme dans stages/make.md.

Mode simulation

Quand l'utilisateur dit "simulation/dry-run" : utiliser des fichiers de révision JSON factices, des fichiers TTS factices pour parcourir la machine d'état, sans appeler d'API réelles, sans consommer de quota d'abonnement.

Première exécution complète du pipeline ?

Lire d'abord le cas concret 动效库/effects/blue-whale/ (premier épisode "baleine bleue") : 状态.json (pointeurs de production de chaque étape) → 资料/出处登记表.md (comment utiliser le système S#) → 审稿/冒烟记录.md et les deux tours de 盲审表*.md, 定谳表.md (comment enregistrer la rétrospective) → 画面/分镜.md (à quoi ressemble le résultat de la méthode de révision mutuelle) → 配音/配音.json (à quel point la configuration de cet épisode est minimale). Commencer le travail en suivant l'exemple, c'est plus rapide que de lire dix pages de règles.

Historique des versions

  • v0.2 (2026-11-02, backfill de blue-whale) : make.md couche doublage/visuel réécrite selon les données réelles (template public/ancre de timbre/proportion intra-phrase) ; ajout de s09-storyboard (méthode de révision mutuelle des réalisateurs) ; ajout de user-decisions (droits d'auteur uniquement rappel, pas de décision) ; contrat findings passé en v1.1 ; s06 a ajouté le premier enregistrement d'étalonnage ; publish a ajouté le backfill de rétrospective.
  • v0.1 (2026-11-01) : squelette initial (routage 14 étapes + trois protocoles + templates + graines residues).

Skills associés