/effects
Arguments : $ARGUMENTS
Tout s'exécute depuis le dossier de cette skill (le dossier contenant ce fichier, généralement ~/.claude/skills/effects). Appelez-le SKILL_DIR. Répondez à l'utilisateur dans sa langue (français par défaut).
1. Vérifier l'installation
Exécutez node SKILL_DIR/scripts/effects.mjs doctor. Si quelque chose affiche ✗, dites à l'utilisateur qu'il s'agit d'une installation unique (3 à 10 min, télécharge ~1 à 2 Go) et lancez bash SKILL_DIR/setup.sh en arrière-plan, puis relancez doctor. Si doctor indique qu'il n'y a pas de carte graphique, prévenez que les effets marqués ✂ seront lents (~15 s par image) et suggérez --seconds 5 ou --fast.
2. Rassembler ce qu'il faut
- Le clip : la vidéo attachée ou nommée par l'utilisateur (face caméra verticale 9:16 de préférence ; tout format est recadré en 1080×1920). S'il n'y en a pas, demandez-le. N'inventez jamais de chemin.
- L'effet : le premier argument. S'il manque ou est inconnu, exécutez
node SKILL_DIR/scripts/effects.mjs list, montrez la liste et demandez lequel. "all" / "toutes" / "aperçu" → exécutez la commandesheet(étape 4). - Leur profil : si
SKILL_DIR/profile.jsonn'existe pas, demandez une fois leur prénom ou nom de marque et leur @, puis écrivez-le :{"name": "Salim", "handle": "@salim", "accent": "#ff2d87"}(accent facultatif). Réutilisez-le à chaque fois ensuite. - Textes : utilisez les mots de l'utilisateur s'il en a fourni, sinon les valeurs par défaut conviennent. Quelle option chaque effet lit est indiqué dans le tableau ci-dessous.
3. Rendu, en affichant la checklist
Créez une liste de tâches avec ces 5 étapes et cochez-les au fur et à mesure que le script imprime ses lignes ✓ n/5 :
- Visage trouvé
- Détouré de la pièce
- Texte placé derrière toi
- Couleurs étalonnées
- Rendu en 4K
node SKILL_DIR/scripts/effects.mjs render <effet> "<clip>" [options]
Exécutez-le en arrière-plan quand c'est long (les effets marqués ✂ nécessitent ~1 s par image avec une carte graphique, soit ~2–3 min pour 10 s de vidéo), et relayez les lignes de progression. La sortie est placée à côté du clip sous le nom <clip>-<effet>.mp4 (2160×3840). Donnez ce chemin à l'utilisateur.
Options utiles :
| Option | Effet |
|---|---|
--hd | 1080p au lieu de 4K, deux fois plus rapide |
--start 3 --seconds 8 | ne conserver qu'une section du clip |
--smooth | détourage à 30 ips au lieu de 15 (deux fois plus long, plus fluide sur les mouvements rapides) |
--fast | détourage rapide mais plus grossier (morceaux d'arrière-plan autour des cheveux) |
--images <dossier> | captures d'écran de leurs reels pour orbit, phone-fan, profile-wall, tier-list |
| `--grade warm | cool |
--accent "#00c2ff" | couleur principale |
--props '{"notes":["…"]}' | toute autre propriété (JSON) |
Avant un long rendu ✂, si les textes de l'utilisateur sont longs ou inhabituels, lancez d'abord un aperçu (~30 s) et regardez-le :
node SKILL_DIR/scripts/effects.mjs still <effet> "<clip>" [mêmes options]
4. Voir les 36 effets sur leur clip
node SKILL_DIR/scripts/effects.mjs sheet "<clip>" [--name … --handle …]
Cela produit <clip>-36-effets.jpg (une image de chaque effet). Montrez-la à l'utilisateur pour qu'il puisse choisir.
Textes lus par chaque effet
Utilisez *étoiles* autour d'un mot dans --headline ou --title pour le colorer. \n pour un saut de ligne.
| Effet | Options lues (valeurs par défaut entre crochets) |
|---|---|
| glass-widgets | --name --handle --followers [71K], --props '{"chart":{"values":[…],"labels":[…],"unit":"K"}}' |
| documentary ✂ | --headline ["UN *CLIP.*\n36 EFFETS.\n*ZÉRO* APP."] --name --handle --kicker --word (texte fantôme) |
| orbit ✂ | --images |
| kallaway-split | --props '{"chart":{"title":"Mes 7 meilleurs reels\npar *vues*","values":[615,353,…],"labels":["Reel 1",…],"unit":"K"}}' |
| spotlight ✂ | --word [CLAUDIT] (un mot court de préférence) |
| checklist | --props '{"steps":[["Visage trouvé","chaque frame"],…]}' (5 paires) |
| timeline | --title ["Claude *le monte*"] --headline (chips) |
| lineup | --title |
| shortcut-rain | aucun |
| red-collage ✂ | --headline --word (texte d'arrière-plan) |
| comment-box | --comment ["claude 🔥"] --handle |
| cover-star ✂ | --name (titre géant) --headline --handle |
| headline-wall | --props '{"notes":["…","…","…","…"]}' |
| phone-fan | --word [MES REELS] --handle --images |
| rabbit-hole | aucun |
| profile-wall | --handle --name --followers --images |
| noise | aucun |
| the-bill | --name --handle |
| split-headline | --title ["Claude *monte* mes reels."] (le mot entouré d'étoiles est mis en évidence) |
| pastel-word ✂ | --word [REELS] |
| tier-list | --title --images |
| polaroid | --title (légende, par défaut le nom) |
| filmstrip | aucun |
| comic-book | --word [BOUM] |
| glitch | --word [GLITCH] |
| duotone | --word [FOCUS] --accent |
| scanline | --title |
| cinema | --kicker [Chapitre I] --title (sous-titre) |
| breaking-news | --headline --word --name --handle |
| quote-card | --title (la citation) --name --handle |
| countdown | --accent |
| progress-ring | --word [regardé] --handle |
| emoji-burst | aucun |
| neon-frame | --word [live] --accent |
| typewriter | --title ou --headline |
| zoom-punch | --title (un mot par punch) |
En cas de problème
clip introuvable: vérifiez le chemin, mettez-le entre guillemets s'il contient des espaces.- Les polices proviennent de Google Fonts et Remotion télécharge un Chrome headless lors du premier rendu : les deux nécessitent une connexion Internet.
- Un effet ✂ avec une personne à peine visible ou plusieurs personnes : le détourage conserve toutes les personnes qu'il détecte. Dites-le à l'utilisateur.
- Les fichiers préparés sont mis en cache dans
SKILL_DIR/.work/(un dossier par clip). Ils peuvent être supprimés à tout moment pour libérer de l'espace.