Communitygithub.com

F0rger123/claude-video-editing-god-mode

トークヘッド動画から無音・間を除去するパイプラインのエージェント1。発話レベルの文字起こしを使用して、沈黙やデッドエアを除去し、編集リスト(EDL)と再調整された文字起こしを生成します。

claude-video-editing-god-mode とは?

このスキルは、動画編集パイプラインにおける最初のエージェント(エージェント1)であり、トークヘッド形式の生録画から無音や間を自動的に除去します。発話レベルの文字起こしデータを入力として、最初の単語前や最後の単語後のデッドエア、および指定した閾値以上の単語間のポーズを自然な呼吸程度に短縮します。この処理は決定論的で文字起こしに基づいており、発話自体は一切変更しません(言い間違いや繰り返しはカットミステークスエージェントが担当)。出力として、保持・削除範囲を示すEDL(Edit Decision List)、再調整された文字起こしファイル、およびオプションでffmpegによるカット済み動画を生成します。これにより、パイプラインの後続エージェントやビート同期バリデータがシームレスに動作します。主にClaude CodeやCursorなどの開発者向けAIエージェントツールと連携し、コマンドライン操作で利用できます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/F0rger123/claude-video-editing-god-mode/tree/HEAD/.agents/skills/cut-silences

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

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

ドキュメント

無音カット(パイプラインエージェント1)

自動編集の最初のステップ。生録画とその発話レベルの文字起こしを入力として、無音のみを除去します:最初の単語前と最後の単語後のデッドエア、および閾値より長い単語間のポーズ(自然な呼吸程度に短縮され、完全なゼロギャップにはなりません)。発話内容はそのまま保持され、言い間違い、リテイク、どもりはカットミステークスエージェント(エージェント2)の担当です。

このエージェントは決定論的で文字起こし駆動のため、その出力(*.silence-transcript.json)は後続のエージェントやビート同期バリデータにそのまま利用できます。

使用するタイミング

  • 「無音をカット」「間をトリミング」「デッドエアを除去」「ペースを整える」
  • マスター編集ワークフローの最初のステージとして、文字起こし直後に使用

前提条件

発話レベルの文字起こしJSON。ElevenLabs Scribe形式({ words: [{ text, start, end, type }], audio_duration_secs })または汎用形式({ words: [{ text, start, end }] })のいずれか。ワークスペースの文字起こしスクリプトで生成します:

node scripts/transcribe-elevenlabs.mjs path/to/raw.mp4    # -> path/to/raw.json

使用方法

# 1) 計画のみ — カットを計算し、EDLと再調整された文字起こしを出力(動画は処理しない)
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --out-dir video-projects/<slug>/assets

# 2) 動画あり — ffmpegコマンドも出力(まだレンダリングは実行しない)
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --video video-projects/<slug>/assets/raw.mp4 --out-dir video-projects/<slug>/assets

# 3) カット動画をレンダリング(ローカルのffmpeg、再エンコード、音声/映像同期保持)
#    --apply を追加してffmpegを実際に実行
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --video video-projects/<slug>/assets/raw.mp4 --apply \
  --output video-projects/<slug>/assets/edited-silenced.mp4

オプション

フラグデフォルト意味
--video <path>—ソース動画のパス。ffmpegコマンド/レンダリングを有効化
--out-dir <dir>文字起こしファイルと同じ場所出力先ディレクトリ
--output <path><video-stem>.silenced.mp4カット動画の出力パス
--gap <s>0.55トリミング対象とみなす最小のポーズ時間(秒)
--head-pad <s>0.22最初の単語前に保持する無音の長さ(秒)
--tail-pad <s>0.34最後の単語後に保持する無音の長さ(秒)
--applyオフffmpegを実際に実行してカット動画をレンダリング

判定ロジック(無音ルール)

  • --gap(0.55秒)未満のポーズはそのまま — 自然な発話リズムを維持。
  • トリミングされたポーズの場合、自然な呼吸が保持され、文脈に応じて調整:長いポーズ(2秒以上)では0.24秒、文末(. ! ?)後では0.20秒、それ以外では0.14秒。保持する呼吸は、前のフレーズの終わり寄りに配置されます。
  • 先頭/末尾のデッドエアは--head-pad / --tail-padにトリミング。
  • 削除範囲はマージされ、保持範囲はその補集合となります。カットはffmpegのtrim/atrim + concatフィルターグラフを使用してレンダリングされ(*.silence-filter.txtスクリプトに書き出され、-/filter_complexで渡されます)、映像と音声は同期したまま処理されます。

出力(--out-dirに書き出し)

ファイル目的
<stem>.silence-edl.json保持/削除範囲、時間、パラメータ — 編集リスト
<stem>.silence-transcript.json編集タイムラインに再調整された発話データ(エージェント2+ビートに渡す)
<stem>.silence-decisions.md人間が読める要約+トリミングされた最大のポーズ
<stem>.silence-filter.txtffmpegフィルターグラフ(--video指定時のみ)
<video-stem>.silenced.mp4カット動画(--apply指定時のみ)

標準出力に出力されるJSONの要約には、removed、removedPct、範囲の数、出力パスが含まれます — マスターワークフローでのログ記録と連鎖に便利です。

調整のヒント

  • トークヘッドYouTubeのデフォルト(--gap 0.55)では、典型的な生テイクの約15〜20%が純粋な無音として除去されます。よりパンチの効いた速いカットには--gapを下げ、自然な呼吸間隔を保つには上げてください。
  • 文の切れ目でのカットが強すぎると感じる場合は、文末の呼吸時間を増やすか、--gapを上げてください。

次のエージェントへの引き継ぎ

<stem>.silence-transcript.json(およびレンダリングされたsilenced.mp4があればそれも)をカットミステークスエージェントに渡します。タイムスタンプは既に編集タイムラインに合わせて調整されているため、後続のビートタイミングやscripts/validate-beat-sync.mjsによる検証は追加調整なしで機能します。

Individual skills in this repo

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

関連スキル