Communitygithub.com

lhaovo/short-video-skills

Contrôleur de flux pour la création de vidéos courtes, de la planification à la publication : création du répertoire, déroulement des cinq étapes, chaque étape avec une validation, suivi de l'état du flux, et prise en charge de la reprise entre sessions.

Qu'est-ce que short-video-skills ?

Cette compétence est un contrôleur de flux pour la production de vidéos courtes, conçu pour fonctionner avec des agents d'IA comme Claude Code, Cursor ou Codex. Elle structure le processus de création d'une vidéo en cinq phases distinctes (Scénario/Storyboard → Prompts → Génération → Livraison → Publication) à l'intérieur d'un seul répertoire. Son objectif principal est d'établir et de maintenir un flux de travail rigoureux. Elle ne rédige pas de scripts ni ne génère de médias, mais définit les normes de répertoire, les jalons de chaque phase (appelés 'portes'), un fichier d'état central (`00-flow-status.md`) pour la reprise entre sessions, et des fiches de transfert entre les phases. L'utilisateur interagit avec cette compétence pour créer un nouveau projet, vérifier l'étape suivante, reprendre un travail inachevé, ou préparer un package de publication. Son utilité réside dans la prévention des erreurs de chaînage, la garantie de la conformité du processus, et l'élimination de la dépendance à la mémoire d'une session unique, rendant la production de vidéos courtes plus systématique et fiable, en particulier pour les flux de travail multi-agents ou multi-sessions.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lhaovo/short-video-skills/tree/HEAD/short-video-flow

Demander à votre IA préférée

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

Documentation

Tableau de bord vidéo courte

Une vidéo, de l'idée à la publication, se déroule dans un seul répertoire. Cette compétence gère trois choses : comment construire le répertoire, comment dérouler les cinq étapes, et ce qui compte comme une validation pour chaque étape.

Elle n'apprend pas à écrire un script (c'est le travail de short-video-plan), ne remplace pas un modèle de génération, et ne fait pas de montage pratique. Elle garantit ceci : pour toute production, l'ouverture du répertoire vous indique à quelle étape vous êtes, ce qu'il faut faire ensuite, et si vous pouvez continuer.


I. Les cinq étapes

E1 Storyboard → G1 → E2 Prompts → G2 → E3 Génération → G3 → E4 Livraison → G4 → E5 Publication → G5 → Terminé
ÉtapeQuoi fairePrincipaux livrablesQui le fait
E1 StoryboardSujet, type, structure, script, storyboard de contenu01-plan-de-projet.mdshort-video-plan
E2 PromptsStoryboard → Liste d'actifs + Liste de génération02-liste-actifs.md, 03-liste-generation.mdshort-video-prompt
E3 GénérationD'abord préparer les actifs, puis produire les segments vidéo04-medias/short-video-assets + short-video-generate
E4 LivraisonAssemblage des segments, sous-titres, musique, mixage05-video-finale/Outil de montage
E5 PublicationTitre, miniature, hashtags, calendrier, identifiants06-paquet-publication.mdCette compétence

On n'avance qu'une seule étape à la fois. Sauter une étape est la source principale de reprise : passer à la génération avant d'avoir passé G2 produit inévitablement des actifs qui ne correspondent pas aux numéros de plan.


