Communitygithub.com

mvpdsigner/reel-edit-style

スクリプトや音声を、ショットごとの編集計画とビルド(Remotion または After Effects)に変換し、計測された編集スタイルで縦型リールを作成します。

reel-edit-style とは?

このスキルは、スクリプトまたは音声ナレーションから、フレーム数やイージングまで詳細に指定された「計測された編集スタイル」に沿って、縦型リール(ショート、TikTok など)のショットごとの編集計画(edit plan)を作成し、Remotion または After Effects で実際にビルドするまでを支援します。 2つのプリセット(「Flash Tutorial」:段階的なカラーフラッシュ遷移、ポーズフラッシュ、固定キャプション行、UIマイクロスライド。@dope.motions より。「Editorial Argument」:モノクロピルキャプション、スクリプト&ローマンセリフのワードスタック、ポスターフラリー、切り抜きフック。@ashokreddyai より)が用意されており、それぞれにフレーム数、イージング、HEXカラー、フォントサイズ、SFX配置が定義されています。 ユーザーが編集、カット、計画、ストーリーボード、リールビルド、キャプション追加、トランジション、モーショングラフィックス、SFX追加など、これらのスタイルに関連するニーズを示したときに自動的に動作します。特に「フラッシュ遷移」「ポーズフラッシュ」「ピルキャプション」「セリフワードスタック」などのキーワードに反応します。他の参考リールを分析して新しいスタイルを追加する機能もあります。ただし、スクリプト自体の作成(reel-script, untold-story-script)は担当しません。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mvpdsigner/claude-skills/tree/HEAD/skills/reel-edit-style

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

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

ドキュメント

リール編集スタイル

あなたはナレーションを、計測された編集スタイルに合わせた編集に変換します。フレーム数まで正確に指定します。各プリセットは実際のリールを1フレームずつ解析して作られているため、「見た目が良い」という直感ではなく、その数値に従ってください。発見されたいくつかの点は直感に反します。Editorial Argument の「キネティック」タイプにはアニメーションが一切なく、Flash Tutorial のフラッシュは完全な白にはなりません。

プリセットの選択

Flash TutorialEditorial Argument
使用場面ハウツー、VFX、または結果を示すツールのデモ視覚的な証拠を伴う意見や解説
fps3024
約75秒間のショット数38(中央値 1.60 秒)59(中央値 0.58 秒)
テキスト固定された1行のキャプション、変更なしモノクロピルまたはセリフスタック、両方は使わない
主な動きフラッシュトランジション、マイクロスライド、スローズームほとんどなし。エネルギーはタイミングから生まれる
トランジション11回の段階的カラーフラッシュ、それ以外はハードカットハードカット、最大2回の7フレームフラッシュ
必要な素材トーキングヘッド、固定カメラの合成ショット、スクリーンレコーディングトーキングヘッド、オプションの切り抜き、多数のポスターまたは静止画、AIクリップ
仕様references/preset-flash-tutorial.mdreferences/preset-editorial-argument.md

ユーザーがプリセットを指定しない場合は、この表から一つを推奨し、その理由を一行で説明してください。選択したプリセットのみを読んでください。breakdown-*.md ファイルが存在する場合、プリセットに記載されていない詳細(正確な座標やショットリスト全体など)が必要なときに参照してください。これらは公開リポジトリには含まれていません。参照元のクリエイターの発言を引用しているためです。

ワークフロー

1. 入力の収集

  • ナレーションまたはスクリプト。 編集は単語のタイミングに依存するため、可能であれば録音された音声を入手してください。スクリプトのみの場合は、推定タイミング(Flash Tutorial は197 WPM、Editorial Argument は224 WPM)でドラフト計画を作成します。その計画は暫定版であることを明記してください。
  • 素材の一覧。 存在する素材と、プリセットが必要とするものをリストアップします。Flash Tutorial では、最初の2秒間に実際の成果を示すショットが必要です。Editorial Argument では多くの静止画が必要です。74秒の参考リールでは、36枚のフルフレームポスターと、さらに11枚がコラージュで使用されていました。
  • ビルドターゲット。 Remotion または After Effects。

2. 単語のタイミングを取得

python3 <skill-dir>/scripts/transcribe_words.py <audio> <outdir>

これには mlx-whisper(Apple Silicon 必須)が必要で、words.json を出力します。その他のスクリプトには numpy と pillow が必要で、ffmpeg が PATH に含まれている必要があります。これら3つがすべて入った仮想環境が最も簡単です。Whisper は名前や専門用語を聞き間違え、ファイルの末尾にテキストをでっち上げることがあるため、スクリプトと照らし合わせてトランスクリプトを読み、計画を立てる前に修正してください。

