Communitygithub.com

alyshadotmd/video-editing

縦型トーキングヘッド動画に焼き込み字幕を追加します。単語ごと、または意味の塊ごとに正確なタイミングで表示し、顔や見出しを避けた安全領域に配置します。Claude Code と Runneth 向けに構築されています。

video-editing とは?

このスキルは、縦型(9:16)のトーキングヘッド動画に、読み手が楽に読める焼き込み字幕を作成します。字幕は単語ごと、または意味の塊(1~3語、最大5語)で表示され、各単語の正確なタイミングと同期します。デフォルトのスタイルは、白い Figtree Bold フォントに黒い輪郭線、ボックスや影はなしで、動画の胸部の高さ(y=1260~1305、1080x1920フレーム)に中央揃えで配置されます。また、インスタグラムリール、ストーリー、フィード、TikTok、Facebook で安全な領域(x=100~880, y=290~1340)に収まり、顔や見出しとは重なりません。さらに、オプションでカラオケスタイルのハイライト単語もサポートします。Claude Code と Runneth の両方で動作し、事前に video-editing-setup スキルでツール(ffmpeg, ffprobe, Python)をインストールしておく必要があります。動画の編集順序におけるステップ5(a-roll カット、b-roll、フレーミング、見出しの次)として使用し、最終的なタイムラインの正確性と表示品質をチェックする仕組みも備えています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/alyshadotmd/video-editing/tree/HEAD/skills/captions

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

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

ドキュメント

Captions

目標: 視聴者が努力せずに読める字幕。それぞれは短く、意味が完結しており、各単語に正確にタイミングが合い、動画全体を通じて同じ場所に表示されます。

これは編集順序のステップ5です: a-roll カット、b-roll、フレーミング、見出し、字幕。フレーミング済みの動画、見出しの後に実行されるため、字幕が見出しの邪魔になりません。

このスキルは Claude Code と Runneth 向けに構築されています。

始める前に: ツール

Runneth では、すべてが既にインストールされています。このセクションはスキップしてください。

Claude Code では、このスキルには video-editing-setup スキルがインストールする無料の動画ツールが必要です。~/.video-editing-tools/bin/ffmpeg -version が実行できるか静かに確認してください。実行できる場合は、このスキルが ffmpeg、ffprobe、python3 と言うところで ~/.video-editing-tools/bin 内のツール (ffmpeg、ffprobe、python) を使用して続行してください。できない場合は、最初に video-editing-setup スキルに従ってから、ここに戻ってきてください。

フォント: Figtree Bold。このスキルが使用する唯一のフォントです。無料の Google フォントです。コンピューター上、またはプロジェクトの横のフォントフォルダーにあるか静かに確認してください。ない場合は、「これは Figtree という無料の Google フォントを使用します。ダウンロードしましょうか?」と尋ねてください。はいの場合、Google Fonts (fonts.google.com/specimen/Figtree) から Figtree Bold ファイルをプロジェクトの横のフォントフォルダーにダウンロードして続行してください。この確認は Runneth でも適用されます。

必要なもの

  • 動画: フレーミング済みで、見出し(またはそのタイミング)が付いているもの。
  • スクリプト(ある場合): 名前や製品名の綴りを正しくするため。
  • 見出しが画面に表示されるタイミングとその位置。

ステップ 0: 最初にスタイルについて尋ねる

