Communitygithub.com

learnaiwithhugo/video-editor-skills

生のトーキングヘッドクリップを、Kallaway スタイルの完成されたInstagramリールに編集します(黒い点線のステージ、各アイデアに1つのライブダイアグラム、頭が端から飛び出る丸みを帯びたフェイスカード、1語の白いキャプション、赤のみのアクセント、単語の開始でハードカット、すべてのアニメーションにリアルな効果音、オプションで静かなBGM)。無料のローカルツール(ffmpeg、Whisper、HyperFrames)のみ使用。

video-editor-skills とは?

このスキルは、Kallaway スタイルの Instagram リールを自動生成する Claude Code 用エディターです。生のトーキングヘッドクリップを入力として、黒い点線のステージ、各アイデアに対応するライブダイアグラム、頭が端から飛び出るフェイスカード、1語の白いキャプション、赤のみのアクセント、単語の開始に合わせたハードカット、すべてのアニメーションにリアルな効果音、オプションのBGMといった特徴的な編集スタイルで、1080x1920、30fps、-14 LUFS の完成済みリールを出力します。完全にオフライン・ローカルで動作し、ffmpeg、Node.js、Python、HyperFrames、faster-whisper などの無料ツールのみを使用するため、有料APIやサードパーティサービスへの依存はありません。ユーザーはクリップを raw/ フォルダにドロップし、「/kallaway-edit」と入力するだけで、セットアップから編集、書き出しまでを自動化します。このスキルは特に非技術ユーザー向けに設計されており、平易な英語でステップバイステップのガイダンスを提供し、コードに触れさせることはありません。

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

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

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

ドキュメント

/kallaway-edit

生クリップを、完成された縦型リール(1080x1920、30 fps、-14 LUFS)で、Kallaway スタイルに編集します。 すべてユーザーのMac上で無料ツールのみで動作します。ユーザーは通常、技術的ではありません。 平易な英語で、1ステップにつき短いメッセージを送り、コードに触れさせることは絶対にしないでください。

SK = ${CLAUDE_SKILL_DIR}、このスキルのフォルダ(絶対に書き込まないでください。アップデートで置き換わります)。 DATA = $HOME/.claude-video-editor、エディター専用フォルダ。アップデートをまたいで保持されます。 ユーザー設定(DATA/config.json)、エディターのPython(DATA/venv)、効果音(DATA/sfx)。 ROOT = プロジェクトフォルダ(raw/、exports/ があります)。DATA/config.json の projectRoot。 セットアップウィザード(ステップ0)で保存されます。WORK = ROOT/work/<slug>/(リールごとに1フォルダ。slugは短いkebab-case、例:opus-tips)。すべてのパスは引用符で囲んでください。スペースを含むことがよくあります。 すべてのスクリプトは、以下の2つのいずれかを介して、正確に記述されたとおりに実行し、ユーザーの設定を見つけられるようにします。 PY = VIDEO_EDITOR_DATA="$HOME/.claude-video-editor" "$HOME/.claude-video-editor/venv/bin/python" -I(セットアップ後) SETUP = VIDEO_EDITOR_DATA="$HOME/.claude-video-editor" python3 -I "${CLAUDE_SKILL_DIR}/scripts/setup.py" ビルドする前にこれらを読んでください:references/style-rules.md(見た目、数値)、references/graphics-recipes.md(話されたアイデアが図になる方法)、references/gotchas.md。

