Communitygithub.com

AIビデオ編集スキル

1つのプロンプトからInstagramリール/TikTok/Shorts用の投稿可能な1080×1920動画を生成します。スクリプト作成(またはユーザースクリプトの利用)、ナレーション生成、モーションデザインスタイルによるシーンアニメーション、フレームのセルフレビュー、MP4出力を行います。また、アニメーションInstagramカルーセル(4:5ループスライド)も作成可能です。

AIビデオ編集スキル とは?

AIビデオ編集スキルは、ユーザーが「リールを作って」「ショート動画を」「TikTokを」「説明動画を」「フェイスレス動画を」などと依頼した際に、1つのプロンプトから完全な縦型動画(1080×1920)を自動生成するClaude Codeスキルです。このスキルは、スクリプト作成(またはユーザーのスクリプトをそのまま使用)、ElevenLabsによる感情タグ付きナレーション生成、シーンごとのアニメーション(クラシック、explainer3d、voxelの3つのスタイルから選択)、フレームのセルフレビュー、MP4形式での出力を一貫して実行します。さらに、Instagramカルーセル(4:5、4秒ループの無音スライド)の生成や、スクリーンショットからのビジュアルコピー、マスコットキャラクターの作成・利用、プレゼンターの写真からのカスタマイズなど、高度なカスタマイズ機能も提供します。このスキルは、ユーザーがプロンプトで指示した内容からトピック、スタイル、言語、CTAキーワードを推論し、最小限の質問で効率的に動画を制作します。対応プラットフォームはClaude Codeを想定しており、内部的にはNode.js、Python、ffmpeg、ヘッドレスブラウザなどのツール群を活用して、高速かつ高品質な動画生成を実現します。

対応✓Claude Code✓Codex CLI✓Cursor
npx skills add https://github.com/alexandreschererpa-a11y/ai-video-skill/tree/HEAD/.claude/skills/ai-video

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

AIビデオ編集スキル は何をしますか?

あなた(Claude)が編集者です。このフォルダは、実績のあるリールエンジン、すでにバイラルした3つのビジュアルスタイル、クリエイターのスクリプティングとペーシングのルール、そして音声・レンダリング・レビュー・エクスポートのためのツールを提供します。あなたがスクリプトとシーンコードを書き、ツールが重い処理を行います。

このスキルでできること(ユーザーが「何ができる?」と尋ねたり、リクエストなしで開始した場合に伝える)

質問実行内容参照先
「〜についてのリールを作って」縦型リール1080×1920:スクリプト → 音声 → アニメーションシーン → セルフレビュー → mp4。スタイル:classic(デフォルト)、explainer3d、voxelセクション1~7
「私のスクリプトを使って:...」スクリプトをそのまま使用セクション2
(任意のリール)最初に承認用のスクリプト表(ライン、感情、画面表示、プレゼンター)を表示;ElevenLabsの感情タグ([excited]...)付き音声(キャプションには表示しない);pt-BRのフック + 「コメント PALAVRA」CTAguides/scripting.md
「〜についてのカルーセルを作って」/「このリールのカルーセルを作って」アニメーションInstagramカルーセル4:5、4秒ループ無音スライド、out/01.mp4...に出力。ルック:papel、noite、vibrante、tech、editorial、またはユーザー指定guides/styles/carousel.md
「このビジュアルをコピーして」+スクリーンショット/画面収録ユーザー独自の名前付きルック(色、フォント、背景)を保存し、すべてのカルーセルとクラシックリールで使用guides/copy-look.md
「マスコットを作って」/「マスコットを使って」画像マスコット(シート+6~10のカットアウトポーズ)を作成し、クラシックリールとカルーセルで描かれたプレゼンターの代わりにホスト役として使用、すべてのプロジェクトで保存guides/mascot.md
「この写真からプレゼンターを作って」描かれたプレゼンター(クラシック)をユーザーに似せて作成guides/presenter.md
「シーン3を変えて」/納品後の修正対象を絞った1回の修正、他は変更しないセクション8
「これまでに何を作った?」videos/<slug>/out/ のリスト表示

SKILL_DIR とは、このファイルがあるフォルダ(AI Videoワークスペースでは <workspace>/skill)を意味します。すべてのツールは絶対パスで任意の場所から実行します(例:node "$SKILL_DIR/tools/reel.mjs" ...)。

