Communitygithub.com

bp-abe/skills-video

Télécharge des vidéos prêtes vers un dossier cloud synchronisé sur l'ordinateur (Google Drive pour desktop, Dropbox, OneDrive) selon un modèle de noms et de dossiers fixe (vvs_<format>_<mots_du_titre>.mp4, format vertical/square/wide, un dossier par vidéo avec un fichier comme_foi_feito.md décrivant le processus, durées séparées) et enregistre chaque vidéo dans un manifeste CSV pour un croisement ultérieur avec les résultats publicitaires.

Qu'est-ce que skills-video ?

Cette skill permet de transférer des vidéos prêtes vers un dossier cloud synchronisé (Google Drive, Dropbox, OneDrive) en respectant une convention de nommage et d'organisation stricte. Chaque vidéo est placée dans un dossier portant le nom du projet, avec des sous-dossiers pour chaque durée (30S, 15S), et un fichier comme_foi_feito.md décrivant le processus de création. Un manifeste JSON (manifesto.json) est généré pour suivre les attributs de chaque vidéo (direction, processus, voix, bande sonore, projet source). Le script (subir.py) valide les noms, vérifie les dimensions et durées, crée les dossiers, copie les fichiers et met à jour un registre CSV (VVS_REGISTRO.csv) permettant d'analyser a posteriori les performances de chaque créatif. La skill fonctionne sur macOS avec Google Drive pour desktop ; elle peut aussi gérer des liens Drive si un connecteur est disponible.

Compatible avec✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/bp-abe/skills-video/tree/HEAD/subir-videos

Demander à votre IA préférée

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

Documentation

Upload de vidéos vers le cloud

video-animado livre les MP4 dans le projet. Cette skill place les fichiers dans un dossier cloud avec des noms que l'équipe reconnaît. Ces noms deviennent la clé pour analyser ensuite les résultats de chaque créatif.

Modèle

<dossier de destination, confirmé par l'utilisateur>/
  <NOM DE LA CAMPAGNE>/
    30S/                                     un sous-dossier par durée
      vvs_bala_coroa/                        un dossier par vidéo
        vvs_vertical_bala_coroa.mp4          9:16 · 1080×1920
        vvs_wide_bala_coroa.mp4              16:9 · 1920×1080
        vvs_square_bala_coroa.mp4            1:1  · 1080×1080
        como_foi_feito.md                    processus de création de la vidéo
    15S/
      vvs_bala_coroa/ …
  • Nom du fichier : <préfixe>_<format>_<mots>.mp4, tout en minuscules. Le préfixe est vvs par défaut et change avec "prefixo" dans le manifeste.
  • Format : le vertical devient vertical, le carré devient square et l'horizontal devient wide. Un format inexistant est omis ; ne pas en inventer.
  • Mots : de 1 à 4, tirés du titre de la vidéo, en minuscules et sans accent. Les articles, prépositions, "e" et "que" sont exclus (le script le fait automatiquement).
    • "A bala na coroa" devient vvs_vertical_bala_coroa.mp4.
    • "Três crianças diante do poder" devient vvs_wide_tres_criancas_diante_poder.mp4.
    • S'il y a plus de 4 mots, les spécifier dans "palavras" du manifeste ; le script refuse jusqu'à ce que cela soit fait.
  • Le dossier de la vidéo est <préfixe>_<mots>. La durée n'apparaît que dans le sous-dossier (30S/, 15S/) et dans l'enregistrement. Un montage de 14,0 s va dans 15S/.
  • Un même titre pour deux durées génère le même nom de fichier dans des dossiers différents. Le script le signale. Dans le gestionnaire de publicité, mettre la durée dans le nom de l'annonce.
  • como_foi_feito.md dans chaque dossier de vidéo, pour que quiconque puisse analyser le processus de création. Le script génère le document à partir du projet source (atributos.projeto):
    • fiche technique ;
    • direction, voix et bande sonore ;
    • concept et scénario, tirés du roteiro.json ;
    • le ANALISE.md et le RELATORIO.md du projet : brief, concepts, bible et notes de critique.

