Carnet d'échantillons de mouvements (Motion Specimen Book)
Un carnet d'échantillons pour transmettre des mouvements difficilement descriptibles par des numéros. L'utilisateur choisit visuellement un échantillon et le spécifie par son numéro. Ce skill extrait de ce numéro les spécifications sur "quoi et comment bouger".
| Volume | Numéros | Contenu | Ce qui est extrait |
|---|---|---|---|
| 01 | AE-001 à AE-322 | Préréglages d'animation de texte natifs d'After Effects | Nom officiel, catégorie, description du mouvement, unité/ordre/propriétés modifiées/accélération/durée. Les mouvements curvilignes sont accompagnés d'une formule de référence |
| 02 | MG-001 à MG-137 | Mouvements courants en graphisme animé | Nom, description (mécanisme et cas d'usage), code Canvas 2D complet ayant servi à dessiner l'échantillon |
| 03 | VT-001 à VT-130 | Balises audio pour la synthèse vocale | Balise, effet, exemple de phrase, source, mode d'emploi |
L'outil est le script scripts/specimen.mjs situé dans le même dossier que ce fichier (ci-dessous, <skill-dir> correspond au dossier contenant ce SKILL.md). Il nécessite Node.js 18 ou supérieur et ne nécessite aucune connexion réseau (le pick écoute uniquement sur votre machine locale).
node <skill-dir>/scripts/specimen.mjs <commande>
| Commande | Quand l'utiliser |
|---|---|
get <numéros...> | Affiche les spécifications d'un ou plusieurs numéros. Accepte AE-058, ae58, #MG-011 ou toute URL du carnet. Jusqu'à 12 numéros à la fois |
search <mots...> | Recherche par mots-clés. Accepte le japonais ou l'anglais. Exemple : search 文字 弾む, search wipe transition. Utilisez `--book ae |
list | Affiche la classification des 3 volumes et leurs effectifs. Ajoutez --book ae pour lister tous les articles d'un volume, un par ligne |
| `table --book ae | mg |
pick | Ouvre le carnet dans le navigateur, attend que l'utilisateur choisisse et appuie sur "Transmettre à l'IA". Affiche les spécifications et les notes des numéros sélectionnés, puis se termine |
info | Affiche la version des données, le nombre d'articles et l'emplacement du carnet |
Commun : --lang en pour l'anglais, sans option pour le japonais.
Procédure
- Si un numéro est donné, commencez par
get. Lorsque l'utilisateur spécifie un numéro, passez-le directement àget, lisez les spécifications obtenues, puis travaillez. Ne créez rien de tête en vous fiant uniquement au nom. - Traitez de la même manière le contenu collé. Les textes produits par "Copier la sélection" du carnet (commençant par "J'ai sélectionné N éléments dans le carnet d'échantillons de mouvements") contiennent déjà les spécifications. Utilisez-les directement, et si nécessaire, effectuez un
getpour les récupérer à nouveau. La mention "Note :" en fin de texte correspond aux instructions de l'utilisateur. - Pour une sélection visuelle, utilisez
pick. Si l'utilisateur dit "Je veux voir pour choisir" ou "Qu'est-ce qu'il y a ?", exécutezpick. Si le contexte est connu, utilisez--bookpour filtrer par volume (mouvements de texte =ae, formes et transitions =mg, voix =vo).- L'exécution affiche une URL et ouvre le navigateur. Dites à l'utilisateur : "Choisissez un échantillon, puis appuyez sur 'Transmettre à l'IA' en bas à droite."
- Il attend au maximum 15 minutes (modifiable avec
--timeout <secondes>). Dans les environnements où le temps d'exécution du shell est limité, exécutez-le en arrière-plan et attendez la fin, ou utilisez un--timeoutcourt. - Code de sortie 0 : les spécifications et notes des numéros sélectionnés sont affichées dans l'ordre de sélection. Code de sortie 4 : le délai est écoulé, aucun choix n'a été fait. Dans ce cas, ne choisissez pas à la place, demandez à l'utilisateur.
- Si le navigateur ne s'ouvre pas, transmettez l'URL affichée à l'utilisateur. Si cela non plus ne fonctionne pas, demandez-lui de copier sa sélection dans le carnet et de la coller.
- Utilisez uniquement les éléments sélectionnés. Les numéros reçus via
pickou par collage sont définitifs. N'en ajoutez pas de votre propre chef et ne les remplacez pas par d'autres numéros. Si vous estimez qu'ils ne conviennent pas au contexte, expliquez-en la raison et demandez à l'utilisateur. - Pour rechercher, utilisez
search. Utilisez-le lorsque l'utilisateur vous confie la tâche sans choisir ("Choisis-en un qui convient") ou dans un environnement où le carnet ne peut pas être ouvert. Ne vous fiez pas au nom, mais lisez la description pour comprendre ce qui se produit.
Utilisation par volume
AE (Préréglages de texte d'After Effects)
- Pour une création dans After Effects, appliquez directement le préréglage par son nom officiel. Il se trouve dans "Effets et préréglages > Préréglages d'animation > Text > (catégorie) > (nom officiel)". C'est la méthode la plus précise. Les fichiers de préréglages (extension
.ffx) se trouvent dans le dossierPresetsdu dossier d'application d'After Effects. - Pour une reproduction en dehors d'After Effects (Web, Canvas, Remotion, instructions de génération vidéo IA, etc.), créez à partir des spécifications de
get. Reportez exactement les "unités de mouvement", "ordre", "propriétés modifiées", "chevauchennent", "accélération" et "durée". Si une formule de référence est fournie, utilisez-la sans modifier ses valeurs numériques. - Les spécifications sont approximatives. Le nom et la catégorie sont conformes à la liste officielle d'Adobe, mais les spécifications de mouvement ne sont pas extraites des fichiers de préréglages d'After Effects ; elles sont reproduites dans le navigateur par l'auteur du carnet. Mentionnez brièvement dans votre rapport à l'utilisateur qu'elles peuvent différer de la réalité.
MG (Mouvements de graphisme animé)
- Le code fourni par
getest celui qui dessine l'échantillon. Il contientdraw(c, t, s)et des fonctions auxiliaires, et est directement exécutable. La zone est de 320×180 pixels,tétant la position dans un cycle (0 à 1). - Pour le transposer vers une autre technologie (CSS, SVG, Remotion, keyframes d'After Effects), reportez sans modification la durée, le retard, l'accélération, la sur-extension, la distance et l'angle du code. Les seuls éléments modifiables sont le texte affiché, les couleurs, les logos et les images.
- Les durées et pourcentages mentionnés dans la description sont indicatifs. Pour les adapter à la durée souhaitée, étirez ou compressez en conservant les proportions.
VT (Balises audio)
- Les balises s'écrivent entre crochets et se placent juste avant le mot sur lequel elles doivent agir. Le même ton se poursuit jusqu'à la balise suivante. Les balises séparées par des virgules se cumulent (ex. :
[whispering, fearful]). - Elles sont compatibles avec ElevenLabs Eleven v4 / v4 Turbo / v3. Les balises s'écrivent librement (pas une liste fixe), mais leur efficacité n'est pas garantie. Si elles ne fonctionnent pas, remplacez-les par des termes proches et régénérez.
- Les balises dont la source est indiquée comme "Balises de chant utilisées dans Suno" sont destinées à la création de chansons. Signalez qu'elles peuvent ne pas fonctionner pour la lecture à voix haute.
- La synthèse vocale a un coût. Ne générez pas de voix sans que l'utilisateur vous le demande.
Règles à respecter
- Si le numéro n'existe pas dans le carnet, dites-le et proposez des alternatives via
search. N'inventez pas de numéro. - Ne faites pas d'appels en grand nombre.
listetsearchservent à trouver des candidats ;getsert pour les quelques numéros réellement utilisés.tableuniquement si l'utilisateur demande explicitement le tableau des numéros. - En fin de travail, rapportez les numéros et noms utilisés, où ils ont été appliqués, et ce que vous avez modifié. Si quelque chose n'a pas pu être vérifié, mentionnez-le également.
En cas de problème
pickaffiche "Impossible de trouver l'emplacement du carnet" (code de sortie 3) : si le dossier du carnet est disponible localement, ajoutez--site <dossier>; si une URL publique est connue, ajoutez--url <URL>. Si aucun des deux n'est disponible, demandez le numéro à l'utilisateur, ou demandez-lui de copier la sélection depuis le carnet et de la coller.- Node.js n'est pas disponible :
data/catalog.jsonest un fichier JSON standard. Recherchez dansitems[]avec les champsid,name,nameJa,ja,en;prompt.ja(ouprompt.en) contient le même texte que la sortie deget.