Install
$ agentstack add skill-littlpinguin-marketing-cockpit-template-captions ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
captions — sous-titrage stylé marque
Vous produisez, pour chaque vidéo, deux livrables : un .srt propre dans 08-video/subtitles/, et une version burned-in (sous-titres incrustés) conforme aux specs de 08-video/formats.md et aux tokens de 01-brand/style-guide.md.
Étape 1 — Transcription
Option A — whisper local (gratuit, privé, recommandé)
# Installation une fois : pip install -U openai-whisper (ou faster-whisper, plus rapide)
# Le modèle "medium" est un bon équilibre précision/vitesse pour le français.
whisper 08-video/exports/.mp4 --model medium --language fr \
--output_format srt --output_dir 08-video/subtitles/
Option B — API de transcription
Si pas de GPU/temps local : une API de speech-to-text (par ex. l'API OpenAI Whisper, model=whisper-1, sortie srt). Clé dans .env, jamais en dur. Attention : la vidéo part alors chez un tiers — vérifier que le contenu n'est pas confidentiel avant l'envoi.
Relecture obligatoire
La transcription brute contient toujours des erreurs : noms propres, marque ({{COMPANY_NAME}}), vocabulaire métier, chiffres. Relire intégralement et corriger avant tout burn-in — un chiffre faux incrusté est une faute publique. Vérifier aussi le vocabulaire banni de 01-brand/voice.md si le script est retouché.
Étape 2 — Découpage en segments lisibles
Whisper produit des segments trop longs pour du vertical. Redécouper le .srt :
- ≤ 42 caractères par ligne, 2 lignes max — en 9:16, viser plutôt ≤ 25 caractères, 1 ligne (gros et centré).
- 1 à 3 s par segment, synchronisé sur le rythme de parole ; jamais un segment à cheval sur un cut.
- Couper aux frontières naturelles (groupes de sens), pas au milieu d'un groupe nominal.
- Ponctuation minimale : pas de point final sur chaque segment ; garder
?et!qui portent le ton. - Mots-clés en MAJUSCULES avec parcimonie (1 par segment max) pour l'emphase.
1
00:00:00,000 --> 00:00:01,800
Vous perdez 3 heures par semaine
2
00:00:01,800 --> 00:00:03,200
sur VOS reportings ?
Étape 3 — Livrable 1 : le .srt
- Nommage :
08-video/subtitles/.srt(même slug que la vidéo). - Encodage UTF-8, timecodes
HH:MM:SS,mmm, numérotation continue. - Usage : upload YouTube (indexation + traduction auto), archivage, ré-édition.
Étape 4 — Livrable 2 : burn-in stylé marque via ffmpeg
Les sous-titres incrustés reprennent les tokens de 01-brand/style-guide.md. Deux méthodes :
Méthode simple — filtre subtitles avec style forcé
# Police et couleurs de marque. Les couleurs ASS sont en &HAABBGGRR& (BGR inversé !) :
# convertir {{BRAND_COLOR_LIGHT}} et {{BRAND_COLOR_DARK}} avant de remplir PrimaryColour/OutlineColour.
# MarginV=110 ≈ sous-titres au-dessus de la zone basse de sécurité en 1080×1920 (cf. formats.md).
ffmpeg -i 08-video/exports/-tiktok.mp4 \
-vf "subtitles=08-video/subtitles/.srt:force_style='FontName={{BRAND_FONT_PRIMARY}},FontSize=15,Bold=1,PrimaryColour=&H00FFFFFF&,OutlineColour=&H00000000&,BorderStyle=1,Outline=2,Shadow=0,Alignment=2,MarginV=110'" \
-c:v libx264 -preset slow -crf 18 -c:a copy \
08-video/exports/-tiktok-sub.mp4
Prérequis : la police {{BRAND_FONT_PRIMARY}} installée sur la machine (sinon fallback silencieux — vérifier visuellement). FontSize s'exprime relativement à la résolution de la piste ASS : contrôler le rendu sur une frame avant l'export complet :
# Contrôle visuel rapide : extraire une frame sous-titrée à t=2 s
ffmpeg -i 08-video/exports/-tiktok-sub.mp4 -ss 2 -frames:v 1 tmp/controle.png
Méthode fine — fichier .ass (styles par segment, karaoké, positions)
Pour un style au segment près (mot surligné, changement de couleur, position variable), convertir en .ass et éditer le bloc [V4+ Styles] :
ffmpeg -i 08-video/subtitles/.srt 08-video/subtitles/.ass
# éditer les styles, puis :
ffmpeg -i .mp4 -vf "ass=08-video/subtitles/.ass" -c:a copy -sub.mp4
C'est la voie pour reproduire les styles « mot à mot » type TikTok — à réserver aux vidéos à fort enjeu, le coût d'édition est réel.
Règles de placement (rappel de 08-video/formats.md)
- 9:16 (1080×1920) : centrés, au-dessus de la marge basse de 420 px (≈
MarginV100–130), jamais dans la colonne d'icônes à droite. - 1:1 et 16:9 (LinkedIn) : centrés bas, marge ≥ 8 % de la hauteur.
- Contraste : liseré (
Outline) ou bandeau{{BRAND_COLOR_DARK}}systématique — le fond vidéo change, le sous-titre doit rester lisible sur chaque plan.
Checklist avant livraison
- [ ] Transcription relue à 100 % (noms, chiffres, vocabulaire de marque)
- [ ] Segments : 1 ligne ≤ 25 car. en 9:16 (max 2 × 42), 1–3 s, pas de segment à cheval sur un cut
- [ ]
.srtlivré dans08-video/subtitles/.srt(UTF-8) - [ ] Burn-in : police
{{BRAND_FONT_PRIMARY}}, couleurs de la marque, hors zones de sécurité - [ ] Contrôle visuel sur au moins 3 frames (début, milieu, fin)
- [ ] Pour YouTube : burn-in et
.srtfournis
Règles état de l'art (2026)
Voir docs/etat-de-lart/video-courte.md pour le détail sourcé :
- Sous-titres incrustés sur 100 % des vidéos livrées : ~85 % des vidéos social sont regardées sans le son (jusqu'à 92 % sur mobile), et les sous-titres augmentent jusqu'à +80 % la probabilité de finir la vidéo.
- Test de validation avant livraison : la vidéo se comprend-elle entièrement en muet ? Aucune information clé portée uniquement par la bande-son ; texte d'écran pour les infos essentielles.
- Placement : gros, centrés, dans la zone sûre (éviter le tiers bas recouvert par l'UI des plateformes), 1-2 lignes max, mots-clés mis en évidence.
Ce que cette skill ne fait pas
- ❌ Le montage (→ skill
video-editing) - ❌ Traduire les sous-titres sans validation d'un locuteur natif
- ❌ Publier
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Littlpinguin
- Source: Littlpinguin/marketing-cockpit-template
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.