/effects
引数 : $ARGUMENTS
すべての処理はこのスキルのフォルダ(このファイルを含むフォルダ、通常は ~/.claude/skills/effects)から実行されます。これを SKILL_DIR と呼びます。ユーザーにはその言語(デフォルトはフランス語)で応答してください。
1. インストール確認
node SKILL_DIR/scripts/effects.mjs doctor を実行します。✗ が表示された場合は、一度限りのインストール(3~10分、約1~2GBのダウンロード)が必要であることをユーザーに伝え、bash SKILL_DIR/setup.sh をバックグラウンドで実行してから、再度 doctor を実行します。doctor がグラフィックカードがないと報告した場合は、✗ マークのエフェクトは遅くなる(画像1枚あたり約15秒)ことを警告し、--seconds 5 または --fast を提案します。
2. 必要な情報を収集
- クリップ: ユーザーが添付または指定した動画(縦9:16の顔カメラが最適。他の形式は1080×1920に切り抜かれます)。ない場合は、動画を依頼してください。パスをでっち上げないでください。
- エフェクト: 最初の引数。ない場合や不明な場合は、
node SKILL_DIR/scripts/effects.mjs listを実行して一覧を表示し、選択を依頼します。「all」「toutes」「aperçu」の場合は、sheetコマンド(ステップ4)を実行します。 - ユーザープロフィール:
SKILL_DIR/profile.jsonが存在しない場合、一度だけ名前またはブランド名と@ハンドルを尋ね、以下の形式で保存します。{"name": "Salim", "handle": "@salim", "accent": "#ff2d87"}(accentは任意)。以降は毎回これを使用します。 - テキスト: ユーザーが指定した場合はその言葉を使用し、そうでなければデフォルトで問題ありません。各エフェクトがどのオプションを読み取るかは下の表を参照してください。
3. レンダリングとチェックリスト表示
以下の5つのステップからなるタスクリストを作成し、スクリプトが ✓ n/5 行を出力するたびにチェックを入れます。
- 顔を検出
- 背景から切り抜き
- 背後にテキスト配置
- カラーグレーディング
- 4Kレンダリング
node SKILL_DIR/scripts/effects.mjs render <effect> "<clip>" [オプション]
処理が長い場合はバックグラウンドで実行し(✗ マークのエフェクトはグラフィックカードがある場合、画像1枚あたり約1秒、つまり10秒の動画で約2〜3分かかります)、進捗行を中継します。出力はクリップと同じ場所に <clip>-<effect>.mp4(2160×3840)として作成されます。このパスをユーザーに伝えてください。
便利なオプション:
| オプション | 効果 |
|---|---|
--hd | 4Kではなく1080p、処理速度2倍 |
--start 3 --seconds 8 | クリップの一部のみを保持 |
--smooth | 30fpsでの切り抜き(15fpsの代わり。処理時間2倍、高速動作時に滑らか) |
--fast | 高速だが粗い切り抜き(髪の周りに背景のビットが残る) |
--images <folder> | orbit、phone-fan、profile-wall、tier-list用のリールのスクリーンショット |
--grade warm|cool|bw|none | カラーグレード(デフォルトはwarm) |
--accent "#00c2ff" | メインカラー |
--props '{"notes":["..."]}' | その他のプロパティ(JSON) |
長い ✗ レンダリングの前に、ユーザーのテキストが長いまたは通常と異なる場合は、まずプレビューを実行(約30秒)して確認します。
node SKILL_DIR/scripts/effects.mjs still <effect> "<clip>" [同じオプション]
4. 全36エフェクトをクリップで確認
node SKILL_DIR/scripts/effects.mjs sheet "<clip>" [--name … --handle …]
<clip>-36-effets.jpg(各エフェクトの1フレーム)が作成されます。ユーザーに表示して選択してもらいます。
各エフェクトが読み取るテキスト
--headline または --title 内の単語を *アスタリスク* で囲むと色が付きます。\n は改行を示します。
| エフェクト | 読み取るオプション(デフォルトは括弧内) |
|---|---|
| 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(ゴーストテキスト) |
| orbit ✗ | --images |
| kallaway-split | --props '{"chart":{"title":"Mes 7 meilleurs reels\npar *vues*","values":[615,353,…],"labels":["Reel 1",…],"unit":"K"}}' |
| spotlight ✗ | --word [CLAUDIT](1つの短い単語が最適) |
| checklist | --props '{"steps":[["Visage trouvé","chaque frame"],…]}'(5組) |
| timeline | --title ["Claude *le monte*"] --headline(チップ) |
| lineup | --title |
| shortcut-rain | なし |
| red-collage ✗ | --headline --word(背景テキスト) |
| comment-box | --comment ["claude 🔥"] --handle |
| cover-star ✗ | --name(巨大タイトル)--headline --handle |
| headline-wall | --props '{"notes":["...","...","...","..."]}' |
| phone-fan | --word [MES REELS] --handle --images |
| rabbit-hole | なし |
| profile-wall | --handle --name --followers --images |
| noise | なし |
| the-bill | --name --handle |
| split-headline | --title ["Claude *monte* mes reels."](アスタリスクで囲まれた単語が強調表示される) |
| pastel-word ✗ | --word [REELS] |
| tier-list | --title --images |
| polaroid | --title(キャプション、デフォルトは名前) |
| filmstrip | なし |
| comic-book | --word [BOUM] |
| glitch | --word [GLITCH] |
| duotone | --word [FOCUS] --accent |
| scanline | --title |
| cinema | --kicker [Chapitre I] --title(字幕) |
| breaking-news | --headline --word --name --handle |
| quote-card | --title(引用)--name --handle |
| countdown | --accent |
| progress-ring | --word [regardé] --handle |
| emoji-burst | なし |
| neon-frame | --word [live] --accent |
| typewriter | --title または --headline |
| zoom-punch | --title(パンチごとに1単語) |
問題が発生した場合
clip introuvable: パスを確認し、スペースがある場合は引用符で囲んでください。- フォントはGoogle Fontsから、Remotionは最初のレンダリング時にヘッドレスChromeをダウンロードします。どちらもインターネット接続が必要です。
- ✗ エフェクトで人物がほとんど見えない、または複数人がいる場合:切り抜きは検出したすべての人物を保持します。その旨をユーザーに伝えてください。
- 準備済みファイルは
SKILL_DIR/.work/にキャッシュされます(クリップごとに1フォルダ)。いつでも削除して容量を解放できます。