II. Normes de répertoire (cette compétence est l'autorité unique)

Tous les livrables entrent dans le même répertoire, par défaut situé à la racine du projet dans outputs/. Les autres étapes ne définissent plus leurs propres règles de répertoire ; elles se conforment toutes à cette section.

2.1 Structure

outputs/
└── 2026-09-29-manque-de-sommeil/
    ├── 00-statut-flux.md
    ├── 01-plan-de-projet.md
    ├── 02-liste-actifs.md
    ├── 03-liste-generation.md
    ├── 04-medias/
    │   ├── 01-images-actifs/
    │   ├── 02-premiere-image/
    │   └── 03-segments/
    ├── 05-video-finale/
    │   └── video-finale-v1.mp4
    └── 06-paquet-publication.md

Utilité des préfixes numériques : une fois le répertoire ouvert, les fichiers sont triés par ordre de flux ; on voit en un coup d'œil à quelle étape on est, ce qui manque, sans besoin de fichier de navigation supplémentaire.

2.2 Nom du répertoire

Format fixe : YYYY-MM-DD-Titre

ÉlémentExigence
DateLe jour de la création du répertoire, ne change plus par la suite
SéparateurUn trait d'union entre la date et le titre ; à l'intérieur du titre, utiliser des traits d'union pour relier les mots
LongueurTitre entre 8 et 15 caractères
InterditBarre oblique, barre oblique inverse, deux-points, astérisque, point d'interrogation, guillemets, chevrons, barre verticale, espaces et ponctuation
DoublonsMême titre le même jour, ajouter -2, -3

Le titre reprend l'expression la plus distinctive du sujet choisi, pas le nom de la catégorie :

Pas bienBien
Infos pratiquesManque de sommeil comme TDAH
TikTokChaud dehors, froid dedans
Sujet du 22 octobreThermos café froid en une demi-journée

Méthode de jugement : Dans trois mois, en ne regardant que le nom du répertoire, vous souviendrez-vous de quelle vidéo il s'agit ? Le nom de la catégorie sera oublié dans trois mois, le sujet restera.

2.3 Trois règles d'or

  1. Le nom du répertoire, une fois créé, ne change plus. Si vous changez le nom, les chemins de référence des actifs seront immédiatement cassés. Pour changer le titre, modifiez le titre de publication dans 06-paquet-publication.md, ne touchez pas au répertoire.
  2. La date ne change pas non plus d'un jour sur l'autre. Si vous continuez le lendemain, le répertoire conserve la date du jour de création, n'ouvrez pas un autre répertoire.
  3. Une vidéo, un répertoire. Les séries, les clones matriciels ne deviennent pas des sous-répertoires ; ouvrez un autre répertoire, ajoutez un mot distinctif au titre.

2.4 Première étape du projet

Quand l'utilisateur dit « Ouvrir une nouvelle », demandez d'abord ces trois éléments, puis créez le répertoire :

  • Plateforme (Douyin / Kuaishou / Xiaohongshu)
  • Durée cible
  • Direction en une phrase

Ensuite, faites quatre choses dans l'ordre :

  1. Générez le nom du répertoire selon 2.2, lisez-le à l'utilisateur pour confirmation – c'est la seule occasion de changer le nom sans frais
  2. Créez le répertoire, ainsi que les quatre sous-répertoires 04-medias/01-images-actifs, 02-premiere-image, 03-segments, 05-video-finale
  3. Écrivez 00-statut-flux.md : étape actuelle = E1, remplissez le profil de validation du projet, les cinq portes doivent toutes être « Pas commencé »
  4. Passez à E1, transmettez à la couche contenu

Si le nom n'est pas confirmé avant la construction, le coût de la modification ultérieure est à la charge de l'utilisateur.


III. Fichier d'état

00-statut-flux.md est le point de sauvegarde de cette vidéo. Mettez-le à jour immédiatement après chaque avancement d'étape, ne le stockez pas.

Champs obligatoires :

ChampRôle
Nom du répertoire, date de création, plateforme, durée cibleLocalisation
Étape actuelleSix options : E1 / E2 / E3 / E4 / E5 / Terminé
Résultats des cinq portesG1–G5 individuels : Passé / Pas passé / Pas commencé
Liste des livrablesFichiers existants + fichiers manquants
BlocagesCe qui bloque actuellement, qui attend
Profil de validation du projetType de contenu, objectif, intention de rythme, limite supérieure de l'intervalle sans parole le plus long, mode de gestion du silence, contraintes dures, validateur/conditions de validation finale
Journal des versionsUne ligne par modification : date + ce qui a été changé + pourquoi

Le modèle se trouve dans assets/flow-state-template.md.

Il résout un problème très concret : changement de session, intervalle d'une semaine, reprise par une autre personne, lisez ce fichier et vous pouvez reprendre. Sans lui, le troisième jour, vous devrez parcourir les actifs pour vous souvenir où vous en êtes.


IV. Les cinq portes

Les portes n'ont que deux résultats : passé, pas passé. Si pas passé, on s'arrête à cette étape, pas de « faisons d'abord pour voir ».

G1 · Validation du storyboard (E1 → E2)

  • 01-plan-de-projet.md : cinq sections complètes, huit questions d'auto-vérification réussies
  • Écart de durée totale du storyboard par rapport à la cible ≤ 30%
  • Chaque plan 2–6 secondes, numéros de plans consécutifs, pas de saut
  • Auto-vérification des lignes rouges réussie : aucune efficacité non prouvée, aucun témoignage fabriqué, aucun langage absolu, aucune information personnelle
  • L'utilisateur a confirmé le sujet et le script
  • Le profil de validation du projet est rempli ; si la plateforme, la durée cible ou les contraintes dures ne sont pas confirmées, enregistrer les valeurs par défaut autorisées par l'utilisateur, sinon rester à E1
  • Le profil de validation a déclaré la limite supérieure de l'intervalle sans parole le plus long ; les projets autorisant de longues périodes de silence doivent préciser le mode de gestion de ces segments
  • Chaque plan a rempli : fonction, perception du public, dépendances préalables, faits visibles clés et intention de durée ; les segments sans parole doivent décrire la prise en charge par l'action, le bruitage, la musique ou l'ambiance
  • Si vous utilisez la compétence de planification, exécutez son scripts/check_plan.py pour éliminer les champs mécaniques, les erreurs de durée et de numéros de dépendance ; si vous installez uniquement la compétence de flux, vérifiez manuellement selon la liste G1 et enregistrez que le script n'a pas été exécuté

G2 · Validation de la liste de génération (E2 → E3)

  • Chaque prompt a un numéro de plan correspondant, pas de segment supplémentaire
  • La durée totale de chaque segment combinée ne diffère pas de plus d'une seconde de la durée totale du storyboard
  • Les numéros d'actifs référencés dans la liste de génération sont tous définis dans la liste d'actifs, pas de référence suspendue
  • Le mode principal est figé : première et dernière image ou image de référence, un choix exclusif ; la génération texte-vers-texte n'est utilisée que pour les plans sans sujet
  • Les segments contenant des paramètres de produit, des emballages, des logos, etc., sont marqués « doit utiliser une vraie image », pas confiés à une génération texte-vers-vidéo pure
  • Les segments avec dialogue : le texte original du dialogue est écrit dans le prompt, mot pour mot avec le storyboard (la voix off n'est plus doublée séparément ; si ce segment est oublié, il sera silencieux)
  • Le champ « image » de chaque segment de prompt décrit : sujet, état, action, environnement, lumière, échelle de plan, position/angle de la caméra, mouvement de caméra et dépendances/faits visibles ; les sections non applicables expliquent pourquoi
  • Les faits visibles clés, dépendances préalables et intentions de durée du storyboard sont mappés à la première image ou aux actions du segment

G3 · Validation des actifs (E3 → E4)

  • Chaque segment a une version utilisable, les manquants sont enregistrés comme blocages
  • La géométrie du produit n'est pas déformée, l'étiquette est lisible et inchangée
  • Les segments adjacents peuvent se raccorder : même produit, même direction de lumière, même format d'image
  • Les points d'identification emblématiques de la liste des caractéristiques IP/personnage et leur nombre sont vérifiés plan par plan dans le segment finalisé
  • Si plusieurs candidats existent pour le même plan, la version choisie est enregistrée dans la liste
  • Les segments avec dialogue sont écoutés phrase par phrase : aucune phrase manquante, aucun mot-clé prononcé de travers
  • La conclusion du dialogue finalisé est enregistrée dans 04-medias/00-verdict-dialogue.json, la retranscription des mots-clés ambigus ne sert principalement que d'aide à l'écoute humaine
  • Le visionnage humain complet de tous les actifs de la vidéo est effectué dans l'ordre temporel, vérifiant la causalité inter-segments, l'état des personnages/props, la continuité spatiale et le rythme ; le storyboard avant génération ne peut pas remplacer cette étape
  • S'il existe une timeline de dialogue pour les segments finalisés, faire une pré-vérification du rythme ; si aucun sous-titre de la vidéo finale n'est encore disponible, enregistrer pour test en E4, ne pas utiliser la pré-vérification comme conclusion de la vidéo finale
  • Les éléments de post-production (bruitages, texte superposé, etc.) de la liste de génération ont tous un plan d'exécution E4, pas d'engagement en suspens

G4 · Validation de la vidéo finale (E4 → E5)

  • Écart de durée réelle par rapport à la cible ≤ 10%
  • Exécuter le script de la compétence scripts/check_rhythm.py avec les sous-titres de la vidéo finale et la durée réelle ; le rapport et la conclusion de vérification auditive sont joints à 00-statut-flux.md ; les intervalles sans sous-titres sont uniquement un indicateur de l'absence de parole
  • Les sous-titres correspondent au dialogue réellement entendu (pas au script original – si le texte lu diffère, suivre ce qui est entendu)
  • La voix humaine est claire, la musique n'écrase pas la voix
  • Le format d'image, la résolution et le taux d'images par seconde sont conformes aux exigences de la plateforme cible
  • L'intervalle sans parole le plus long de la vidéo finale est déterminé par vérification auditive humaine, le rapport des intervalles sans sous-titres servant à la localisation ; si la valeur dépasse celle déclarée dans le profil de validation et n'est pas déclarée comme segment non verbal dans le storyboard, retour à l'étape précédente
  • Les intervalles autorisés de longue durée silencieuse sont explicités dans le storyboard (action, bruitage, musique ou ambiance), et les fichiers et points temporels correspondants sont indiqués dans les livrables de la livraison
  • Tous les éléments de post-production promis dans la liste de génération sont réalisés et le livrable est localisable, ou il existe une exemption explicite du validateur

G5 · Validation avant publication (E5 → Terminé)

  • Catégories fortement réglementées (médicaments, compléments alimentaires, dispositifs médicaux, finance, éducation) ont subi une révision séparée
  • Le contenu généré par IA est identifié conformément aux exigences de la plateforme
  • Titre, miniature, hashtags et date de publication sont prêts
  • Aucune information personnelle, aucun portrait non autorisé, aucun lieu non autorisé

V. Fiche de transfert

Les étapes ne communiquent entre elles que par des fichiers, pas par « on en était où tout à l'heure ». À la fin de chaque étape, remplissez une fiche dans la section « Transfert » du fichier d'état :

TransfertLa fiche doit contenir
E1 → E2Tableau des six colonnes du storyboard + détails de chaque plan (perception/dépendances/faits visibles/intention de durée), vrai nom et spécifications du produit, informations devant être présentées de manière réaliste
E2 → E3Tâche de génération de chaque segment : numéro de segment, durée, prompt, numéro d'image de référence, mode, nombre de candidats
E3 → E4Liste des actifs : nom du fichier, numéro de segment, durée, disponibilité ; vérification auditive phrase par phrase du dialogue, BGM déjà sélectionné ou non
E4 → E5Fichier de la vidéo finale, durée, format d'image, matériel de miniature, points forts et hashtags

Les champs complets sont dans references/stage-specs.md.


VI. Reprendre une vidéo inachevée

Quand l'utilisateur dit « Continue celle sur le manque de sommeil » ou similaire :

  1. Listez les répertoires sous outputs/, faites correspondre par le nom ; si pas de correspondance, demandez, ne devinez pas
  2. Lisez 00-statut-flux.md, regardez d'abord uniquement l'étape actuelle et les blocages, ne lisez pas immédiatement tous les livrables
  3. Rapportez trois lignes : à quelle étape on est, ce qui bloque, quoi faire ensuite
  4. Une fois confirmé, passez à l'étape correspondante

Ne recommencez pas tout depuis le début. Ne sautez pas non plus le fichier d'état pour déduire directement l'étape – une déduction erronée pourrait rouvrir une porte déjà passée.


VII. Relations avec les sous-compétences

CoucheQuiQuoi gère
FluxCette compétenceRépertoire, étapes, portes, état, transfert
Contenushort-video-planSujets, types, structure, scripts, storyboard contenu
Promptsshort-video-promptStoryboard → Liste d'actifs + Liste de génération
Actifsshort-video-assetsListe → Images : planification, candidats, validation, enregistrement
Générationshort-video-generateListe → Segments : création de tâches, téléchargement en polling, inspection des médias, registre
LivraisonOutil de montageAssemblage, sous-titres, musique, mixage

Trois règles :

  • La couche contenu ne définit pas de répertoire, elle livre uniquement le produit fini à l'emplacement spécifié par la couche flux
  • La couche prompts ne réorganise pas le contenu, elle ne fait que traduire ; cette compétence ne copie pas sa méthode de travail
  • La couche actifs ne modifie ni le contenu ni les prompts, elle s'assure simplement que l'image est produite, correspond et passe la validation
  • La couche génération ne modifie pas la conception visuelle, elle se contente d'animer les images déjà décidées et de laisser une trace de tâche retraçable
  • La couche flux ne modifie pas les normes de rédaction d'aucune autre couche, elle ne fait que juger si la porte est passée

En cas de conflit : la norme du répertoire et du nom de fichier prévaut sur cette compétence ; le jugement sur le contenu prévaut sur short-video-plan.


VIII. Limites

  • N'écrit pas les normes de script : les sujets, la structure, les scripts, l'écriture du storyboard sont dans la couche contenu, cette compétence ne les répète pas
  • Ne remplace pas un modèle de génération : elle définit les tâches et les critères de validation, ne garantit pas qu'une génération particulière réussira
  • Ne fait pas de montage pratique : elle définit les normes de la vidéo finale, l'assemblage concret se fait dans l'outil de montage
  • Ne garantit pas le trafic : les cinq portes garantissent « processus complet, actifs raccordables, publication conforme », mais ne garantissent pas les données
  • Ne remplace pas les règles de la plateforme et la révision juridique : les politiques et réglementations de la plateforme changent, les catégories fortement réglementées doivent être confirmées séparément

IX. Références (à charger selon les besoins)

FichierQuand le lire
references/stage-specs.mdAvant chaque étape, avant de remplir la fiche de transfert
references/delivery-and-publish.mdAu moment de l'assemblage de la vidéo finale E4, à la préparation du paquet de publication E5
references/regression-cases.mdAprès modification du script de la porte ou du critère
assets/flow-state-template.mdLors de la création d'un nouveau flux, à chaque mise à jour de l'état
assets/publish-pack-template.mdLors du remplissage du paquet de publication en E5

La méthode de travail de E2 ne fait pas partie de cette compétence, elle est assurée par short-video-prompt. Cette compétence ne gère que : vérifier G1 avant d'entrer dans E2, puis passer G2 après avoir produit la nouvelle liste.

Individual skills in this repo

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

lhaovo/short-video-skills

为视频生成准备可用的图——把资产清单变成能直接喂给图生视频的素材:排生产顺序、定资产级别、出候选图、做一致性验收、按编号落盘、回写清单状态。支持三种来源:实拍、AI 生成、官方素材,不强制实拍。当用户说「准备素材」「出资产图」「首帧图」「角色三视图」「产品图跑一下」「资产对不上」「这条要哪些图」时使用。只管把图做出来并验收,不写分镜,不直接生成视频。

lhaovo/short-video-skills

把已过 G2 的生成清单落成真实视频片段——按段建 KIE Seedance 任务、轮询、下载、媒体体检、抽帧质检、听声核台词,并把每段的状态与请求指纹写进生成台账。三种模式互斥(文生 / 首帧图生 / 首尾帧图生)。旁白由模型直接念,台词照稿写进提示词,不走独立 TTS 配音。当用户提到视频生成、出片段、跑 Seedance、首帧图生、首尾帧、原生音频、台词念错、任务查询、片段下载、生成失败重试时使用。只管「把已定的画面和台词变成成段素材」,不重新设计视觉、不改台词文本、不做字幕、不做剪辑。

lhaovo/short-video-skills

把「我想拍点什么」变成一条想清楚的片子——先定主题(出 5 个候选、标明类型、给出推荐与淘汰理由),再定结构与分段剧本,最后切成镜头级内容分镜。支持两种入口:一句话主题(需要发散选题)与已有拆解剧本(跳过选题,先问复刻需求与复刻强度再判定改写)。当用户提到选题、定主题、短视频策划、写剧本、写大纲、分镜、镜头脚本、不知道拍什么、内容怎么排、科普干货、剧情软广、钩子怎么写、复刻别人的剧本时使用。只管内容层(讲什么、怎么讲),不碰执行层;内置的内容红线只防明显自伤,不替代合规审查。

lhaovo/short-video-skills

把已定稿的分镜表翻成可直接执行的两份清单——资产清单(要准备哪些图、每张图的图像提示词)与生成清单(每段视频的时长、模式、素材引用与提示词)。覆盖画面化、资产编号、切分生成单元、Seedance 视频提示词写法、首帧方案、一致性与失败诊断。当用户说「把分镜变成提示词」「写视频提示词」「这条片子要哪些图」「生成清单」「某个镜头生成不出来」时使用。只做翻译与清单,不重新编排内容,不直接出图出片。

Skills associés