本文へ移動
cccskills
無料GitHub で公開

cut

Premiere Pro XML の無音・雑音を自動カットする。XMLファイルを渡されたとき、無音カット・ジェットカット・カット編集を頼まれたとき、「/cut」で即実行。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md5.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Premiere Pro XML 無音・雑音カット (/cut)

Premiere Pro から書き出された Final Cut Pro XML(.xml)を解析し、無音区間を自動カットした編集済み XML を出力するスキル。

Gotchas(エージェントがハマりやすいポイント)

  • --tracks にBGMや環境音が常時鳴っているトラックを含めてしまう → そのトラックはほぼ無音にならないため、積集合判定でカットが一切発生しなくなる。--tracks には人の声が入っているトラックだけを指定する
  • A1自体にBGM/環境音が常時混入している素材 → 既定の -48dB では無音が検出できず「検出無音: 0箇所」で実質何もカットされない。まずBGM混入を疑い、--threshold -35〜-40 を試す
  • パディングを大きくしすぎる → 前後に残す量の合計 ≥ min-silence だと全無音がパディングに食われて1フレームもカットされない(スクリプトが警告を出す)。合計を min-silence 未満にする。前後を別々にしたいときは --padding-after(直前の発話の後ろ=語尾の余韻)/ --padding-before(次の発話の前=出だしの間)を使う。どちらも未指定なら --padding の値が前後同量で入る
  • カット0件を「成功」と読み違える → カット箇所0件は exit 3、選択したトラックの音声を1本でも取り出せなかった場合は exit 4 でXMLを書かずに停止する。[診断] 行に実測 peak/RMS と推奨閾値が出るので、それを --threshold に渡して再実行する(旧挙動=未カットXMLを出す、が必要な場合だけ --allow-no-cut)
  • 全トラックに同じin/outを適用してしまう → トラックごとにソースオフセットが異なる。offset = in_frame - tl_start を個別に保持すること
  • タイムアウトを指定し忘れる → 処理時間が長くなる場合があるため、タイムアウトは長め(10分・600000ms)を指定

入力

コマンド引数または会話内で指定された XML ファイルの絶対パス。 見つからなければユーザーに確認する。

重要ルール(絶対に守ること)

  1. 無音検出は既定でA1トラックの音声のみで行う(A1=メインの声が入っているトラック)。複数話者をピンマイクで別トラックに個別収録している場合は、--tracks A1,A2 のように対象トラックを指定できる(指定した全トラックが同時に無音の区間だけをカットする)。
  2. 全トラック同期で編集点を入れる: V1, V2, A1, A2 等、全てのトラックに同じタイムライン位置でカットを入れる。特定のトラックだけ動かしたり、勝手に同期しようとしない。
  3. 各トラックのソースオフセットを個別に保持する: トラックごとにin/outの開始位置(offset = in_frame - tl_start)が異なる場合がある。カット後のサブクリップのin/outは タイムラインフレーム + そのトラック固有のoffset で算出する。全トラックに同じin/outを適用してはいけない。

実行前チェック

command -v ffmpeg >/dev/null 2>&1 && echo "ffmpeg: OK" || echo "ffmpeg: 未導入"

スクリプト解決と実行

# プラグイン本体の場所を決める(この順で探し、最初に見つかったものを使う)
# Claude Code は ${CLAUDE_PLUGIN_ROOT} をプラグインの実パスに展開する。Codex / Antigravity は展開しない。
ROOT="${CLAUDE_PLUGIN_ROOT:-/nonexistent}"
if [ ! -f "$ROOT/scripts/silence_cut.py" ]; then
  # 同じプラグインの複数版がキャッシュに残ることがあるので、更新の新しいものを選ぶ
  HIT="$(find "$HOME/.claude/plugins" "$HOME/.codex/plugins/cache" "$HOME/.gemini/config/plugins" \
         -maxdepth 8 -type f -name silence_cut.py -path '*premiere-skills*' -print0 2>/dev/null \
         | xargs -0 ls -t 2>/dev/null | head -1)"
  [ -n "$HIT" ] && ROOT="$(cd "$(dirname "$HIT")/.." && pwd)"
fi

SCRIPT="$ROOT/scripts/silence_cut.py"
[ -f "$SCRIPT" ] || SCRIPT="$HOME/.claude/scripts/silence_cut.py"   # 手で配置した既存環境
[ -f "$SCRIPT" ] || { echo "silence_cut.py が見つかりません。プラグインを入れ直してください"; exit 1; }
echo "silence_cut: $SCRIPT"

XML_PATH="<XMLファイルの絶対パス>"
OUT_DIR="$(dirname "$XML_PATH")/output/cut"
mkdir -p "$OUT_DIR"

python3 "$SCRIPT" "$XML_PATH" --output-dir "$OUT_DIR"

ピンマイク2人収録の場合:

python3 "$SCRIPT" "$XML_PATH" --output-dir "$OUT_DIR" --tracks A1,A2

結果報告

スクリプト完了後、出力の数値を使い以下のフォーマットで報告する:

■ 無音カット結果
─────────────────────────
元の長さ:     XX分XX秒
カット後:     XX分XX秒
カットした無音: XX分XX秒
削減率:       XX.X%
出力ファイル:  <絶対パス>
─────────────────────────

出力ファイルの絶対パス(<basename>_カット済み.xml)を明記し、Premiere Pro で「ファイル > 読み込み」から読み込める旨を伝える。

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

premiere-skills

無料日本語概要

Premiere Pro 動画編集ワークフローを Claude Code で自動化するスキル集。/cut は Premiere Pro XML の無音・雑音区間をジェットカット、/srt は WAV+Premiere XML から日本語テロップ用 SRT を並列Whisper→LLM意味区切り→全体アライメントSRT の3ステップ(v6)で生成、/srt-fast は改行工程まで3チャンク並列化した高速版、/telop-check は書き出し済みMP4を全編スキャンしてテロップの数字表記・誤字脱字・い抜き・ら抜き・固有名詞ミスを検出する。faster-whisper / ffmpeg / Premiere Pro を要するローカル実行型。日本語トーク動画のショート / ロング編集向け。

fuuuuuuma/premiere-skills142026年9月25日 更新

srt-fast

無料日本語概要

WAV/動画音声を単一パスGPU転写(mlx-whisper)した後、fulltextを意味区切りでN分割しLLM改行だけを並列化してSRT字幕を高速生成する /srt の高速版。日本語トーク動画用。「/srt-fast」で実行。

fuuuuuuma/premiere-skills142026年9月25日 更新

fuuuuuuma のスキルをすべて見る

このスキルの問題を報告する