3. 編集計画を作成

edit-plan.md に、ショットごとに1行で以下を記述します。

タイムスタンプ | 継続時間 | 画面に表示されるもの | テキスト/キャプション | モーション | トランジション | サウンド

以下の順序で作業してください。各ステップは前のステップに依存します。

  1. セクション: スクリプトをプリセットのセクションマップにマッピングします。
  2. テキスト: すべての単語をプリセットのルールに従ってキャプションに分割します。各キャプションは、その最初の単語の開始から約3フレーム後に表示されるようにタイミングを調整します。
  3. 画像: 各セクションにショットを割り当て、プリセットのショット長とレイアウトを使用します。
  4. モーション: フラッシュ、ズーム、レシピを配置します。単語の隙間と照らし合わせて確認します。
  5. サウンド: プリセットのテーブルから SFX を配置します。

ビルドする前に計画をユーザーに表示してください。 計画の変更は安価です。レンダリングの変更はそうではありません。

4. ビルド

  • プリセットの定数を正確にコピーします。そこでのフレーム番号はイベントを基準とした相対値であるため、新しいナレーションに合わせて再タイミングします。
  • 段階的なテーブルはそのまま維持します。フレームごとの値のテーブルをスムーズなカーブにしないでください。段階的な変化もルックの一部です。
  • プリセットの fps を使用します。そのフレーム数はそのフレームレートでのみ有効です。
  • キャプションとピルをズームやブラーレイヤーから遠ざけてください。

Remotion: ショットリストを基に、ショットごとに1つの <Sequence> を使用します。テキストは <Sequence from={onFrame}> 内のプレーンな要素で、プリセットで指定されていない限り interpolate は使用しません。モーションブラーには @remotion/motion-blur を使用します。フレームごとのテーブルは frame - start をインデックスとする配列です。

After Effects: プリセットで指定されていない限り、アニメーターのないテキストレイヤーを使用します。フラッシュテーブルはイーズドキーフレームではなく、ホールドキーフレームとして設定します。

5. リファレンスと照合

レンダリング結果をプリセットのターゲットテーブルと比較します。

python3 <skill-dir>/scripts/video_metrics.py <render.mp4> <outdir>
python3 <skill-dir>/scripts/sheet.py <render.mp4> <outdir>/first5s --range 0 4.75 0.25 --cols 7 --rows 3 --thumb 220

シートをプリセットの説明と並べて見てください。検出器は過剰にカウントします。フラッシュフレームや高速モーションはカットとして表示されるため、cuts.txt を目視で確認してください。確認した内容を報告し、比較できなかった項目があればその旨を伝えてください。

正直であるために

  • 各プリセットは1つのリールから来ています。 その数値を、そのリールの選択として扱い、クリエイターのスタイル全体の証明として扱わないでください。ユーザーがそれらに大きく依存している場合は、その旨を伝えてください。
  • 「(推定)」や「(不明)」のラベルは引き継ぎます。 決定がそれらに基づく場合は、計画にそのまま残してください。
  • サウンドの正体は聞き取れていません。 配置とタイミングは測定されましたが、「ブーン」や「クリック」といった言葉は波形を説明するものです。SFX の選択はユーザーに耳で判断してもらってください。
  • フォントは近似値です。 Flash Tutorial のキャプションフォントと Editorial Argument のローマンセリフは特定されていません。コミットする前にレンダリングサンプルをユーザーに見せ、商用利用のためのフォントライセンスを確認してください。

テクニックを、コンテンツではなく使う

ユーザー自身の映像、画像、サウンドでスタイルを再構築してください。参照元のクリエイターのクリップ、ポスター、Firefly フレーム、その他のアセットを再利用しないでください。Editorial Argument のオープニングは別のクリエイターのクリップを使用しているため、ユーザーがその手法を再利用する際には、防御可能な理由と権利があることを確認してください。

新しいスタイルの追加

別のリールを分析するには、references/analyze-reference.md を読み、その後 preset-<name>.md を追加し、上記のテーブルに行を追加してください。

ファイル

  • references/preset-flash-tutorial.md、references/preset-editorial-argument.md: ビルドの元となる仕様。
  • references/breakdown-dope-motions.md、references/breakdown-ashokreddyai.md(ローカルコピーのみ、公開されていません): 完全な証拠、ショットごとのテーブル、すべてのトランジション、未解決の質問。記載されているパス(ashok/analysis/ など)は作業ファイルであり、含まれていません。
  • references/analyze-reference.md: 新しいリールの分析方法。
  • scripts/: transcribe_words.py、video_metrics.py、audio_events.py、sheet.py、probe_frame.py。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル