Communitygithub.com

kelvinmacaco/animação-curta

Utilisez pour dessiner les scènes animées d'un court dans generate.py – choisir la bonne pièce de lib_short pour chaque extrait (titre du cadre 0, mots, compteurs, cibles, flèches, drapeaux SVG, mèche de progression, révélation par remplissage d'écran, final calme ou énergique, boucle) et garantir une interaction par scène dans le ton de la vidéo.

Qu'est-ce que animação-curta ?

Ce skill est conçu pour automatiser l'animation de scènes de vidéos courtes (Shorts) à l'aide d'une bibliothèque modulaire (`lib_short`). Il guide l'utilisateur à travers le fichier `generate.py` pour assigner à chaque segment du script une « pièce » d'animation prédéfinie (ex. `hook_html` pour l'accroche, `kline` pour les paroles, `counter` pour les nombres, `pavio_scene` pour une progression de type mèche qui brûle). Il impose des règles rigoureuses de rythme (changement toutes les 1,5–2,5 s), de sécurité du texte, de ton (calme ou énergique) et d'interaction par scène. Il collabore avec les skills `hyperframes`, `hyperframes-registry` et `graphify` pour trouver et réutiliser des blocs d'animation existants. Une attention particulière est portée aux fins de vidéo : un final « lourd » utilise une transition douce vers le noir, tandis qu'un final « léger » autorise des effets pop et brillants.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kelvinmacaco/kit-shorts-virais/tree/HEAD/.claude/skills/short-animation

Demander à votre IA préférée

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

Documentation

Animation des scènes

Support : le skill hyperframes (contrat de rendu, timelines, règles de clip), hyperframes-registry (cherchez un bloc prêt avant de dessiner à la main, ex. : glitch, CRT, graphiques) et graphify, pour trouver une pièce dans lib (graphify explain "pavio_scene").

Partez de template/build/generate.py, qui contient déjà une scène d'exemple pour chaque partie du script.

Pièce appropriée pour chaque extrait

ExtraitPièceRemarque
Cadre 0 / accrochehook_html + shake + driftLe même titre revient dans la boucle
Phrase parléekline + words_js ; slam sur le mot-cléUne ligne par segment de 2-4 mots
MystèreLumières qui s'allument, slam sur "PIRE"/"DATE"Calendrier qui tourne ("20??")
Nombrescounter(...) + échelle d'impact + shakeFormat fr‑FR (toLocaleString)
Lieu ou cibleAnneaux ping pulsantAvec une date ou une police en mono
ConflitFlèches qui se heurtent + flash hitCôté A × côté B
Camps ou paysDrapeaux SVG + lignes qui se dessinent (pathLength="1") + points voyageant avec étiquettesSans blasons
Progression de la listepavio_scene, une mèche qui brûle à chaque élément et explose au climaxÀ la place de "1/3" ; step_badge uniquement en dernier recours
Dégâts, échelleÉcran qui se remplit de points (clip-path) + compteur géantPolice de la donnée en mono
Fenêtre TVtvv + enter_tvPour les clips couchés
Final lourdQuestion douce, cœur qui se remplit lentement, follow_card sombre, fondu au noirPas de pop, sparkle, flash ni coupe
Final légerlike_block + plane_svg + follow_cardPop et éclat autorisés
BoucleClip inversé de l'accroche se terminant au cadre 0 + le même titreDepuis le noir (lourd) ou avec osd_rewind (léger)

Règles

  • Quelque chose change toutes les 1,5–2,5 s et chaque scène a une interaction.
  • Temporisations : locales dans scene() et globales dans SCENES, coupures, effets et sous‑titres.
  • Zone de sécurité : texte en x 90–900 et y 170–1330. Ligne longue : réduisez la police (Archivo Black occupe ~0,75 em par lettre).
  • Marque @ : la lib la place sous le sous‑titre (WM_TOP) ; n'en dessinez pas d'autre.
  • Règles de clip :
    • n'animez pas visibility/opacity du clip lui‑même ;
    • utilisez immediateRender:false dans les fromTo postérieurs ;
    • repeat avec yoyo pour les effets continus (étincelle, pulsation) ;
    • rien d'aléatoire (le grain utilise une seed).
  • Ton : dans une vidéo lourde, une pulsation rouge d'au maximum 0,32 d'opacité ; dans une vidéo légère, couleurs plus vives.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills associés