Synthèse automatique
Envoie un fichier vidéo à Google Gemini et renvoie un rapport markdown structuré : résumé global, découpage scène par scène avec horodatages, transcription audio (ou mention honnête « silencieux »), détails visuels et moments clés.
Points forts
- Rapport structuré et directement exploitable : résumé, scènes horodatées en MM:SS, audio, détails visuels et moments clés
- Garde-fous anti-hallucination explicites : le prompt interdit d'inventer des narrateurs, voix off ou noms de speakers et impose une note honnête si la piste audio est absente
- Paramétrable via --prompt, --fps (utile pour les cuts très rapides) et --model
- Gère les fichiers volumineux via l'API Files avec polling jusqu'à 300 s, et les fichiers ≤18 Mo en inline
- Messages d'erreur et pistes de dépannage documentés (clé API absente, format non supporté, timeout, modèle 404)
Limites
- Nécessite une clé GEMINI_API_KEY dans l'environnement du shell et le paquet google-genai installé globalement en Python 3.10+
- Le rapport dépend de l'échantillonnage d'images de Gemini : des coupes très courtes peuvent échapper à l'analyse si --fps n'est pas augmenté
- La vidéo est envoyée à l'API Google ; formats limités à mp4, mov, avi, webm, mpeg, mpg, wmv, 3gpp, 3gp, flv
À utiliser quand vous devez savoir ce qui se passe réellement dans une vidéo et obtenir un compte rendu horodaté fiable plutôt qu'une simple transcription.
À éviter si la vidéo est confidentielle et ne peut pas être téléversée vers une API tierce, ou s'il faut une transcription mot à mot exhaustive plutôt qu'un rapport descriptif.
Analyse de sécurité
PrudenceThe skill has no obvious destructive or obfuscated behavior; its purpose is legitimate video analysis. However, it uses Bash, forwards unquoted user arguments into a shell command, uploads video content to an external API, and depends on an uninspected script, so it warrants caution.
- •Shell command interpolates $ARGUMENTS unquoted, so shell metacharacters in a path or --prompt value could enable command injection.
- •Uploads the user's video to Google Gemini, a third-party cloud API, which may expose sensitive or private footage.
- •Executes an external script at ~/.claude/skills/video-analyzer/scripts/analyze_video.py whose contents are not included and cannot be audited here.
- •Uses GEMINI_API_KEY from the environment; legitimate for API access but means the skill handles a secret.
Exemples
/video-analyzer ~/Downloads/product-demo.mp4/video-analyzer ./assets/launch-teaser.mp4 --fps 4/video-analyzer ./recordings/onboarding-flow.mov --prompt "Focus on every UI screen shown, list the on-screen labels verbatim, and note the order of steps."name: video-analyzer description: Analyzes a video file with Google Gemini and returns a structured markdown report covering top-level summary, scene-by-scene breakdown, audio transcript (or honest "silent" note), visual details, and key timestamped moments. Strong anti-hallucination guardrails — will not invent narrators, voiceovers, or speaker names. Use when you need to understand what actually happens in a video. argument-hint: <path/to/video.mp4> [--prompt "..."] [--fps N] [--model ...] disable-model-invocation: true allowed-tools: Bash, Read
Analyze Video
Analyze a video file with Gemini and return a structured markdown report.
Prerequisites
- Python 3.10+
google-genaiinstalled globally (any Python the shell finds viapython3works — verified working at version 1.64.0)GEMINI_API_KEYset in the user's shell environment (e.g. exported in~/.zshrc)
Steps
-
Parse the arguments from
$ARGUMENTS:- video path (required) — path to the video file
- --prompt (optional) — custom analysis prompt; defaults to a structured-report prompt with anti-hallucination rules
- --fps (optional) — custom frame sampling rate (useful for catching sub-second cuts in fast-paced footage)
- --model (optional) — Gemini model ID; defaults to
gemini-3-flash-preview
-
Verify the video file exists at the given path. If not, report the error and stop.
-
Run the analysis script using the absolute path to its install location:
python3 ~/.claude/skills/video-analyzer/scripts/analyze_video.py $ARGUMENTS
-
The script will:
- Upload the video — inline for files ≤18MB, Files API for larger files (with up-to-300s polling for ACTIVE state)
- Send the prompt to Gemini with the video attached
- Print the full markdown report to stdout (info/progress lines go to stderr)
-
Capture stdout and present the report to the user.
-
If the script exits with an error, help the user troubleshoot:
- Missing API key: confirm
echo $GEMINI_API_KEYis non-empty in their shell. If it's only in~/.zshrc, they may need to start a new terminal orsource ~/.zshrc. - Unsupported format: must be one of mp4, mov, avi, webm, mpeg, mpg, wmv, 3gpp, 3gp, flv
- Upload timeout: large file or slow connection — retry, or use a shorter clip
- Model error / 404: try a different model with
--model gemini-2.5-flash
- Missing API key: confirm
Output
A markdown report printed to stdout with these sections:
- Top-Level Summary — 2-3 sentence overview of what actually happens
- Scene-by-Scene Breakdown —
MM:SStimestamps for each cut/scene with on-screen content, actions, and verbatim text - Audio — verbatim transcript with timestamps, OR an honest "no audio / silent / ambient only" note (the prompt explicitly forbids inventing narrators)
- Visual Details — on-screen text, UI elements, products, branding, people
- Key Moments — 3-7 timestamped highlights a viewer would remember
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/video-analyzer-mryiqg1v/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/video-analyzer-mryiqg1v' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/video-analyzer-mryiqg1v/download' --output '.skill-downloads/video-analyzer-mryiqg1v/SKILL.md.part' && mv '.skill-downloads/video-analyzer-mryiqg1v/SKILL.md.part' '.skill-downloads/video-analyzer-mryiqg1v/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash, Read
Extrait original : Prerequisites
- Python 3.10+
google-genaiinstalled globally (any Python the shell finds viapython3works — verified working at version 1.64.0)GEMINI_API_KEYset in the user's shell environment (e.g. exported in~/.zshrc)
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/video-analyzer-mryiqg1v/SKILL.md' && test -s '.skill-downloads/video-analyzer-mryiqg1v/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/video-analyzer' && cp -R '.skill-downloads/video-analyzer-mryiqg1v' '.claude/skills/video-analyzer'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/video-analyzer-mryiqg1v'openskills read 'video-analyzer-mryiqg1v'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/video-analyzer-mryiqg1v/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Créer des cartes interactives avec kepler.gl
Data & IA
Création de cartes interactives et export HTML autonome avec le package Python keplergl, à partir de données géospatiales (DataFrame, GeoJSON, CSV).
Optimisation de paramètres par agent
Data & IA
Guide d'optimisation de systèmes configurables avec objectif mesurable, via des essais bornés et une recommandation fondée sur des preuves.
Relance des visiteurs ICP
Data & IA
Identifiez les utilisateurs inscrits correspondant au profil client idéal mais qui n'ont pas activé, et rédigez des messages de relance personnalisés pour les réengager.