厳格なルール

  • 無料ツールのみ。 ffmpeg、Node 22+、Python、HyperFrames(npx hyperframes@<ピン留め>)、faster-whisper、 HyperFramesのローカル背景除去、バンドルされているOFLフォント、HyperFrames media-useの録音済み効果音 (セットアップ時に取得、バンドルはされません:Pixabayライセンス)、Openverseまたはユーザー自身のトラックからのCC0/CC BY音楽。 有料API、HeyGenサインイン、音楽生成、著作権のあるものは一切禁止。
  • ユーザーが指定できるオプション: music: on|off(デフォルトはセットアップ時に保存された選択)、music: <ユーザーのトラックへのパス>、setup(セットアップウィザードを再実行)。
  • npx hyperframes init または npx hyperframes skills は絶対に実行しないでください(~/.claude/skills にスキルをインストールします)。 HyperFramesの呼び出しはすべて:HYPERFRAMES_SKIP_SKILLS=1 HYPERFRAMES_NO_TELEMETRY=1。 常に snapshot ... --describe false としてください(そうしないとフレームがGeminiにアップロードされます)。
  • ユーザーの元の映像には絶対に触れないでください。 raw/ のコピーから作業します。作業ファイルはWORKに置き、 完成したリールのみを exports/ に置きます。ユーザーのファイルを決して削除しないでください。
  • キャプションは実際に話された内容を表示し、正しく綴ります(「Claude」、「Opus 5.5」)。数字は数字で表記します。
  • グラフィックは決して顔を覆わないでください。テキストはy 1470より下、またはy 1155より下の右端100ピクセル内に配置しないでください。
  • 何もアニメーションアウトしません。赤 #C41514 が唯一のアクセントカラーです。タイトルとセクションごとに1つのセリフ斜体単語を使用します。
  • 作業内容を表示する:各ステップで、連番のPNGを WORK/progress/ にドロップします(01-takes-picked.png、...)。
  • 最終レンダリングは、完了と言う前に、フルサイズで qa.py を使用してチェックしてください。何が一致していないか正直に伝えてください。

ワークフロー

0. セットアップウィザード(初回のみ、約5〜10分)

DATA/config.json を読み取ります。"setupComplete": true で projectRoot フォルダが存在する場合は、 SETUP --check を実行します(数秒、何もインストールしません)。READYの場合はステップ1に進み、NOT READYの場合は 指定されたものを修正します(新しいツールバージョンが必要なアップデート後は、単に SETUP を再度実行するだけです。 ユーザーのフォルダと選択は保持されます)。それ以外の場合(初回実行、またはユーザーが「/kallaway-edit setup」と言った場合)は、 ウィザードを実行します。どのステップにいるかを1行で伝えてください(「5ステップ中ステップ2:ツールを確認中」)。

  1. ようこそ。 「Kallaway エディターへようこそ!セットアップを開始します。これには約5〜10分かかり、一度だけ行われます。」
  2. Claude Code 内ですか? これは Claude Code(ターミナルアプリ、ClaudeデスクトップアプリのCodeタブ、またはIDE拡張機能)が必要です。 ローカルフォルダで開かれている必要があります。実際の動画ファイルを編集するためです。シェルコマンドを実行してローカルファイルを 読み取れる場合は、その状態です。できない場合(通常のチャット):「Claudeデスクトップアプリを開き、Codeをクリックし、 Localを選択し、フォルダを選択(または「AI video editor」というフォルダを作成)してから、もう一度 /kallaway-edit と入力してください。」 と言って停止します。
  3. ツールチェック。 SETUP --check。結果を短い表で表示します:ツール、見つかったか(はい/いいえ)、用途(ffmpegはカットとサウンドミックス、 Node.jsはHyperFramesを実行、HyperFramesは編集を動画に変換、faster-whisperはすべての単語を聞き取る、Pythonはヘルパースクリプトを実行、 yt-dlpはここではオプションで、リンクからリールをダウンロードし、/new-edit-style に必要)。ユーザーが自分でインストールする必要があるもの (ffmpeg、Node.js、Python)については、修正に必要な名前を1行で示し、どこに貼り付けるかを伝えてください: ターミナルアプリ(Mac:Command + Space を押して「Terminal」と入力)。Macのパスワードを求められた場合は、ユーザー自身がこのチャットではなく ターミナルに入力します。完了したと言うまで待ち、その後再度チェックします。「フルセットアップでインストールされる」とマークされた項目は、 ユーザーからの操作は必要ありません。
  4. ファイルの保存場所。 1つのメッセージで、それぞれに推奨される回答を添えて質問します。
    • 「動画はどこに作成しますか?」現在のフォルダが空か、すでにビデオフォルダである場合は現在のフォルダ(フルパスを表示)を提案し、 そうでない場合は ~/Desktop/AI video editor を提案します。
    • 「映像は通常どこに保存されますか?」~/Downloads(AirDropで電話のクリップが置かれる場所)を提案するか、 「自分で生クリップをrawフォルダにドロップします」と提案します。
    • 「あなたの声の下にBGM:オンまたはオフ?」オンを提案します(動画ごとに変更できます)。 その後、フォルダを提案します:「プロジェクトフォルダをセットアップしますか?raw/(あなたのクリップ)、 references/(好きなスタイルの動画)、exports/(完成したリール)、work/(私の作業ファイル)、 archive/(古いバージョン)を作成します。既存のものはそのまま残ります。」「はい」の場合: SETUP --project "<フォルダ>" --clips-from "<フォルダまたは省略>" --music on|off。 不足しているフォルダのみを作成し、回答を DATA/config.json に保存します。
  5. インストール。 「無料の編集ツールを今インストールしています(1回限り、約5分:文字起こしエンジン、 動画レンダラー、効果音、音声モデル)。」SETUP をバックグラウンドで実行し、その進行状況を平易な言葉で中継します。 インストールはDATAのみに行われます(グローバルには何も、スキルフォルダにも何もインストールされないため、 アップデートで元に戻ることはありません)。完了すると、セットアップ完了とマークされます。
  6. 完了。 references/filming-guide.md から4つの撮影のヒント(カメラ固定、ワイドショット、暗い部屋で顔に温かい光、 ラインが決まるまで繰り返す)を伝え、その後:「準備完了です。クリップを raw/ にドロップするか(または <clipsFrom> 内のどのファイルか教えてください)、 /kallaway-edit と入力してください。」すでにクリップが提供されている場合は、そのままステップ1に進みます。