0. このコンピュータでの初回:セットアップチェック(2分)

node "$SKILL_DIR/tools/doctor.mjs" を実行します。Node、ffmpeg、Python、ヘッドレスブラウザ、ElevenLabsキー、選択された音声を確認し、不足しているものに対する修正方法を正確に表示します。修正は1つずつ、平易な言葉でユーザーに説明します(技術に詳しくない場合もあります)。詳細は SETUP.md にあります。

  • 自分で実行できるインストール手順(ユーザーの許可を得て):SKILL_DIR 内で npm install と npm run browser、pip3 install numpy。
  • APIキー:ユーザーはdoctorが指定したファイルにキーを貼り付けます。チャットにキーを貼り付けさせたり、キーを出力・ログ記録したりしないでください。
  • 音声:保存された音声がない場合、音声の選択を支援します(セクション3)。これは1回だけ行い、将来のすべてのリールで保存されます。
  • AIプラン:使用しているプラン(Claude Pro、Claude Max、API、Team、Codex、Cursor)を1回尋ねます。自分では検出できません。保存:node "$SKILL_DIR/tools/doctor.mjs" --set-plan <max|pro|api|team|codex|cursor|other>。Max、API、Teamの場合:「お使いのプランではシーンビルダーを並列実行できるため、動画制作が大幅に高速になります」と伝えます。その他のプランの場合、さらに1回:「最高品質(フルプロセスですが、使用量制限をすぐに消費する可能性があります)」または「良好な品質(制限に適した軽量ビルド)」を尋ね、保存します:node "$SKILL_DIR/tools/doctor.mjs" --set-quality <best|good>。いつでも切り替え可能です(「最高/良好な品質を使用」)。「努力モード」を参照してください。
  • マスコット:config.json に "presenter_mode": "mascot" がある場合、新しいクラシックリールとカルーセルには自動的にユーザーの画像マスコットが使用されます(reel new でインストール;guides/mascot.md)。ユーザーが自分のページのマスコット/キャラクターについて話したときに1回提案します。許可なく生成しないでください(画像クレジットを消費します)。
  • プレゼンター(クラシックスタイルのみ):~/.config/ai-video/config.json に "presenter" がまだなく、リールがクラシックの場合、1回だけユーザーの写真(または「プレゼンターなし」)を尋ね、ルックを構築します(guides/presenter.md)。ユーザーの設定に保存されます。ユーザーが質問しないでと言った場合は、テンプレートのデフォルトプレゼンター(engines/classic/template/reel.json)を使用し、納品時に「次回は自分のルックを設定できます(またはなし)」と伝えます。

セットアップ関連のエラーでツールが失敗した場合は、doctorを再実行します。

1. リクエストを理解する(過剰に質問しない)

1つのプロンプトから必要なもの:トピック/視点、スクリプトの有無、スタイル、CTAキーワード、言語。推論できるものは推論し、トピック自体が不明確な場合のみ、最大で1つの短い質問をします。デフォルト:

  • ユーザーがスクリプトを貼り付けた → そのまま使用(明白なタイプミスのみ修正;「改善」はしない)。それ以外は自分で作成(セクション2)。
  • スタイル(guides/styles/ を参照):
    • classic:トークポイント、ツール、ヒント、リスト、意見、ビジネス/AI/テクノロジーニュース、「仕組み/理由」に関するもの。デフォルト。
    • explainer3d:「Xは実際にどう動くのか」を物理的なものやシステム(ガジェット、アプリ、車、身体、ネットワーク)について説明。
    • voxel:人と場所に関するストーリー(小さなビジネス、顧客、街、チーム)、遊び心があり温かい。
    • carousel:アニメーションInstagramカルーセル(ユーザーがカルーセル/スライドが動くと言った場合):4:5、1080×1350、4秒ループ無音スライド。独自のワークフローがあります:guides/styles/carousel.md を読み、以下のセクション2~7の代わりにそれに従います(音声なし;計画表 → slides.js → ループチェック → reel carousel で out/01.mp4 ...に出力)。「このリールのカルーセルを作って」=そのリールのスクリプトとKEYWORDを再利用。
  • CTAキーワード:トピックに関連する覚えやすい1つの単語(例:PLUGINS、COFFEE)、大文字。reel.jsonに保存。
  • 言語:スクリプトの言語。reel.jsonに "language": "xx" と設定(ISOコード:ru、es、de、ar...)。音声、キャプション、CTA、UIテキスト(コメントシート、DM)で使用します。自信がない場合は自分でキャプション/強調を記述します。ラテン文字、キリル文字、ギリシャ文字、ベトナム語のフォントはバンドルされています。その他の文字体系の場合は、音声ステップの後に python3 "$SKILL_DIR/tools/fonts.py" check <project> を実行します。
  • 音声↔プレゼンター:ユーザーが自分自身を説明した場合(性別、年齢)、または写真を提供した場合、保存された音声が適合していることを確認します。明らかに適合しない場合(例:彼女のプレゼンターに男性の声)、それを伝え、voices.py search で一致するものを提案するか(ユーザーが主張する場合はそのまま使用)。非英語スクリプトの場合は、その言語でタグ付けされた音声を優先します。

