Communitygithub.com

tzq-tbw/agent-skills

Transformez des vidéos ou fichiers audio/vidéo locaux en notes d’étude structurées avec sources, horodatages et captures d’écran clés, ou résumez un workflow à la demande. L’analyse se base sur les sous-titres, la transcription complète et les images nécessaires, sans se fier au titre, à la description ou à des extraits.

Qu'est-ce que agent-skills ?

Cette compétence pour agents IA permet de transformer des liens vidéo ou des fichiers audio/vidéo locaux en notes d’étude détaillées, incluant les sources, les horodatages et les captures d’écran pertinentes. Elle prend en charge les plateformes comme Bilibili, YouTube, d’autres sites web et les fichiers locaux, en privilégiant les sous-titres téléchargés ou les transcriptions générées par un modèle de reconnaissance vocale. L’agent vérifie rigoureusement le contenu en comparant les sous-titres, les transcriptions complètes et les images clés, en distinguant clairement les faits, les opinions de l’auteur et les ajouts de l’IA. Les notes sont sauvegardées dans un dossier dédié, et l’agent valide l’exactitude des informations avant de nettoyer les fichiers temporaires. Utile pour les développeurs, les étudiants ou toute personne voulant extraire rapidement des connaissances structurées de vidéos sans se fier aux résumés automatiques.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tzq-tbw/agent-skills/tree/HEAD/skills/video-to-note

Demander à votre IA préférée

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

Documentation

Notes d’étude vidéo

Lisez le matériel sélectionné par l’utilisateur, organisez les concepts, les étapes, les cas pratiques et les conclusions, en précisant les points de vue de l’auteur et les ajouts de l’IA. Commencez par indiquer le matériel réellement obtenu et son périmètre, puis rapportez le contenu. Ne considérez pas un téléchargement réussi, la durée des sous-titres ou une transcription terminée comme une validation sémantique.

Confirmer l’entrée et la sortie

Confirmez qu’il s’agit d’une seule vidéo, de parties sélectionnées ou d’un fichier local. Si le périmètre d’une collection n’est pas clair et affecte la tâche, posez la question. Conservez le lien source original et un lien normalisé, en supprimant les paramètres de suivi superflus.

Le fichier d’origine de l’utilisateur est en lecture seule. Créez toujours un répertoire unique work/video_tmp/<ID de tâche>/ dans l’espace de travail actuel pour stocker les médias, les points de contrôle et les images temporaires. Un seul processus d’écriture est autorisé par répertoire. Créez un nouveau dossier de tâche en cas de changement de source, de modèle ou de langue. Les nouvelles tentatives valides pour une même tâche réutilisent le dossier d’origine.

Ne vérifiez que l’environnement nécessaire à cette tâche. Les commandes sont décrites dans la section Environnement. En priorité, sauvegardez dans le dossier de notes spécifié par l’utilisateur ; sinon, utilisez un dossier Obsidian existant et accessible en écriture pour les notes vidéo, ou à défaut le dossier outputs/ de l’espace de travail actuel. Ajoutez un suffixe unique aux fichiers du même nom, sans écraser les existants.

Obtenir des sources fiables

SourceChemin préféréEn l’absence de sous-titres fiables
BilibiliInterface publique ou outil de sous-titres connecté et autorisébili audio --no-split -o <task_dir> configuré ou autre outil autorisé
YouTubeyt-dlp pour obtenir les sous-titres dans la langue cibleObtenir la piste audio ; ne récupérer le flux vidéo que si nécessaire
Autres sitesOutil de la plateforme existante ou yt-dlpPasser à un chemin de récupération pris en charge en cas d’échec réel
Audio/Vidéo localSous-titres existantsExécuter un script de transcription sur le fichier original

Vérifiez l’identifiant de la vidéo, les parties, la langue, l’absence de sous-titres et les segments manquants évidents. La présence de sous-titres ne prouve pas une exactitude phrase par phrase ; un silence normal en fin de vidéo n’est pas directement considéré comme un manque.

Utilisez d’abord les sources publiques. N’extrayez pas les cookies du navigateur, ne vous connectez pas et n’ajoutez pas de nouveaux canaux par défaut. En cas d’échec identique, tentez au maximum deux fois avec des changements clairs. Ne bouclez pas les tentatives, ne changez pas de proxy et n’interprétez pas un échec de connexion comme une vidéo inexistante. En cas de blocage, conservez le matériel déjà obtenu et indiquez les lacunes.

Transcrire la piste audio si nécessaire

En l’absence de sous-titres fiables, lisez d’abord les commandes de transcription, puis utilisez transcribe.py :

  1. Choisissez clairement un modèle, en privilégiant le cache existant. Lancez --pilot pour transcrire la première minute et vérifiez la langue, le contenu et la vitesse.
  2. Une fois la lecture test validée, exécutez la même commande sans --pilot pour continuer le traitement complet à partir du point de contrôle. Si aucun cache n’existe, ajoutez --download-model uniquement si le téléchargement est nécessaire.
  3. Lisez le fichier transcript.json complet. Vérifiez les sections silencieuses, les répétitions anormales, les needs_review, les termes clés et les nombres. Si une citation importante se trouve à la frontière de blocs d’une minute, réécoutez le segment chevauchant.

