Communitygithub.com

learnaiwithhugo/video-editor-skills

複数の生クリップから仕上げのInstagram縦型リールを、クリエイター自身のスタイルで編集します。スタイルフォルダを読み込み、最後のOKテイクを選び、ストーリーボードを表示して承認を得てからフル編集を実行し、フィードバックをスタイルに反映します。

video-editor-skills とは?

このスキルは、クリエイターの顔出しトーククリップを、インスタグラムリール向けの完成した1080x1920の動画に編集するためのAIアシスタントです。最大の特徴は、クリエイター自身のスタイルを学習し、編集ごとに改善するフィードバックループを備えている点です。対応プラットフォームは、Claude CodeやCodexなどのローカル環境で動作するAIエージェントであり、ffmpeg、Python、Node.js、Playwrightなどの無料ツールのみを使用します。ユーザーは非技術者を想定しており、短い平易なメッセージで段階的に指示され、すべての技術作業をエージェントが代行します。ワークフローは8つのステップで構成され、まずセットアップ確認とスタイルフォルダの解決、クリップの取り込みと最適なテイクの選択、カット編集と文字起こし、ストーリーボードの作成とユーザー承認、任意でキービートのバリエーション生成、本編集の構築(HyperFramesを使用)、レンダリングと品質確認、最後にフィードバックをSTYLE.mdに反映します。編集のたびにユーザーの修正指示がルールとして蓄積され、次回の編集から自動的に考慮されるため、スタイルが徐々に洗練されていきます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/learnaiwithhugo/video-editor-skills/tree/HEAD/skills/edit-my-video

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

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

ドキュメント

/edit-my-video

生クリップを入力として、完成した1080x1920のリールをユーザーのスタイルで出力します。ユーザーは通常、技術者ではありません。短い平易なメッセージで、一度に一つのステップを伝え、すべての技術作業を自分で行い、決してコードに触れさせないでください。AskUserQuestionポップアップは使用せず(チャットで質問してください)。どこにも投稿したりアップロードしたりしないでください。ユーザーに書いたり画面に表示したりするものには、ダッシュ(—)を使用しないでください。

SK = このスキルのフォルダ。STYLE = スタイルフォルダ(デフォルト:SK/config.jsonに保存されたもの、なければ/build-my-styleが作成したもの、なければ~/edit-style。どのフォルダにもSTYLE.mdがない場合は、場所を尋ねるか、先に/build-my-styleを提案してください)。WORK = 動画ごとのフォルダで、<edits folder>/<slug>/(slugは短いケバブケース。例:github-repos)。すべてのパスは引用符で囲んでください。パスにスペースが含まれています。スクリプトはpython3 "SK/scripts/<name>.py" ...として実行します。各スクリプトは引数なしで実行すると使用方法を表示します。

セッションの最初の編集前に以下を読んでください:references/creative-rules.md(最も重要なファイル:デザイン方法と厳しいテイストチェックについて)およびreferences/engine.md(レンダリングのHyperFramesパターン)。ステップ4の前にreferences/storyboard.mdを読んでください。

最も重要なルール

STYLE.mdはガードレールであって、メニューではありません。ルック(色、フォント、動きの感触、サウンドレベル、セーフゾーン、却下されたもの)を固定します。作成するものを制限するものではありません。すべてのラインについて、このアイデアを最もよく説明するビジュアルは何かを問い、ルックの範囲内で新しくデザインしてください。最初のテスト編集では、スタイルページからテンプレートをコピーしたため(「3つのことしかできない」というチェックリスト)、クリエイターは「非常に制限されている」「まったく即興性がない」と評価しました。レイアウトは変化をつけてください。同じレイアウトを2回続けて使用しないでください。ビジュアルは大きく表示してください。

ステップ(どのステップにいるかを短い1行で伝えてください:「ステップ3/8:最高のテイクを選んでいます」)

1. セットアップ確認(数秒)

python3 "SK/scripts/setup.py" --check。不足しているものを短いリストで表示します:そのアイテム、用途、修正方法(1行で)。インストールが必要なもの(ffmpeg、Node、Python、Chrome)については、ターミナルアプリ(Command + Spaceでターミナルと入力)にその行を貼り付け、「完了」と言うよう伝えてください。--install(faster-whisper、playwright、HyperFrames、スピーチモデル)は、ユーザーが「無料の編集ツールをインストールしてもいいですか?約5分、一度だけです」と承諾した場合のみ実行してください。その後、python3 "SK/scripts/style.py" check "STYLE"(スタイルフォルダが完全かどうか)とpython3 "SK/scripts/style.py" serve "STYLE"(まだ実行されていない場合、ページサーバーを起動します。URLをメモしてください)。初回のみ:編集結果をどこに保存するか尋ねてください(スタイルフォルダの隣のフォルダ、edits/を提案)。そして保存します:setup.py --save --style "STYLE" --edits "<folder>"。

2. 取り込み(1メッセージ)