2. スクリプト(ユーザーが指定した場合はスキップ)

guides/scripting.md を読み、その指示に正確に従います:最初の1.5秒でフック、2行目で好奇心ループ、具体的なステーク、問題が認識された後にのみ製品/回答を提示、会話調(スタッカートではない)、110~170語(約32~50秒:再生時間 ≈ 語数 / (3 × 音声速度) 秒;短いスクリプトが要求された場合はフック、ループ、ペイオフを圧縮)、末尾は「コメント KEYWORD で〜をお送りします」。<project>/script.txt に書き、ElevenLabs感情タグ(guides/scripting.md、「感情タグ」)を含めます。音声化する前に、スクリプト表(guides/scripting.md、「スクリプト表」:ライン、感情、画面表示、プレゼンター)をユーザーに表示し、承認を待ちます。今行を変更してもコストはかからず、音声化後はクレジットを消費します。ユーザーが完成したリールに直接進むと言った場合のみ、待機をスキップします。ポルトガル語のリールの場合は、同じガイドのpt-BRフックとCTAを使用します。

3. プロジェクト+音声

node "$SKILL_DIR/tools/reel.mjs" new <VIDEOS>/<slug> --style <classic|explainer3d|voxel>
python3 "$SKILL_DIR/tools/tts.py" <VIDEOS>/<slug>

<VIDEOS> = このスキルフォルダの隣にある videos/ フォルダ(存在する場合、AI Videoワークスペースでは <workspace>/videos/<slug>/)、それ以外はユーザーの現在のフォルダの ./videos/(ユーザーが別の場所を指定した場合を除く)。<slug> は短いケバブケースのトピック名。tts.py は audio/vo.mp3(ポーズを詰め、保存された音声速度(×1.15、別の --speed で保存された場合を除く)でスピードアップ、ラウドネス正規化済み)、build/words.json + build/word_index.txt(すべての単語とその時間)を書き出します。すべてのアニメーションはこれらの単語に基づいてキューイングされます。

  • 音声の選択(初回、またはユーザーが変更を希望):python3 tools/voices.py search "<希望条件>" [--lang xx]、ユーザーに3つのプレビューリンクを提供し、その後 voices.py add <owner> <voice_id> "<名前>" と voices.py use <voice_id> --name "<名前>" を実行。ユーザー自身の録音:tts.py <project> --provider file --audio take.mp3。OpenAI音声:voices.py provider openai。
  • クレジット:リール1本につき音声生成1回。後でスクリプトを変更した場合は再生成;タイミング調整のみの場合は --reuse を使用(新たなクレジットは消費しません)。

4. ビジュアルを考案し、ビートを計画する(コードの前にストーリーボード)

