Version anglaise :
SKILL.en.md
media — vidéo / audio / image / URL
Skill léger, sans code propre : achemine vers des CLI locales (ffprobe, ffmpeg, yt-dlp) et des skills tiers téléchargés par session (mediaskills, watch, music-listener) — voir la section fetch ci-dessous.
Table de routage par type d’entrée
Détection via ffprobe/file ; pour les URL, on utilise le nom de fichier renvoyé.
| Entrée + besoin | Outil | Notes |
|---|---|---|
| Propriétés d’un fichier média | ffprobe (local) | Pas besoin de skill de session |
| Vidéo/URL : résumé du contenu | skill watch (claude-video) | --engine local |
| Vidéo/URL : transcription en SRT/VTT | skill speech-captions | transcribe.py --model tiny ; modèle plus gros si nécessaire |
| Sous-titres : décalage/conversion/incrustation | skill subtitles | shift.py convert.py extract.py burn.py |
| Découpage/assemblage/transcode, GIF, image/audio | skill video-transformation | trim.py trim_multi.py concat.py … |
| Détection de coupures/transitions de plans | skill shots | detect.py extract-frames.py |
| Analyse du contenu des images (texte à l’écran) | skill vision-analysis | L’agent examine lui-même les images + script merge JSON |
| Image/capture d’écran : OCR/redimensionnement/conversion | skill image | ocr.py (tesseract) |
| Audio : découpage/normalisation/silence | skill audio | |
| Écouter une musique (URL/fichier) et obtenir les paroles | skill music-listener | Téléchargé par session, voir music-listener/scripts/ |
| Téléchargement de média depuis une URL | skill download | url.py (yt-dlp) |
| Timecode SMPTE, sous-titres broadcast | skill timecode, skill captions-compliance | Synchronisation des sous‑titres avec le timecode |
| Manque ffprobe/tesseract/uv… | skill install-media-tools | doctor.sh vérifie, install.sh installe |
Skills tiers par session (téléchargement, pas d’installation définitive)
Ce dépôt ne contient pas les skills tiers. Ils sont téléchargés dans un répertoire temporaire de session :
scripts/fetch-session.sh --list→ liste des noms ;--skill <nom>ou--all— le script clone en sparse-checkout le dépôt source avec le bon SHA de commit, et copie les fichiers dans le répertoire temporaire de session.- Utilisation dans
~/.agents/skills/<nom>/scripts/(ou~/.config/opencode/skills/<nom>/…). - Hors ligne / sans réseau : les opérations sur les fichiers locaux fonctionnent si les CLI et le modèle nécessaires sont déjà présents. Le téléchargement des skills, des URL et des modèles non mis en cache nécessite une connexion réseau ;
yt-dlpne télécharge pas d’URL hors ligne.
SHA de commit + licence de chaque skill : tableau TABLE dans scripts/fetch-session.sh.
Règles
- Sortie placée à côté de la source : résumé
<nom>.digest.md, sous‑titres<nom>.srt|.vtt, clip<nom>.clip-<t1>-<t2>.mp4. Ne pas écraser le fichier original. - Horodatage/clip basé sur les images réelles — vérifié avec
ffprobe, pas d’estimation. - Vérification avant remise :
ffprobedu fichier de sortie doit confirmer qu’il est ouvrable, la durée/le codec sont corrects. - Respecter la langue de l’utilisateur — répondre dans la même langue que celle utilisée par l’utilisateur.