cut-mistakes について
cut-mistakes は、動画編集で吃音や語句の重複、言い直し、失敗した再録を見つけるスキルです。候補を文脈付きで提示し、人が確認して承認したカットだけを適用します。
主な機能
- 01吃音や語句の重複を検出
- 02言い直しや再録を特定
- 03文脈付きで候補を確認
- 04承認済みカットを適用し字幕を再タイミング
活用シーン
- 01録画の言いよどみを整理
- 02編集前に重複表現を確認
- 03cut-silences後の編集を続行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nateherkai/ herk-edit-kit --skill cut-mistakesインストール後、Claude Code で/cut-mistakesを入力して読み込まれたか確認します。
同梱ファイルscripts/apply-cuts.mjsscripts/find-cut-candidates.mjs
詳細
ミスと繰り返しをカットする(Pipeline Agent 2)
自動編集の第2ステップで、cut-silencesの実行後に行います。人間の編集者が2回目の編集でカットする部分、つまり、どもり(「the the」「I- I-」)、直後に繰り返された単語、言い直し(途中でやめたフレーズを最初から言い直すもの)、録り直し(セリフを録り直したもの。失敗したテイクを削除し、きれいなテイクを残します)を取り除きます。
何をミスとみなすかは、機械的なルールではなく判断が必要です。強調のための繰り返し(「never, never」)や修辞的な繰り返し(「the first piece is, is this…」)は、機械的にはどもりと同じように見えます。そのため、このエージェントはデフォルトでレビューを必須とします。候補を前後の文脈とともに提示し、エージェントとユーザーが判断してから、承認されたカットのみを反映します。
使用する場面
- 「ミスをカットして」「どもりや繰り返しを削除して」「言い間違いを直して」「ベストテイクを残して」「言い直しをカットして」
- マスター編集ワークフローの第2段階として、cut-silencesの出力に対して実行する場合。
3つのステップ
1. 候補を検出する(機械的な処理)
node .agents/skills/cut-mistakes/scripts/find-cut-candidates.mjs \
<silence-transcript.json> --out-dir video-projects/<slug>/assets
通常はAgent 1の<stem>.silence-transcript.jsonを入力するため、カット位置はすでに無音を除去したタイムライン上になります。次のファイルが出力されます。
<stem>.cut-candidates.json— 構造化された候補(種類、信頼度、提案するcut範囲、removes/keepsのテキスト、文脈、推奨)<stem>.cut-candidates.md— 読みやすい提案
候補の種類:stutter(単語の直後の繰り返し)、retake(ジャッカード類似度による重複またはほぼ重複する区間)、false_start(短いフレーズを途中でやめ、最初から言い直すもの)。
2. レビューする(必須の確認ステップ)
各候補を文脈の中で確認し、残すかカットするかを判断します。機械的な検出では、意図的な強調・修辞表現と実際の言い間違いを区別できません。そのため、recommendを盲目的に信頼せず、removesとcontextを読んでください。よくある誤検出:強調のための繰り返し(「it's never, never hands-off」)、コピュラの後に続く疑問文(「the piece is, is this…」)、列挙。
推奨内容を項目ごとに添えて候補をユーザーに提示し、承認を得ます。承認されたカットをファイルに書き込みます。
{ "cuts": [ { "start": 100.93, "end": 101.06, "reason": "I- false start" }, ... ] }
(入力のトランスクリプト/動画のタイムライン上での秒数をstart/endに指定します。候補の範囲は広げてもかまいません。たとえば録り直しの場合、失敗したテイクの開始位置から、きれいなテイクの再開位置までをカットできます。)
3. 承認されたカットを適用する
node .agents/skills/cut-mistakes/scripts/apply-cuts.mjs \
<silence-transcript.json> --cuts approved-cuts.json \
--video video-projects/<slug>/assets/edited-silenced.mp4 \
--output video-projects/<slug>/assets/edited-clean.mp4 --apply
EDL、タイミングを調整した<stem>.mistakes-transcript.json(モーショングラフィックスエージェントおよびvalidate-beat-sync.mjsに渡します)、判断ログを出力します。さらに、--applyを指定すると、カット済みの動画も出力します(ffmpegによるトリミングと連結。音声と映像は同期します)。ドライランにするには--applyを省略してください。
結果のレビュー
共有レビュー用ツールを使ってカットを目視確認し、境界を抜き取りチェックします。
node scripts/build-edl-review.mjs <stem>.mistakes-edl.json \
--original video-projects/<slug>/assets/edited-silenced.mp4 \
--edited video-projects/<slug>/assets/edited-clean.mp4 \
--output video-projects/<slug>/assets/mistakes-review.html
npx serve . -p 8080 -n
注意事項
- とても滑らかな話し方の場合、実際にカットする箇所がほとんど、またはまったくないこともあります。それも妥当な結果です。ノルマを満たすために自然な話し方をカットしないでください。
- 2つの発話語の間のカットは、つなぎ目が不自然になりやすいです。どもりや言い直しでは通常きれいにつながりますが、音声をより滑らかにするため、後から20~30msのフェードを追加できます。
mistakes-transcript.jsonとクリーンな動画を**Agent 3(モーショングラフィックス/階層型カード)**に渡します。