Le script utilise une entrée PCM16 mono à 16 kHz et NumPy pour le reconnaisseur, avec des points de contrôle sauvegardés toutes les minutes. completed: true signifie seulement que la plage de traitement a été consommée, pas que la reconnaissance est exacte. Ne passez pas silencieusement à un modèle plus petit. Ne téléchargez pas de modèle pour importer un module.

Exécutez une seule voie de reconnaissance principale complète. Validez d’abord un petit segment de matériel avant de décider d’un changement. N’exécutez pas simultanément ASR et OCR sur l’intégralité du fichier par défaut. L’attente en arrière-plan ne doit pas dépasser 60 secondes par tentative. Rapportez une progression significative.

Vérifier les images clés

Lisez d’abord la documentation sur la sélection d’images. En présence de chapitres, positionnez-vous par chapitre ; sinon, établissez des divisions par changement de sujet en utilisant l’analyse. Utilisez un petit nombre d’images d’aperçu pour vous repérer, puis extrayez les images claires nécessaires.

Le code, les formules, les tableaux, les réglages et les étapes de fonctionnement ne peuvent pas être rendus uniquement par la parole. Conservez les images similaires si elles contiennent des informations uniques. N’utilisez pas un nombre fixe de captures pour remplacer un jugement d’exhaustivité.

L’OCR n’est utilisé que pour vérifier le texte présent dans les images ou comme solution de secours en l’absence de piste audio exploitable. Testez d’abord sur une image représentative pour éviter de confondre sous-titres, texte principal et filigrane avec le contenu parlé. Pour les formules peu claires, obstruées ou illisibles, indiquez précisément les lacunes temporelles. Pour les vidéos purement visuelles sans son, précisez que la lecture est visuelle et n’inventez pas de transcription orale.

Rédiger les notes et les preuves

Par défaut, incluez le titre, la source, la durée, le matériel réel, le résumé, les points clés du sujet et les horodatages importants. Organisez le workflow, les entrées, les étapes, les sorties et les conditions de réalisation uniquement si l’utilisateur le demande ou si la vidéo se prête à une reproduction. N’incluez pas de transcription intégrale par défaut.

Distinguez les faits de la vidéo originale, les points de vue et cas de l’auteur, et les ajouts de l’IA. N’écrivez pas la vitesse ou la quantité démontrée par l’auteur comme une garantie générale. Précisez la portée du traitement effectué et les lacunes qui affectent la compréhension. N’écrivez pas « sous-titres complets disponibles » comme « chaque phrase de la piste audio a été vérifiée ».

Sauvegardez les captures d’écran dans un dossier d’annexes persistant et intégrez-les sous forme de liens d’image Markdown. Les notes, les annexes et le fichier .evidence.json du même nom ne doivent pas dépendre du répertoire temporaire des médias. Les preuves ne conservent que les segments nécessaires, les plages temporelles, les détails clés et l’enregistrement de la vérification. Le format est décrit dans la documentation sur les preuves.

Validation et nettoyage

Relisez d’abord le matériel, les notes et les annexes. Vérifiez les concepts principaux, les méthodes, les cas, les conclusions de chaque chapitre, ainsi que les noms, nombres, formules et étapes importants. Dans les preuves, enregistrez honnêtement la portée de la vérification et les éléments non résolus. Les passages silencieux ou répétés peuvent être décrits comme sans contenu substantiel, sans inventer de résumé pour combler la chronologie.

Exécutez ensuite finalize.py pour vérifier la source, les chapitres, l’état d’achèvement, les fichiers persistants et les lacunes. Le script ne valide que les enregistrements et les fichiers ; il ne remplace pas la révision du contenu. Ne remplissez pas reviewed ou passed de manière factice pour passer la vérification.

N’ajoutez --clean qu’une fois que le matériel sélectionné a été traité, que la vérification du contenu est réussie et que la relecture des fichiers persistants est effectuée. Le nettoyage se limite à un sous-répertoire direct de work/video_tmp dans l’espace de travail actuel, et refuse les liens symboliques, les junctions ou les points d’analyse dans ce répertoire et ses sous-éléments. Les fichiers d’origine, le cache du modèle et les artefacts persistants ne sont pas supprimés. En cas d’échec ou de lacunes non comblées, conservez les médias et les points de contrôle.

En conclusion, fournissez le matériel réel et la portée du traitement, l’emplacement des notes, le résultat du nettoyage et les limites. Les lectures test de courts extraits, les vérifications statiques et les importations réussies doivent être rapportées selon leur portée réelle, et non comme une validation complète de la vidéo.

Skills associés