毎回の取り込み:クリップはユーザーが指定したファイルです。それ以外の場合は、clipsFrom 内の最新の動画ファイルを 提案します。それらを ROOT/raw/ にコピーします(オリジナルは決して移動または変更しません)。 音楽は、ユーザーが特に指定しない限り、保存された music の選択に従います。

1. すべてのテイクを見つける(映像1分あたり約1分)

PY "SK/scripts/takes.py" "WORK" "ROOT/raw/clip1.MOV" "ROOT/raw/clip2.MOV"(より高速で精度の低いパスのために --fast を追加)。 WORK/takes/*.takes.txt を読み取ります:各試行とその時間範囲、リテイクのマーク。可能であれば、クリップ内でスクリプトを 見つけるか、ユーザーに尋ねます。「あなたのクリップを聞いて、各行の最良のテイクを見つけています。」と言います。

2. テイクを選び、カットする(約1分)

WORK/edl.json を書きます(形式:SK/template/examples/edl.json):各行に1セグメント、スクリプト順、通常は最後の完全で クリーンなテイク。{"clip","chunk"} または {"clip","start","end"}(チャンク内のつまずきをスキップする場合。 単語の時間は transcribe.py --range a-b --model medium.en --no-vad で確認)。目標は20〜30秒。少しオーバーしても(〜38秒まで)、 フックが約束したことを破るよりはましです。CTA(Call To Action)は、要求されない限りスキップします。 その後、PY "SK/scripts/assemble.py" "WORK":cut.mp4(CFR、音声にタイト、圧縮済み、-14 LUFS)、segments.json、words.json、 words.txt。words.txt を読み取ります:すべての行が意図された内容を言っている必要があります。 PY "SK/scripts/qa.py" "WORK" --takes で progress/01-takes-picked.png を書き込みます。 「これがカットです:<行>。 秒。」と言います。 グラフィックを構築する前にカットをロックします。 後で再カットする場合:PY "SK/scripts/reindex.py" "WORK" "WORK/.prev/words.json" はすべてのグラフィックをその単語に保ちます。

3. 話者を切り抜く(約3〜4分、バックグラウンドで実行)

PY "SK/scripts/cutout.py" "WORK":cutout.webm(フレームマッチ、エッジクリーン)+ headtrack.json。 実行中に、編集を計画します(ステップ4)。次に、黒の上に合成された1フレームを見てハローがないか確認し、 progress/02-cutout-check.png として保存します。

3b. 音楽(music: off でない場合。約2〜6分、バックグラウンドで実行)

PY "SK/scripts/music.py" "WORK"(または --file "<曲>"、または --off)。Openverseから無料のCC0/CC BYインストゥルメンタルを 選び、ボーカルを拒否し、WORK/music-credit.txt を書き込みます。選んだ曲をユーザーに伝え、CC BYの場合はクレジット行を キャプションに入れることを伝えます。

4. 編集を1行ごとに計画する

WORK/plan.json を書きます(形式:SK/template/examples/plan.json):

  • shots:各レイアウトが始まる場所(0、"line:N" = EDL行Nの最初のフレーム、"w:N" = 単語Nの開始)。 表示できるものはステージ、接続的なものや個人的な行、および見返り(16〜29%の実行時間)はフル。ステージシーン間もハードカット。 最初のカットは約3.5秒まで。
  • scenes:どのグラフィックがいつ再生されるか(id、from、to、オプションの src + vars で1つのシーンファイルを 複数回マウントする、例:繰り返し番号付きの「ホーム」グラフィック)。シーンはフルショットの下で実行され、戻ってくることができます (再訪は0.6秒で1つの新しいものを追加します)。
  • punch:スナップパンチイン(x1.19、ライザーがそれに入る)を締めくくりのフレーズに、最大1つまたは2つ。
  • captions:fix(単語インデックス -> 正しいテキスト)、emphasis(セクションごとに1つのセリフ単語)、 keep_together(単語インデックスのペア、例:「Number」+「1,」)。 graphics-recipes.md を使用します:すべてのアイデアに、図形、タイトル(太字+1つのセリフアクセント、赤いボックスに主張)、 およびその単語のビートがあり、約1秒ごとに新しい何かがあります。計画を1ショットあたり1行で伝えます。

5. シーンを構築する(約15〜25分)

各シーンは WORK/scenes/<name>.html で、SK/template/scene-starter.html または SK/template/examples/ 内の最も近いファイル (6つの実際のシーン)から開始します。キット(template/kit/kw.css、kw.js)は、ステージの外観とモーションヘルパー (KW.title、blurIn、pill、pulse、draw、cam、type、strike、count、scramble、at(i) = 単語iの開始)を提供します。 すべてのアニメーションは、シーンの <!--KW:SFX [...] --> コメントにサウンドキューを取得します。 例:{"t": "w:24-0.02", "s": "whoosh"}。references/sound-map.md に従います (カメラ移動 = whoosh、ピル = pop、スナップ/ティック = click、タイプライターテキスト = typing、大きな瞬間 = impact、見返り = sparkle)。 Agentツールがあり、シーンが約3つを超える場合は、最大2つの並列エージェントに次の情報とともにシーンを渡します:シーンの正確な単語リストと時間、 アイデア、このスキルのリファレンス、および build.py ... --project WORK/project-<letter> で衝突しないようにします。 PY "SK/scripts/build.py" "WORK" は WORK/project/ を書き込みます(ルート:点線のステージ、フェイスカード、ポップアウト レイヤー、キャプショントラック、シーンホスト、SFXレーン、すべて生成)。その後、WORK/project 内で: npx -y hyperframes@<pin> lint(0エラー)および snapshot --at <時間> --no-end --describe false -o snaps/x、PNGを読み取り、修正し、繰り返します。各シーンのシートを progress/03-scene-.png として保存します。

6. レンダリング(約1分)とチェック(約1分)

PY "SK/scripts/render.py" "WORK" --name draft(高速)、その後 PY "SK/scripts/qa.py" "WORK" "WORK/renders/draft.mp4" を実行し、qa/cuts.png(すべてのカットの前後のフレーム)、 qa/beats.png(すべてのキャプションチャンク)、qa/report.txt(カットと音声のギャップ、ラウドネス)を見ます。 チェック:ポップアウトにハローやカット後のドリフトがないこと。カードに頭と肩の両方が表示されていること(顔のトリミングは不可)。 キャプションやグラフィックが顔にかかっていないこと。キャプションが単語と一致していること。すべてのラインカットが音声の0〜80ミリ秒前に 着地していること。Instagramの禁止ゾーンに何もないこと。その後 PY "SK/scripts/audiomap.py" "WORK" --out progress/NN-audio-map.png:音楽は音声より18〜24 dB下、効果音はそのローカルピークより 約10〜16 dB下、ダブルヒットなし。フラグが立てられたキューの "db": -3 を修正します。 スタイルマッチ: PY "SK/scripts/match/fingerprint.py" score "SK/references/style-spec.json" "WORK/renders/draft.mp4" --out "WORK/progress/NN-style-match.md" は、3つのKallawayリールが測定されたのと同じ方法で編集を測定し (カット率、1秒あたりの視覚的変化、レイアウトシェア、カードとキャプションの位置、キャプションサイズとペース、アクセントカラーシェア、 ラウドネス、ステレオ効果音)、各FAILに対して何を修正すべきかを示します。編集で制御できるものを修正します。映像が原因のFAIL(クローズアップ自撮りなど)は、 撮影メモとしてユーザーに伝えます。WORK/progress/ 内のレポートが記録です(SK/references/lock-log.md にはスタイルの測定履歴が 保持されています。そのままにしておいてください)。 修正して再レンダリングします(リビルド+再レンダリングには約1.5分かかります)。

7. 納品

PY "SK/scripts/render.py" "WORK" --final -> exports/<slug>-kallaway-vN.mp4(1080x1920)と -720p.mp4 の電話用コピー。qa.py をエクスポートに対して実行します。ユーザーが自分のKallawayリールを ROOT/references/ に保存している場合(このスキルには同梱されていません)、サイドバイサイド(--ref <そのリール> --ref-at <t> --at <t>)を 追加し、progress/NN-side-by-side.png として保存します。 次の場所を伝えます:ファイルの場所、長さ、シーンごとの内容、そしてまだKallawayのように見えない点(具体的かつ正直に)。

タイミング(M4 Pro Mac上、約8分の生映像から35秒のリール)

セットアップ5分(初回)・テイク7分(ミディアムモデル、--fast 約3)・カット1分・カットアウト3.5分・ 音楽2〜6分(バックグラウンド、Openverse/Freesoundは遅い場合があります)・シーン15〜25分・ ドラフトレンダリング50秒・ファイナルレンダリング70秒・編集後の再レンダリング約1.5分。

撮影

撮影しようとしている人には、references/filming-guide.md を渡してください:固定ワイドショット(水平4Kが最適)、 暗い部屋に温かいキーライト、暗いトップス、頭の後ろに無地の背景、ラインが決まるまで繰り返します。

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 raw talking-head clips into a finished vertical Instagram reel in the creator's OWN style, read from a style folder made by build-my-style (STYLE.md, locked shine/zoom/shadow, picked sound effects). Picks the last clean take of every line, shows a storyboard page first (a still per beat, A/B/C options on the key beats, Approve/Change and notes), optionally renders short variations of key moments to pick from, then builds the full edit in HyperFrames, reviews its own render, and turns every note the user gives into a dated rule in their STYLE.md so the next edit is better. Free local tools only. Use whenever someone says "/edit-my-video", "edit my video", "edit these clips", "make this into a reel in my style", "storyboard this edit", drops a folder of raw clips and wants an edit, or gives notes on an edit this skill made ("I don't like the zoom", "make the logos bigger").

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.

関連スキル