Procédure pas à pas

  1. Dossier de destination : c'est toujours la personne qui demande qui confirme. Ne jamais deviner. Si elle ne le dit pas, demander.
  2. Trouver le chemin local du dossier synchronisé. Sur macOS, Google Drive pour desktop se trouve dans ~/Library/CloudStorage/GoogleDrive-<votre e-mail>/ (Meu Drive/, Drives compartilhados/). S'il y a un lien Drive et un connecteur Drive, on peut remonter la chaîne des dossiers parents (parentId) jusqu'au nom qui existe dans la synchronisation. Copier dans le dossier synchronisé équivaut à un upload ; ne pas envoyer de gros MP4 via l'API.
  3. Générer le manifeste (manifesto.json, modèle ci-dessous) : chaque vidéo avec titre, durée nominale et chemin des fichiers par format, ainsi que les attributs pour l'analyse (direction créative, processus, voix, bande sonore, projet source).
  4. Afficher le tableau des noms et la destination avant de copier, sauf si la personne a déjà dit d'uploader directement. Il s'agit généralement d'un dossier partagé.
  5. Exécuter python3 ~/.claude/skills/subir-videos/subir.py manifesto.json.
    • Avant, exécuter avec --seco : valide et affiche les noms uniquement.
    • Si les fichiers sont déjà dans le cloud, utiliser --so-registro : enregistre seulement le registre.
    • Le script vérifie dimensions et durée, refuse un nom hors norme ou un titre en double, crée les dossiers, copie et écrit le como_foi_feito.md de chaque vidéo, et ajoute des lignes au registre général ~/videos/VVS_REGISTRO.csv.
  6. Vérifier dans le cloud après quelques minutes, car la synchronisation se fait en arrière-plan et un gros fichier prend du temps.
  7. Fournir le lien du dossier et le tableau des noms, et enregistrer dans le ANALISE.md du projet où chaque vidéo a été placée.

Manifeste (modèle)

{
  "destino_local": "~/Library/CloudStorage/GoogleDrive-<votre e-mail>/Drives compartilhados/<drive>/<dossier>",
  "campanha": "NOM DE LA CAMPAGNE",
  "prefixo": "vvs",
  "drive_link": "https://drive.google.com/drive/folders/<id du dossier de destination>",
  "videos": [
    {"titulo": "A bala na coroa", "duracao": "30S",
     "arquivos": {"vertical": "…/out/30s_9x16.mp4", "wide": "…/out/30s_16x9.mp4", "square": "…/out/30s_1x1.mp4"},
     "atributos": {"direcao": "animation 2D avec personnage", "processo": "pedido-de-video + video-animado",
                   "voz": "Gemini TTS", "trilha": "Lyria, ~120 bpm", "projeto": "~/videos/<slug>"}}
  ]
}

Pourquoi le registre existe

Le nom <préfixe>_<format>_<mots> est la clé pour croiser avec les résultats (avec la durée dans le nom de l'annonce). L'équipe uploade le créatif dans le gestionnaire de publicité avec ce nom, et il apparaît dans le nom de l'annonce dans les données média. Le VVS_REGISTRO.csv conserve les attributs de chaque vidéo (direction, processus, voix, bande sonore, durée réelle), pour comparer ensuite ce qui fonctionne et ce qui ne fonctionne pas. N'y stockez aucune donnée personnelle.

À ne pas faire

  • Ne pas uploader dans un dossier non confirmé, ni supprimer ou renommer les fichiers d'autres personnes dans le dossier.
  • Ne pas modifier le modèle de noms de votre propre chef : un changement de modèle est une décision de la personne qui demande.
  • Les MP4 ne vont pas dans un dépôt git.

Individual skills in this repo

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

Skills associés