4a. 考案(これがテンプレートとクラフトレベルのリールを分けるものです)。 最初に guides/mindset.md(基準と考えるべき視点:非常にクリエイティブに、美しく、決して空っぽでなく、よくアニメーションされ、一目で理解できる)を読みます。次に guides/patterns.md(クラシック)または guides/patterns_3d.md(explainer3d、voxel)を読み、その考案方法をこのスクリプトに適用します:

  • アイデア全体を運ぶ1つの中心的なメタファー/ビジュアルワールド(その動作が議論そのものである物理的なオブジェクト、機械、または場所)、およびビートのための3~6個のカスタムプロップ。これらはこのスクリプトの単語から来ている必要があり、例からではありません:ガイドや library/ のプロップ例はテクニックを示すものであり、決して貼り付けないでください。「このフレームは他の誰かのリールにも合うだろうか?」と自問してください。「はい」の場合、それは一般的です:再考してください。
  • 実在の被写体(スクリプトが実在の会社、場所、製品、食べ物、建物、乗り物を挙げている、または携帯電話でビデオ/アプリを表示している):フラットなアイコンや名刺ではなく、実際のように描画します:guides/illustration.md(クラシック:kits/illustrate.js プリミティブ + library/classic/illustrated/ の例;画面内のビデオは常に再生)。実在のものはしばしば主役であり、考案されたメタファーはそれに作用します。
  • 考案内容を STORYBOARD.md の先頭に書きます:メタファー、なぜ適合するか、プロップ、セクションごとの1つの「ワウ」ポイント。

4b. ストーリーボード。 build/word_index.txt を開きます。スクリプトをビートに分割します:1ビート=1文またはアイデア、各1.5~5秒。最初にスタイルガイドの品質セクションを読み(参考ストリップも見てください)、次にすべてのビートに対して次のブロックを書きます(1行ビートは不可):

ビート NN · "<単語>"(単語 i0-i1、s-e)
  ステージに残るもの :すでに画面上にある要素で残るもの(およびその位置)
  各強調単語が追加/変更するもの :単語 → 入力または状態変更するもの(強調単語ごとに1つ、0.4~0.8秒ごと)
  動き続けるもの :すべての要素のアイドルアニメーション(チクタク、揺れ、転がり、タイピング、点滅、浮遊)
  プレゼンター    :(クラシック)彼が指す焦点+フレーズごとの演技・(3D)誰/何が行動するか
  カメラ       :どの単語で寄る/押す/蹴る/カットする・トランジションイン
  カスタムプロップ :あなたが考案したどのプロップが登場するか(新しく書くコード)
  ビッグモーメント :スラム、カット、ホイップ、リビール:毎秒1回以上を目標に(リールモーションがドラフトで測定)

ルール(guides/direction.md より):ステージは構築され(各強調単語は1つの要素を追加または変更し、以前のものは残って動き続ける)、一度に1つの焦点だけを持つ;音声をオフにしても絵が意味をなす;1.2秒以上静的にならない;大きなことは強調単語の瞬間に起こる;フックビートはすぐにペイオフまたは対立を、すでに完全な状態で示す。

5. シーンを構築する

コードを書く前に guides/styles/<style>.md を完全に読んでください(品質基準、ルック、トークン、API、シーン契約、レシピ)。エンジンはどのように動くか(スプリング、振り子、重力、構築ステージ、プレゼンター演技、カメラ、タイピング、スクロールする数字、トランジション)を与えます;何が動くかは、あなたが4aで考案し、プロジェクトの新しいコードとして描画したプロップです。予算:クリエイターのリールには、動画1秒あたり50~110行のカスタムシーンコードと3~7個のカスタム描画オブジェクトが含まれています。それを計画してください。

  • スタイルのヘルパー(wordAt('word') / wi(index))を使用して単語にキューイングし、ハードコードされた秒数は使用しないでください。
  • 各考案プロップを単独でプレビューしてから使用します(そのプロップのみを表示する使い捨てのビート/シーン、reel stills <project> <t> --only <id> でレンダリング;クラシック/ボクセルにはキットプレビューページもあります)。そのシーンファイルに scenes/preview_<prop>.js と名前を付けます(craft は scenes/preview*.js と scenes/props*.js を無視するため、そのような名前のファイルには実際のリールコードを決して入れないでください)。クラシック:SCENE_FILES にはリストしますが、TIMELINE には決して入れないでください:登録されたシーンがタイムラインにない場合、リールでは決してレンダリングされません。最終版の前に SCENE_FILES から削除してください。
  • reel stills / reel video のたびに、出力の終わりを読んでください。「error while drawing frames」とリストされている場合、それらのフレームは壊れています。最初に修正してください。
  • 並列モード:サブエージェントを使用(1つずつモードでは、まったく同じビートを同じビート別ブリーフで、自分で1つずつ構築します):1~2ビートごとに1つ、すべて並列で、各々に与えられるもの:guides/mindset.md(ブリーフに貼り付け)、スタイルガイドのパス、guides/patterns(_3d).md、実在の被写体を描画するビートの場合は guides/illustration.md(クラシック)、考案ブロック、そのストーリーボード行と単語、および隣接シーンのハンドオフ状態。各サブエージェントは --out <そのビート名> でスチルをレンダリングします(独自のシート、上書きなし)。その後、一緒にレビューします。

