screenkite-clean-cut について
screenkite-clean-cutは、ScreenKiteの録画から無音区間やためらいの言葉を取り除くワークフロースキルです。マイク音声を文字起こしし、ドライランで編集内容を確認してから、承認後に統合したカットをコマンドラインで適用します。
主な機能
- 01マイク音声の文字起こし
- 02無音区間とフィラーの検出
- 03ドライランでカットを確認
- 04統合したカットを一度に適用
- 05プロジェクト時間の検証
活用シーン
- 01ScreenKite録画の無音区間を短縮
- 02「um」などのためらい音を除去
- 03タイムライン変更前に編集案を確認
MCP 対応
ScreenKiteのコマンドラインでプロジェクト状態を確認し、`editTimeline`ツールでタイムライン編集を適用します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ screenkite/ awesome-ai-video-editing --skill screenkite-clean-cutインストール後、Claude Code で/screenkite-clean-cutを入力して読み込まれたか確認します。
同梱ファイルscripts/apply_cuts.pyscripts/compute_all_cuts.py
詳細
screenkite-clean-cut
ScreenKite の録画から無音区間とフィラー語(um、uh、ah、er、hmm)を 1 回の処理で削除します。文字起こし 1 回、ドライラン 1 回、カット 1 回です。
前提条件
/usr/local/bin/screenkite-alpha(またはscreenkite)にscreenkiteCLI があること。- バンドルのある場所から上位のいずれかの
.envにELEVEN_LABS_API_KEY(アンダースコア付き)が設定されているか、シェル環境にエクスポートされていること。 - PATH に
ffmpegがあること。 python3とrequestsがあること。インストールの問題を避けるにはuv run --with requestsを使用してください。
フェーズ 1 — プロジェクトを開く
'/usr/local/bin/screenkite-alpha' agent project open \
--path '<absolute-path-to.skbundle>' --json
プロジェクトが最新であることを確認します。
'/usr/local/bin/screenkite-alpha' agent project current --json
フェーズ 2 — マイク音声を文字起こしする
マイク音声は <bundle>/media/microphone_*.m4a にあります。
# Source .env first if key is not in the shell
set -a && source /path/to/workspace/.env && set +a
uv run --with requests \
.agents/skills/screenkite-clean-cut/scripts/transcribe_mic.py \
'<bundle>/media/microphone_<name>.m4a' \
--edit-dir '<bundle-parent>/<slug>-edit' \
--language en \
--num-speakers 1
# Output: <edit-dir>/transcripts/<stem>.json (word-level, cached)
文字起こしの JSON がすでに存在する場合、再実行しても何も起こりません。
フェーズ 3 — ドライラン(必須 — 適用前にユーザーに表示)
uv run --with requests \
.agents/skills/screenkite-clean-cut/scripts/compute_all_cuts.py \
'<edit-dir>/transcripts/<stem>.json' \
--min-silence 0.8 \
--silence-pad 0.15 \
--filler-pad 0.03 \
--dry-run
出力には「無音区間」と「フィラー語」の 2 つのセクションがあり、その後に 全体の概要が表示されます。表全体をユーザーに表示してください。ユーザーの確認を得るまで カットを適用しないでください。
調整オプション:
| フラグ | デフォルト | 備考 |
|---|---|---|
--min-silence | 0.8 | これより短い無音区間は残します |
--silence-pad | 0.15 | 無音区間の両端に残す長さ |
--filler-pad | 0.03 | フィラー語の両端に残す長さ |
--fillers | um,uh,ah,er,hmm,hm | 上書きするフィラー語のカンマ区切りリスト |
フェーズ 4 — カットを適用する
すべての無音区間とフィラー語の範囲は、単一の editTimeline 呼び出しの前に結合され、
並べ替えられます。そのため、既存のタイムライン編集との順序に関する問題はありません。
'/usr/local/bin/screenkite-alpha' agent tool call \
--name editTimeline \
--input-json "$(uv run --with requests \
.agents/skills/screenkite-clean-cut/scripts/compute_all_cuts.py \
'<edit-dir>/transcripts/<stem>.json' \
--min-silence 0.8 --silence-pad 0.15 --filler-pad 0.03 \
--emit-tool-input)" \
--json
または、カットを先に保存してから個別に適用します。
# Save
uv run --with requests \
.agents/skills/screenkite-clean-cut/scripts/compute_all_cuts.py \
'<edit-dir>/transcripts/<stem>.json' \
--min-silence 0.8 --silence-pad 0.15 --filler-pad 0.03 \
--output '<edit-dir>/all_cuts.json'
# Apply
python3 .agents/skills/screenkite-clean-cut/scripts/apply_cuts.py \
'<edit-dir>/all_cuts.json'
フェーズ 5 — 確認する
'/usr/local/bin/screenkite-alpha' agent tool call \
--name getProjectState --input-json '{"scope":"summary"}' --json
duration が、削除した秒数の合計分ほど短くなっていることを確認します。
元に戻すには、editTimeline action=undo を実行します。カットごとに 1 回呼び出し、最後に行ったカットから順に戻します。
screenkite-transcription-cut との主な違い
| screenkite-transcription-cut | screenkite-clean-cut | |
|---|---|---|
| 無音区間を削除 | ✅ | ✅ |
| フィラー語を削除 | ❌ | ✅ |
| スクリプト | compute_silence_cuts.py | compute_all_cuts.py |
| 1 回あたりのカット | 無音区間のみ | 無音区間とフィラー語を結合 |
避けるべきこと
- ドライランを絶対に省略しないでください。 カットは元に戻しにくい操作であり、取り消しは一度に 1 つずつ行います。
--min-silenceを 0.3s 未満に設定しないでください。 音声がぎこちなくなります。--filler-padを 0.02s 未満に設定しないでください。 音声の継ぎ目でクリック音が発生します。- プロジェクトを開かずに実行しないでください。 CLI 呼び出しはエラーを表示せずに失敗します。
- 確認せずに「like」、「right」、「so」などの単語を
--fillersに追加しないでください。 文脈によって意味が変わる単語を追加すると、多くの誤検出が発生します。ためらいを表す音に限定してください。