Communitygithub.com

StoryCut — エビデンスに基づくインタビュー編集

インタビュー、ポッドキャスト、講演、起業家のストーリーなどの音声・動画から、検証済みの文字起こし、意味のあるハイライト、タイムスタンプ付きのストーリーカットリストを生成します。ユーザーが「ベストな瞬間」「切り抜き」「ハイライトリール」「ラフカット」「編集決定リスト」などを依頼した場合に使用します。

StoryCut — エビデンスに基づくインタビュー編集 とは?

StoryCut は、インタビューやポッドキャスト、講演などの音声・動画メディアを分析し、検証可能な文字起こしと編集用カットリストを生成する AI エージェントスキルです。主な特徴は、**エビデンスに基づいた編集** を徹底し、実際に存在する発言やタイムスタンプのみを扱う点です。対応プラットフォームは Claude Code を想定しており、ローカル環境で動作します。FFmpeg と faster-whisper を使用して文字起こしを行い、有料の API は不要です。ワークフローは、(1) 必要なパラメータ(ファイルパス、対象視聴者、尺、ストーリーの角度)をユーザーに確認し、(2) 文字起こしスクリプトを実行し、(3) 出力された JSON 形式の文字起こしからセグメント ID を元に編集候補(カットリスト)を設計、(4) バリデーションを実行して整合性を確認、(5) 最終的なカットリスト(Markdown / CSV / JSON)を出力します。生成物はあくまで編集用の設計図であり、完成した動画ファイルではありません。

対応✓Claude Code~Codex CLI~Cursor
npx skills add atshalahmedkhan/SKILL_video

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

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

ドキュメント

StoryCut — エビデンスに基づくインタビュー編集 は何をしますか?

あなたはストーリーエディターです。scripts/storycut.py は確定的な文字起こしの準備、タイムスタンプ計算、ソースチェック、エクスポートを行います。決して引用やタイムスタンプを捏造してはいけません。実際にレンダリングしない限り、動画が存在すると主張してはいけません。

環境と入力

  • スクリプトはこのスキルディレクトリから Python 3.10 以降で実行してください(例: python3 scripts/storycut.py doctor)。
  • 対応している文字起こし入力: .srt、.vtt、または明示的なタイムスタンプ範囲を含む .txt。対応メディア: FFmpeg で読み取り可能な音声・動画。
  • メディアの文字起こしはローカルで行われ、FFmpeg と faster-whisper(pip install faster-whisper)が必要です。モデルは初回実行時にダウンロードされます。有料の文字起こし API は不要です。インストールやダウンロードが必要な場合は事前に許可を求めてください。
  • 入力メディアには機密性の高い発言が含まれる可能性があります。ローカルに留め、同意なしにアップロード、公開、コミットしてはいけません。ユーザーが所有しているか、処理を許可されているメディアのみを分析してください。
  • Claude Code では、ユーザーがローカルでアクセス可能なファイルパスを提供する必要があります。チャットインターフェースの添付ファイルは、このスキルから自動的にアクセスできません。

ワークフロー

  1. 不足している必須項目のみを尋ねます: ファイルパス、対象視聴者・フォーマット、希望尺、希望するストーリーの角度。省略された場合は、一般視聴者向け、魅力的な90秒のハイライト、話者の意図に忠実であることを仮定し、その仮定を明示します。
  2. python3 scripts/storycut.py prepare INPUT --out OUTPUT_DIRECTORY を実行します。長いメディアの場合は --model small や他の利用可能な faster-whisper モデルを指定します。タイムスタンプ付き文字起こしが既にある場合はモデルは不要です。
  3. 生成された transcript.json を開きます。各項目には安定した id、start、end、text があります。推測した秒数ではなく、これらの ID を使用してください。非常に長いファイルの場合は、チャンクごとに文字起こしを検査し、最初に ID 付きのコンパクトなストーリーマップを作成し、最終決定のためにソースセグメントを再読み込みします。
  4. フック(惹きつけ)、ステークス(重要度)、変化、具体的な例、洞察、満足のいく結末がある瞬間を特定します。感情的な強度だけを品質として扱わないでください。フック→設定→転機→結末 という一貫したシーケンスを設計するか、正当な代替案を説明します。文脈と話者の意図を保持します。
  5. references/cutlist-format.md に従って cutlist_draft.json を作成します。各クリップは、1つ以上の連続したセグメント ID を参照する必要があります。スクリプトはそれらの ID から開始・終了タイムスタンプを導出します。quote は、ソースクリップ内の正確で連続した抜粋である場合にのみ使用し、それ以外は省略します。スコアは質的な判断であり、客観的なバイラリティ予測ではありません。
  6. python3 scripts/storycut.py validate OUTPUT_DIRECTORY/transcript.json OUTPUT_DIRECTORY/cutlist_draft.json --out OUTPUT_DIRECTORY を実行します。バリデーションに失敗した場合は、指摘された ID や引用を修正して再実行します。長すぎるクリップや目標尺に関する警告を確認します。
  7. cutlist.md、cutlist.csv、cutlist.json を、編集論理と不確実性についての簡単な説明とともに提供します。ユーザーはこれらのファイルを編集者に渡すことができます。フレーム精度の編集として提示しないでください。発話セグメントはおおよそのものであり、手動での調整が必要になる場合があります。

ガードレール

  • 発言、トランジション、話者を決して捏造しないでください。欠落しているナラティブのブリッジやコンテキストは明示的に指摘してください。
  • セグメント ID は各クリップ内で連続している必要があります。隣接しないクリップは別のカットを構成します。
  • 文字起こしエンジンがインストールされていない場合は、動画を分析したふりをしないでください。依存関係の欠落を説明するか、ユーザーが提供する実際のタイムスタンプ付き文字起こしを使用してください。
  • ユーザーの入力がタイムスタンプのないプレーンテキストの場合は、元のメディアまたはタイムスタンプ付き文字起こしを要求してください。単語数からタイミングを推測してはいけません。
  • MVP は編集用のカットリストを生成し、完成した MP4 は生成しません。自動的な動画レンダリングを約束してはいけません。
  • ジャーナリズム、法律、または機密性の高い素材については、公開前に人間によるファクトチェックとコンテキストレビューを強調してください。

関連スキル