まだ持っていないものだけを尋ねてください:

  • 生クリップフォルダ(多くの場合、何度も繰り返されたテイクが含まれています。各ラインの最後のクリーンテイクを使用します)
  • 動画の内容、およびスクリプトやメモがあればそれら
  • コールトゥアクション用のコメントキーワード
  • 目標の長さ(25~40秒を提案)
  • 音楽:ユーザーがトラックを指定した場合のみ。それ以外はなし(クリエイター自身が音楽を選びます)。 次に、mkdir WORKを実行し、python3 "SK/scripts/style.py" resolve "STYLE" --out "WORK/style.json"を実行します。STYLE.mdを全文読んでください:特にFeedback from edits、Rejected、Keptを最新のものから順に。これらは、過去の編集に対するクリエイター自身の修正であり、他のすべてに優先します。

3. テイク、カット、文字起こし(映像5分あたり約1分)

  1. takes.py "WORK" "<clip>" ... --prompt "<彼らが言う名前>" はすべての試行をリストし、リテイクをマークします。WORK/takes/*.txtを読んでください。各ラインの最後の完全なクリーンテイクを選びます(つまずきはスキップ、悪いスタートはinを移動してトリミング)。WORK/edl.jsonを書き込みます(フォーマットはcut.pyの使用方法にあります)。
  2. cut.py "WORK" --prompt "<名前>":フレーム単位のセグメントをWORK/hf/assets/v/に、音声は-16 LUFS、エッジはタイトに、words.json / words.txtにリール時間を出力します。progress/01-cut-takes-in-order.jpgを確認してください。
  3. words.txtを、ユーザーが言いたかった内容と照合してください。Whisperは名前を聞き間違えることがあります。captions.py fix "WORK" "49=ArtCraft"でwords.jsonを修正してください(実際に言われた内容に一致させるためにのみ使用)。 各ビートを1行で、カットの長さとともにユーザーに伝えてください。

4. 先にストーリーボード(ユーザーが承認してからレンダリング)

references/storyboard.mdに従ってください:WORK/storyboard.jsonを書き込みます(ビートごとに:言葉、時間、レイアウト、ビジュアル、アニメーション、キャプション、サウンド)、実際のフッテージ上に計画したビジュアルを合成した静止画をビートごとに1枚作成します(実際のスクリーンショット、実際のアプリアイコン、JPG)、主要な3〜4ビート(フック、メインアイデア、決めの部分、CTA)では2〜3の選択肢(A/B/C)を用意します。その後、storyboard.py page "WORK" --style "STYLE"を実行し、http://localhost:<port>/storyboards/<slug>/を開きます(open <url>)。次のように伝えてください:「ストーリーボードが開きました。選択肢のあるビートはA、B、Cを選んでください。各ビートを承認または変更し、任意の場所にメモを追加してください。送信を押したら、完了と教えてください。」**「完了」を待ちます。**その後、storyboard.py review "WORK" --style "STYLE"が選択とメモをstoryboard.jsonに反映します。ユーザーが変更したビートのみを再構築し、すべてが承認されるまで再度表示します。

5. バリエーション(オプション。一度だけ提案します:「本編を作る前に、フック部分の動くバージョンを2~3種類見てみますか?」)

2〜3のキーモーメントについて:ステップ6で編集を十分に作成し、hf/index.htmlをhf/index-<beat>-B.htmlにコピーしてそのビートを再デザインし、render.py slice "WORK" <beat>-A <start> <end>とrender.py slice "WORK" <beat>-B <start> <end> --index "WORK/hf/index-<beat>-B.html"を実行します(各2〜4秒、レンダリング約6秒)。storyboard.jsonのそれらの代替案に"video": "variations/<name>.mp4"を追加し、storyboard.py page "WORK" --style "STYLE" --variationsを実行、.../storyboards/<slug>/variations.htmlを開き、完了を待ち、storyboard.py review ... --variationsを実行し、勝者をindex.htmlに残します。

6. 編集の構築(クリエイティブな部分)

  1. render.py new "WORK" --title "<video> v1":スタイルの色、フォント、キャプションシャドウ、モーションキット(engine/kit.js)を使用した固定のHyperFramesプロジェクトをWORK/hf/に作成します。
  2. 実際のものを収集します:shoot.py web <url> <png> --mobile(ページが完全に読み込まれた後)、shoot.py icon "<App>" <png>(実際のmacOSアプリアイコン)、公式ロゴはそれ以外の場合はツールのサイトから取得します。
  3. 承認されたストーリーボードに基づいてWORK/hf/index.htmlをビートごとに記述します(パターンとキットAPIはreferences/engine.mdにあります)、すべてのビジュアルをwords.txt内の該当する単語にタイミングを合わせます。各ビートは新しくデザインし、すべてのビジュアルシーンにdata-visual="<what it is>"とdata-layout="face|split|full"を設定します。
  4. キャプション:captions.py make "WORK" --skip <a-b>(画面上のテキストがすでに単語を言っている場合はスキップ)、その後WORK/caps.jsonを手動で編集します:自然に読めるようにチャンク化(2〜3単語)、口の上に重ならないようにtopを設定、ビートごとにcls、アクセントとなる単語にhtmlを設定。captions.py inject "WORK"を実行します。
  5. サウンド:WORK/cues.jsonを記述します(すべてのカット、パネル、アイコン、ライン、ヒーローワードにそれぞれのレベルでキューを設定、ダブルヒットなし)、ユーザーが指定した場合のみ音楽を追加し、mix.py "WORK"を実行します(ミックスを-16 LUFSに調整)。
  6. render.py check "WORK"(すべてのエラーを修正)、render.py snap "WORK" <times> --name <beat>を実行して変更したフレームを確認します。各ステップで番号付きの画像をWORK/progress/に保存します(スクリプトがほとんど行います)。

7. 表示する前に自分でレンダリングとレビュー

render.py render "WORK" --out "WORK/<Video name> - v1.mp4"を実行し、qa.py "WORK" "<そのmp4>"を実行します。すべてのFAILを修正します。次に、実際にリストされたすべての画像(2fpsのコンタクトシートと、セーフゾーンが描かれたフルサイズのクローズアップ)を確認します:テキストの混雑、ビジュアルが小さいまたは空スペースとともに高い位置にある、キャプションが口の上にある、同じレイアウトが2回続く、飛び出すもの、黒いもの、数字/名前が言葉と一致しない。自動チェックでは見逃されるものを目で確認します(このスキルの最初のテストでは、濁ったヒーローワードと空のハーフカードがある状態でチェックを通過しました)。1回の修正パス、再レンダリング、qa.pyの再実行、その後open "<mp4>"を実行します。ファイルの場所、長さ、ビートごとの内容、推測したことを数行でユーザーに伝えてください。

8. フィードバックループ(ノートがあるたびに)

修正し、再レンダリング(再レンダリング約20秒)、qa.pyを再実行、開きます。さらに、次回の編集ですでに反映されるように、そのノートをスタイルに書き込みます: python3 "SK/scripts/feedback.py" "STYLE" --video <slug> --rule "<これからはこれにしてください>"(または--rejected "<二度としない>"、--kept "<これが良かった>")。ユーザーの言葉を使い、フラグごとに1つのノートを。好きだったものは嫌いだったものと同じくらい重要です。STYLE.mdを先にバックアップし、ログに記録します。追加した内容を1行で伝えてください。ノートがロックされた値(輝き、ズームカーブ、キャプションシャドウ)に関するものである場合は、その値はスタイルページのラボにあることを伝え、ロックを黙って上書きするのではなく、開くことを提案してください。

所要時間(MシリーズMac、約8分の映像から15秒の完成リール)

テイク選択:映像5分あたり約1分 · カット+文字起こし:約15秒 · ストーリーボード静止画:約2分 · バリエーションスライス:各約6秒 · レンダリング:約20秒 · QA:約30秒。

Individual skills in this repo

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

learnaiwithhugo/video-editor-skills

Style Studio. Walks a creator (usually non-technical) through building their OWN video editing style on an interactive page in their browser - their colours and font, reference reels they love broken down frame by frame, then rounds of real animated options (captions, accent and intro text, zooms, diagrams, logos, split screen, tool talk, sound effects) they mark Keep / Maybe / Drop, plus Shine, Zoom and Shadow labs with Lock buttons. Ends with a STYLE.md guide and locked settings that /edit-my-video uses. Use whenever someone says "/build-my-style", "build my style", "make my editing style", "style studio", "I want my own edit style", "copy the editing style of these reels", "make my brand style for videos", sends reels they want their edits to look like, or comes back to carry on their style (rounds, labs, sounds). Also the STYLE keyword giveaway.

learnaiwithhugo/video-editor-skills

Edit a raw talking-head clip into a finished Instagram reel in Kallaway's editing style (black dotted stage with one live diagram per idea, rounded face card with the head popping out over its edge, one-word white captions, red as the only accent, hard cuts on word onsets, a real sound effect on every animation, optional quiet ducked background music). Free local tools only (ffmpeg, Whisper, HyperFrames). Use when someone says "/kallaway-edit", "edit this like Kallaway", "make this reel in the Kallaway style", or drops raw clips and asks for a Kallaway-style edit.

learnaiwithhugo/video-editor-skills

Create a new editing-style skill from 2-3 reference reels of one creator or style (e.g. "make me a skill that edits like @creator"). Downloads the reels, measures them frame by frame, has one agent break down each reel, merges the breakdowns into a style guide plus a measurable style spec, clones the proven editing engine into a new /<style>-edit skill, then locks the style with a match score, pixel font matching, a golden recreation test, one critic round and the user's ear check. Free local tools only. Use when someone says "/new-edit-style", "make an edit style skill", "copy this creator's editing style", "I want to edit like X", or drops several reels from one creator and asks for their style.

関連スキル