6. 自分の作業をレビューする(必須、これがプロフェッショナルに見える理由です)

guides/review.md に従います。概要:

  1. node "$SKILL_DIR/tools/reel.mjs" stills <project> <t1> <t2> ... を各ビートの途中と各カットの0.1秒後で実行します(シート:stills/sheet.jpg)。シート画像を見ます。レビューチェックリストのすべての項目を確認し、クリーンになるまで修正してスチルを再レンダリングします。
  2. node "$SKILL_DIR/tools/reel.mjs" video <project>(高速低解像度ドラフト、build/draft.mp4)。各トランジション付近のフレームを抽出して見ます(ffmpeg -ss T -frames:v 1)。ポップ、オーバーラップ、無音部分を修正します。
  3. node "$SKILL_DIR/tools/reel.mjs" motion <project> と node "$SKILL_DIR/tools/reel.mjs" craft <project>:両方とも PASS と出力される必要があります(craft = 十分なオリジナル作品、ストックプロップがリールを支えていない)。motion は、すべてのフラットなストレッチとその単語をリストします。それぞれにビルドアップイベント、セカンダリモーション、カメラムーブ、またはプレゼンター演技を追加し、ドラフトを再レンダリングし、再実行します。失敗している間に最終版をレンダリングしないでください。ユーザーがビデオレンダリングを禁止した場合、ドラフト(ステップ2)と motion をスキップし、reel craft とスチルのみでチェックします。

7. エクスポート

node "$SKILL_DIR/tools/reel.mjs" final <project>

build/final.mp4 を書き出します(最大品質、正しい解像度、ブラウザネイティブ)。次に、videos/<slug>/out/ フォルダを作成し、その中に final.mp4 をコピーします(ファイル名は slug と同じにします)。

  • 出力ファイルを開くか、共有するためにユーザーにファイルパスを提供します。
  • リールを改善する方法についての簡単な提案を提供します(新しいスタイル、マスコット、プレゼンター、カルーセル)。

8. 事後修正

ユーザーが特定の修正を要求した場合(例:「シーン3を長くして」「キャプションの色を変えて」「5秒目に別の画像を使って」):

  1. 影響を受けるコードを特定します。
  2. 該当するシーンコードを修正します。
  3. 変更されたシーンのスチルを再レンダリングします(reel stills <project> <t>)。
  4. 承認を得てからドラフトまたは最終版を再レンダリングします。 一度に1つの修正のみ行います。ユーザーがさらに修正を要求した場合にのみ、他の修正に進みます。

努力モード

doctor で設定された品質設定に基づいて:

  • best:完全なプロセス(ストーリーボード、考案、フルアニメーション、ドラフト+モーション+クラフトレビュー、最終版)。
  • good:簡略化されたプロセス(考案はスキップ、テンプレートから適応、ドラフトなし、スチルレビューのみ、--fast で最終版)。

9. 全体的な指示

  • 常に guides/ フォルダ内のガイドを参照して、適切なスタイルと品質を確保します。
  • ユーザーのスクリプトを尊重し、許可なく改善しないでください。
  • CTAキーワードとハッシュタグを含めて、ソーシャルメディアエンゲージメントを最適化します。
  • ポルトガル語のリールの場合は、ガイドに従ってpt-BRのフックとCTAテキストを使用します。
  • 毎回フレームをレビューして、プロフェッショナルな品質を確保します。
  • リソースを効率的に使用します(APIクレジット、レンダリング時間)。
  • 過剰に質問せず、必要な情報を推論します。

関連スキル