以下を1つずつ尋ね、各回答を待ってください:

  1. 「字幕は単語ごとにしますか、それとも数語ごとにしますか?」
  2. 数語ごとの場合のみ: 「発話中の単語を別の色でハイライトしますか?」
  3. はいの場合のみ: 「どの色にしますか?」デフォルトとして明るい黄色 (#FFFF3A) を提案するか、ブランドカラーを提案してください。

ステップ 1: 各単語とそのタイミングを取得

  1. 動画自体の音声を単語タイミング付きで文字起こしします (faster-whisper base、word_timestamps=True、vad_filter=False)。タイミングはこの正確な動画から取得する必要があります。なぜなら、すべてのカットがタイミングを変えるからです。
  2. 名前、ブランド、製品名の綴りにはスクリプトを使用し、文字起こしのタイミングは保持します。
  3. 発話されたすべての単語に字幕が付きます。発話されなかったものには字幕は付きません。

ステップ 2: 意味の塊に分割(数語ごとの場合のみ)

  1. 通常は1~3語、最大約5語 で1つの塊とし、フレーズ全体を維持しつつ幅に収まるようにします。
  2. まとめて保持: 名詞とその修飾語(「a sleep drink」)、名前(「Claude skill」)、動詞とその付属語(「go to bed」)、短い完結した考え(「but that's how I felt」)。
  3. 各塊は意味のある単語で終わります。 小さな単語(the, a, of, to, and, because, that, I)は代わりに次の塊を始めます。
  4. 各塊は最初の単語から次の塊が始まるまで表示されるため、文の途中で画面が空になることはありません。
  5. リスト全体を視聴者のように一度読んで、不自然に読める区切りを修正します。

ステップ 3: 見た目

すべての字幕は Figtree Bold、白、黒い輪郭線を使用します。ボックス、影、ポップインやバウンスはなし。字幕は単に現れます。ほとんど小文字で、I、名前、ブランドは大文字にし、末尾にピリオドやカンマは付けません。

  • 単語ごと: 約140px、輪郭線6px。一度に1単語が画面に表示されます。各単語は次の単語が始まるまで表示されます。長い単語は約720px幅に収まるように縮小します。ステップ2の塊分割はスキップします。
  • 数語ごと: 約60px、輪郭線3px。ステップ2の塊を使用します。
    • 単語のハイライトあり: 発話中の単語が塊の中で選択された色に変わり、カラオケスタイルになります。
    • ハイライトなし: 塊全体が白のままです。

ステップ 4: 配置場所

  1. 中央、胸部の高さ。1080x1920 動画で約 y=1260 から 1305: 顎の下、アプリのキャプションやボタンの上。
  2. 安全領域内: 安全ゾーンは post-preview スキルから取得します。1080x1920 フレーム (リール、ストーリー、フィード、TikTok、Facebook で安全な1つのボックス) 上の x=100~880、y=290~1340 内にすべてを収めます。端に近い配置については、post-preview で正確な被覆領域を確認してください。中央揃えの字幕は、すべての文字(輪郭線を含む)を x=200~880(約680px幅)かつ y=1340 より上に保ちます。各塊の幅を測定し、幅が広すぎる塊は分割します。
  3. 見出しと重ならないように。 見出しが画面に表示されている間、字幕は明確な隙間を空けて下に配置します。見出しが低い位置にある場合、字幕は重ならないように安全領域内で下に移動します。
  4. 動画全体で同じ場所。目が常にどこを見ればよいかわかるように。
  5. 字幕は口の下に配置し、顔の上には決して重ねません。 すべての字幕が目、鼻、口を避けます。顔が非常に低く、字幕の位置が顔を覆ってしまう場合、フレーミングに問題があります。フレーミングに戻して修正するか(または修正中は安全領域内で字幕を下に移動します)、送り返してください。

ステップ 5: 作成と焼き込み

  1. 字幕を ASS サブタイトルファイルとして書き出します。単語のハイライトがある場合は、色が発話に合わせて動くように単語ごとに1つのイベントを使用します。文字間隔はインラインの \fsp タグで行います。
  2. レンダラーを Figtree Bold ファイルのみを保持するフォントフォルダーに指定し、正しいウェイトが使用されるようにします: ass=captions.ass:fontsdir=fonts。
  3. フル品質の動画(x264, slow, crf 14~18)から1パスで焼き込み、音声はそのままコピーします。

ステップ 6: 公開前に確認

  1. すべての単語が、1回、タイミング通り: 字幕リストを文字起こしと単語単位で比較します。
  2. 各塊のフレームを確認: 安全領域内にあり、切れていない、見出しと重なっていない、字幕全体が口より下にあること。顔検出器を使用するか各フレームを読んでください。顔の一部にでも字幕がかかっている場合はチェックに不合格です。
  3. 単語のハイライトがある場合、色が発話中の単語に合っていること。 動画内の数か所で確認します。

ステップ 7: 編集者から学ぶ

編集者が分割、単語、見た目を変更した場合、理由を尋ねてください(編集者が言わない限り)。その理由を以下「編集者からの字幕ルール」に、何が正しいべきかという形でルールとして記述してください。自分で考えた理由は「(AI)」とマークし、ルールを決して変更しません。

編集者からの字幕ルール

(空から始めます。編集者が与えた各ルールを追加します。)

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

alyshadotmd/video-editing

Turn raw talking-head footage full of repeated takes (one long recording, or several recordings of the same script) into a tight rough cut. Find every take of every line, judge each take on its words, sound and picture, pick the keeper for each line, and either show the editor the picks first or go straight to the cut. The cut is checked so no word is chopped and no pause is left in before anyone sees it. Built for Claude Code and Runneth. Use when someone uploads raw talking-head footage and asks to find the takes, pick the best ones, make a cut list or rough cut it. Triggers: "process my a-roll", "find my takes", "pick the best takes", "rough cut this", "cut list", "edit my talking head", "which take is best

alyshadotmd/video-editing

Turn raw b-roll footage into a tagged, searchable library of short clips. Watch each b-roll video once, tag every useful moment with timestamps, pick the moments worth keeping (the editor picks, or the AI picks on its own if the editor says so), cut only those picks with a 1-second buffer, and learn the editor's taste from their reasons. Use when someone uploads b-roll, asks to tag, bank or label b-roll, or asks to find a kind of shot ("find me unboxing b-roll"). Triggers: "process my b-roll", "tag this b-roll", "bank this b-roll", "b-roll library", "find me unboxing b-roll", "do we have b-roll of", "label my b-roll

alyshadotmd/video-editing

Plan and place b-roll on a video from its first cut: go through the cut line by line, decide which lines get b-roll and what kind of shot, pull the best matching moments from a tagged b-roll library, list what still needs filming, and place the b-roll once the editor approves. Use after a first cut exists and someone wants b-roll added, asks what b-roll a video needs, or asks for a b-roll shot list. Triggers: "add b-roll", "what b-roll do I need", "b-roll plan", "place the b-roll", "b-roll for this cut", "what should I film for b-roll", "shot list for this edit

関連スキル