Movie recap
Invocation et portée par défaut
Claude Code : /movie-recap Lucky.
Codex : $movie-recap Lucky (ou sélectionnez cette compétence dans le sélecteur de compétences de l'hôte).
Un chemin ou dossier vidéo entre guillemets fonctionne également. Lisez le titre/chemin et la portée optionnelle depuis le message d'invocation. Arguments Claude Code : $ARGUMENTS. Si ce jeton n'est pas développé par l'hôte, utilisez le message réel de l'utilisateur, et non le jeton littéral en tant que nom de fichier.
Par défaut : terminer À LA FOIS le récit complet ET le Reel, y compris les fichiers ci-dessous. Considérez ceci comme une instruction pour exécuter le travail, pas seulement pour écrire un script, un plan ou un plan de montage. Le mode full-only ou Reel-only s'applique uniquement lorsque l'utilisateur le demande explicitement. Ne commencez pas le rendu simplement parce que quelqu'un demande à inspecter, installer, expliquer ou modifier cette compétence.
Ce fichier contient les deux modèles de récit actuels, consolidés sans historique de préférences obsolète. Les règles de modification full-only ne doivent jamais s'infiltrer dans le Reel. Les instructions explicites de l'utilisateur actuel remplacent ces valeurs par défaut. Ne modifiez pas les modèles source ou d'autres projets de film lors d'une exécution normale.
Résolution de l'entrée
- Commencez dans le dossier de projet sélectionné par l'utilisateur. Recherchez les fichiers vidéo locaux fournis (
.mkv,.mp4,.mov,.m4v,.webm,.avi) et les sous-titres sidecar. Préférez un chemin explicite fourni. Pour un titre tel que Lucky, faites correspondre les noms de fichiers et les sous-dossiers pertinents, en ignorant la ponctuation/casse et les suffixes de version courants. - Excluez les exports de récit précédents, bandes-annonces, échantillons, miniatures et travaux temporaires de la sélection source. Sondez les médias candidats avant de choisir ; ne sélectionnez pas un fichier simplement parce qu'il est le plus long. Vérifiez l'identité à partir des images, du générique et des sous-titres.
- S'il existe exactement une source plausible pour le titre demandé, procédez sans demander. Si Lucky correspond à plusieurs épisodes, ou si deux films différents restent plausibles, posez une question concise identifiant les candidats. Ne combinez pas silencieusement des épisodes ou ne sélectionnez pas un fichier arbitraire. Sans titre, utilisez la seule source claire ; sinon, demandez. Si aucune source n'existe, signalez où vous avez cherché et demandez son chemin. Ne téléchargez pas un film automatiquement.
- Laissez la source inchangée. Créez les dossiers
<Titre>-Full-Recapet<Titre>-Reel-Recapà côté de la source. Si l'un ou l'autre existe déjà, choisissez une paire cohérente inutilisée-Edit-2,-Edit-3, etc. plutôt que d'écraser le travail précédent. Utilisez l'identifiant de l'épisode dans les noms le cas échéant. - Créez un dossier de travail de tâche limité en dehors des dossiers finaux. Lisez les instructions de projet applicables, mais gardez les deux contrats de mode séparés. N'écrasez pas un AGENTS.md existant non lié. Si les instructions du projet doivent être conservées, gardez-les à la racine source ou dans un espace de travail de tâche séparé, et non parmi les livrables finaux allégés.
Outils, voix et exécution réelle
Environnement d'exécution installé automatiquement
Avant de rechercher des outils globaux, lisez runtime.json à côté de ce SKILL.md installé. Suivez son manifest_path et relisez le manifeste partagé ; exigez status: ready. Utilisez ses chemins absolus python, ffmpeg, kokoro_model, kokoro_voices, source_whisper_model (reconnaissance source-film multilingue) et whisper_model (alignement narration anglaise). Ces chemins éliminent tout besoin pour les utilisateurs d'activer un environnement virtuel ou de localiser manuellement les modèles. Utilisez PyAV à partir de cet environnement Python pour le sondage ; l'installateur ne fournit pas d'exécutable ffprobe séparé. Préférez le CPU par défaut et n'utilisez un GPU disponible qu'après avoir vérifié son fonctionnement.
Si le pointeur est absent, vérifiez également ~/.movie-recap/runtime-v1/runtime.json, puis effectuez la découverte portable ci-dessous. Si le manifeste partagé est absent, obsolète ou pas prêt, expliquez l'erreur de configuration réelle et dirigez l'utilisateur pour exécuter python install.py --target claude ou --target codex (avec --update lors du remplacement d'une compétence) de ce dépôt. Si l'utilisateur vous a demandé de configurer les dépendances et que le dépôt est disponible, exécutez l'installateur vous-même. Ne signalez pas une configuration réussie simplement parce qu'un fichier manifeste existe ; vérifiez les exécutables/modèles référencés. N'incluez jamais runtime.json dans un dépôt public car il contient des chemins propres à la machine.
Ceci est un flux de travail d'agent, pas un programme de rendu vidéo autonome. Inspectez et réutilisez les aides de production compatibles avant d'écrire une logique de montage manquante. Découvrez FFmpeg/ffprobe (ou PyAV probing), Python, un moteur TTS et des outils ASR/alignement. Sondez un court encodage avant de vous engager dans un long rendu. Utilisez un encodage CPU compatible si NVENC n'est pas disponible. Ne prétendez jamais avoir terminé une vidéo lorsque seules des instructions textuelles ont été produites.
Narrateur par défaut : Kokoro local am_michael, anglais, synthétisé à 1,00x. Full : appliquez exactement un ajustement atempo=1.10. Reel : préférez 1,00x, raccourcissez le script avant d'envisager jusqu'à 1,30x. Ne changez pas silencieusement de voix entre les sorties ou ne prétendez pas avoir une voix Instagram exacte. Réutilisez les modèles installés ; demandez avant d'utiliser des services payants. Si l'exécution locale requise ou une voix utilisable n'est pas disponible, signalez le blocage spécifique sans prétendre qu'un SKILL.md autonome installe ces capacités. L'installateur du dépôt fournit une configuration automatique.
Découverte portable des dépendances :
- Localisez Python et FFmpeg/ffprobe à partir de l'environnement actif ou des chemins fournis par l'utilisateur. Si installé,
imageio_ffmpeg.get_ffmpeg_exe()peut localiser un binaire FFmpeg. - Localisez le modèle ONNX Kokoro et les données vocales à partir de l'environnement TTS installé par l'utilisateur. Ne supposez pas un nom d'utilisateur, un dossier de téléchargement ou un système d'exploitation particulier. Si les fichiers sont manquants, signalez les ressources requises et demandez leurs chemins ou l'autorisation pour la configuration si nécessaire.
- Recherchez les modèles faster-whisper mis en cache dans le cache Hugging Face de l'utilisateur actuel ou un répertoire de modèles spécifié par l'utilisateur. Sondez le support CUDA et revenez au CPU si nécessaire.
- Découvrez les outils locaux équivalents sur chaque machine. N'emballez pas les poids de modèle, les informations d'identification API ou les séquences de film avec cette compétence.
Réutilisation, contenu frais et travail chevauchant
- Réutilisez le code à usage général fonctionnel, les outils/modèles installés, les schémas, les générateurs de rendu/filtre, les utilitaires de sous-titres, la validation et la logique d'empaquetage avant d'écrire des remplacements. Inspectez d'abord la compatibilité ; adaptez uniquement le comportement manquant. Gardez le code séparé des données spécifiques au film. Ne transportez jamais d'anciens chemins de film, intrigues, scripts, cartes temporelles source, narration, marque ou informations d'identification dans un nouveau travail ou un outil public.
- Chaque nouvelle production de récit nécessite une analyse fraîche de la source fournie, des scripts full/Reel nouvellement écrits et une narration nouvellement synthétisée. Ne lisez pas et ne réutilisez pas les analyses de récit précédentes, les transcriptions générées, les scripts, les sélections de plans ou les voix comme raccourci. Les sous-titres fournis par la source sont une entrée valide. Partagez l'analyse fraîche de l'exécution en cours entre son Full et son Reel, en gardant leurs scripts et contrats éditoriaux séparés. Une révision explicite telle que « même vidéo, changez le recadrage » peut préserver le contenu non affecté ; ne le régénérez pas inutilement.
- Les tentatives de réexécution au sein de la même exécution peuvent réutiliser des résultats validés inchangés. Enregistrez l'identité source, la révision du script, la voix/modèle/débit, les transformations, les paramètres de l'encodeur et la version de l'outil avec les intermédiaires. Invalidez le travail affecté et le minutage dépendant, les sous-titres, les images et les chapitres lorsque les entrées changent. La simple existence du fichier n'est pas une validation de cache. Une nouvelle exécution fraîche ne doit pas hériter d'un ancien cache de contenu.
- Chevauchez le travail indépendant : transcription avec échantillonnage visuel ; synthèse de paragraphes naturels approuvés avec inspection de plan ; miniatures et texte de publication provisoire avec rendu. Le Full et le Reel peuvent progresser indépendamment après l'analyse de l'exécution en cours. Finalisez les durées des images et les légendes uniquement après que la voix pertinente a été mesurée/alignée, et les chapitres après que la chronologie est verrouillée. Ne synthétisez pas de brouillons non révisés juste pour occuper les travailleurs.
- Utilisez le gestionnaire de travaux réutilisable pour les étapes shell si utile ; lisez son manifeste et ses directives de flux de travail. Il fournit des dépendances, une concurrence limitée, des ressources exclusives et des synchronisations d'étapes. Il n'analyse pas les films et ne construit pas de montages. Réutilisez les aides de production locales compatibles plutôt que de les recréer ; écrivez uniquement la logique manquante. Conservez la révision éditoriale avec l'agent. Utilisez un processus TTS de longue durée pour conserver les modèles chargés entre les paragraphes si pris en charge.
- Commencez prudemment avec deux tâches indépendantes et une tâche lourde par ressource contrainte. Évaluez le TTS GPU ou des travailleurs supplémentaires avant l'adoption ; préservez la prononciation, les pauses, la voix et la qualité d'encodage. Réduisez la concurrence si la compétition mémoire ou CPU/GPU ralentit le travail. Les processus qui se chevauchent n'autorisent pas le lancement d'agents ou de services payants.
- Mesurez le temps écoulé depuis l'inspection source jusqu'à la vérification finale, y compris la configuration, les corrections et les échecs. Enregistrez les synchronisations d'étapes séparément ; ne divisez jamais les durées qui se chevauchent et n'assimilez pas un rendu mis en cache à une production fraîche. Ne raccourcissez pas l'histoire, ne dépassez pas les limites de vitesse de narration, ne réduisez pas la qualité d'exportation et ne sautez pas les vérifications pour un objectif de vitesse.
Flux de travail de production partagé
- Sondez les flux source, la durée, les dimensions actives, la fréquence d'images, la langue audio et les sous-titres. Lisez les dialogues et échantillonnez toute l'histoire, y compris sa fin. Utilisez l'ASR local si les sous-titres utilisables sont manquants ; vérifiez visuellement les actions importantes plutôt que de faire confiance aux suppositions ASR. Distinguez les rêves, flashbacks, légendes et résultats incertains des événements réels. La recherche web peut corroborer l'identité/année du film ; ne remplacez jamais l'analyse des images par une supposition d'intrigue.
- Écrivez une narration anglaise simple et spécifique avec des relations de cause à effet précises. Évitez les slogans IA, les fragments dramatiques empilés, les dialogues inventés et les remplissages répétitifs. Construisez une carte temporelle source avec des passages exacts pour chaque événement narré. Le Full couvre toute l'histoire. Le Reel établit le contexte et s'arrête au début du point culminant, avec son propre script et sa limite de spoiler.
- Synthétisez des paragraphes complets ou des phrases naturelles, pas de courts fragments de légende d'affichage. Joignez-les en une narration continue avec des pauses de respiration naturelles. Mesurez la parole ajustée réelle, puis construisez la chronologie des images. Préservez les syllabes et n'étirez pas l'audio pour correspondre à des durées de plan arbitraires.
- Alignez les mots sur la voix générée. Auditez les omissions, les noms propres et les paroles inattendues. Avec faster-whisper, évitez de fournir tout le script attendu comme
initial_prompt; cela peut halluciner des mots ou sauter des ouvertures. Si le décodage audio échoue en raison d'une incompatibilité d'API PyAV, utilisez FFmpeg pour décoder le PCM mono 16 kHz et transmettez un tableau NumPy à Whisper. Inspectez les résultats de faible confiance au lieu d'accepter des horodatages de mots fabriqués. - Conservez un manifeste de montage temporaire contenant les entrées/sorties source, les débuts/fins de sortie, les ancres de phrases de narration, les points de gel et les transformations. Placez les actions nommées à leur phrase parlée ou légèrement avant. Inspectez les images d'action intermédiaires et les limites de plans rendues. Ne couvrez jamais « ils s'embrassent » avec un câlin figé ou « chercher la vidéosurveillance » avec un plan non lié plusieurs secondes plus tard.
- Rendez le récit complet en utilisant la Partie A et le Reel en utilisant la Partie B ; le travail indépendant peut se chevaucher dans les limites de la machine. Réutilisez uniquement l'analyse source fraîche de l'exécution en cours, pas l'image transformée du récit complet. Gardez le minutage précis à l'image avec un CFR cohérent, des nombres d'images explicites et des durées de concaténation. Vérifiez les rendus mis en cache de la même exécution par rapport au script actuel, à la sélection source et aux paramètres ; invalidez les clips modifiés au lieu de réutiliser des fichiers obsolètes. Encodez des lots d'images compatibles une fois et assemblez-les par copie de flux lorsque possible ; réutilisez le flux d'images du Reel pour ses deux mixages. Ne rendez que les lots affectés lorsqu'une correction le permet, puis revérifiez l'exportation finale assemblée.
- Mixez une narration claire avec un fond musical calme et approprié séparé. Un fond synthétique original discret est acceptable. N'ajoutez pas Undertow automatiquement. Le mappage audio explicite doit exclure tout l'audio du film de l'exportation complète. Utilisez H.264 High, yuv420p, CFR, pixels carrés, AAC-LC stéréo (48 kHz convient), et MP4 faststart pour les deux modes.
- Générez un SRT TTS de phrases naturelles et un SRT d'affichage court indépendamment à partir des mêmes mots de narration et des mêmes mesures temporelles. Utilisez les règles de sous-titres partagées de la Partie A pour les deux ; ses restrictions d'exportation sans audio original/uniquement full n'ont pas priorité sur la Partie B. Préservez chaque mot, ponctuation et ordre. Fournissez le texte de publication et les miniatures comme spécifié.
- Validez le décodage complet, le nombre d'images/durée attendus, les dimensions, le profil de codec, la marge audio, la synchronisation SRT non chevauchante et la reconstruction exacte du script. Auditez la durée totale de chaque clip complet et la sélection source non continue. Comparez les deux flux d'images/synchronisations du Reel. Inspectez les miniatures et les actions narrées sélectionnées. Examinez le mouvement représentatif avec l'audio lorsque disponible ; les images fixes et les métadonnées seules ne prouvent pas une lecture fluide. Signalez honnêtement toute écoute/passage visuel normal indisponible.
- Uniquement après vérification, nettoyez les fichiers temporaires générés par la tâche en utilisant un chemin explicitement vérifié dans le projet de tâche. Préservez les sources, les montages précédents, les outils/modèles partagés, les instructions et les livrables. Ne supprimez pas les caches partagés. Si le nettoyage est bloqué par l'hôte, ne réessayez pas via un autre shell ou langage pour contourner le blocage ; signalez l'emplacement conservé et la raison. Ne publiez, téléchargez ou ne contestez jamais des réclamations sans autorisation explicite.
Contrat du paquet final
Remplacez <Titre> par l'étiquette vérifiée du film/épisode. La livraison par défaut contient TROIS MP4 au total : un Full et deux versions Reel.
<Titre>-Full-Recap/
<Titre>-recap-with-narration.mp4
<Titre>-narration-TTS.srt
<Titre>-captions-display.srt
youtube-upload.txt
thumbnails/
thumbnail-01.png
thumbnail-02.png
thumbnail-03.png
<Titre>-Reel-Recap/
<Titre>-recap-with-narration.mp4
<Titre>-recap-without-narration.mp4
narration.txt
<Titre>-narration-TTS.srt
<Titre>-captions-display.srt
instagram-copy.txt
Ne créez pas de vidéo full-recap sans narration ou de SRT audio original vide. Le texte de publication complet est obligatoire dans ce flux de travail combiné, pas facultatif. N'ajoutez pas de logo, filigrane ou branding de chaîne sauf si explicitement demandé par l'utilisateur.