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

analyze-footage

MUST USE when source footage or a material folder is provided and material understanding or 03_analysis generation is needed. Trigger not only on explicit analysis requests ('分析して', '素材を見て') but also when the user points at footage and says things like 'この動画で', 'この素材で', or any request that requires understanding the provided media before planning or editing.

インストール方法を見る

含まれるファイル(3)

  • SKILL.md7.2 KB
  • references/analysis-quality-check.md5.9 KB
  • references/content-hint-guide.md4.2 KB

SKILL.md(原文)

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

analyze-footage — 素材解析

いつ使うか(必ず発火する条件)

  • ユーザーが素材フォルダや動画ファイルを渡し、「分析して」「素材を見て」「03_analysis を作って」と言ったとき
  • ユーザーが素材を指して「この動画で」「この素材で」「この映像から」のように依頼し、クリップ内容の理解が必要なとき
  • projects/<project>/03_analysis/ を初回生成するとき、または素材差し替え後に再解析するとき
  • design-intent や full-pipeline から、素材理解の前提 artifact として analysis が必要なとき

前提条件

  • npx tsx、ffmpeg、ffprobe が使えること
  • 出力先 projects/<project> が決まっていること
  • STT を使うなら GROQ_API_KEY か OPENAI_API_KEY を用意すること
  • VLM を使うなら GEMINI_API_KEY を用意すること
  • 相対素材パスは repo root ではなく --project で渡した project directory 基準で解決されること
  • downstream で select-clips や peak ベースの判断をしたいなら --skip-peak を使わないこと

やること(ステップ)

Step 1: 素材と project を特定する

  • 対象の source file 群と --project を確定する
  • 既に 01_intent/creative_brief.yaml があるか確認する
  • 再解析なら既存の 03_analysis/assets.json、segments.json、gap_report.yaml を読んで stale / 欠落理由を把握する

Step 2: content-hint を自動抽出する

references/content-hint-guide.md を参照する。

優先順位:

  1. 01_intent/creative_brief.yaml に content_hint があればそれをそのまま使う
  2. content_hint が無ければ message.primary を主軸にし、must_have、project.title、ユーザーの説明を足して 1-3 文で再構成する
  3. brief 自体が無ければ、ユーザーの説明、素材フォルダ名、ファイル名、撮影時期の手掛かりから推定する

抽出ルール:

  • 曖昧なラベルではなく、「誰が・何をしている・どんな文脈か」を入れる
  • 編集意図だけでなく、映像に実際に映っている対象と文脈を書く
  • 短すぎる単語 1-2 個で済ませない
  • 確証のない固有名詞や出来事を捏造しない

Step 3: skip / provider オプションを決める

  • --skip-stt セリフ不要の B-roll only、一括素材が無音中心、または今回は映像理解だけで十分なときに使う。asset 単位で無音を自動判定するのとは別で、CLI 全体の STT を止めるフラグ。
  • --stt-provider groq 日本語素材を優先したいとき、または OpenAI で文字起こし品質が不安定だったときに first choice として使う。実装は whisper-large-v3-turbo を使い、--skip-diarize しなければ pyannote で話者推定を追加する。
  • --stt-provider openai gpt-4o-transcribe-diarize の built-in diarization を使いたいときに選ぶ。pyannote 依存を増やしたくないときの選択肢。
  • --skip-diarize single-speaker 素材、話者分離が不要、または pyannote が利用できないときに使う。Groq STT 経路でだけ意味があり、OpenAI STT では実質無効。
  • --skip-vlm 速度優先の技術 ingest だけ欲しいときに使う。これを付けると summary / tags / interest_points / display_name / peak_analysis の品質が大きく落ちるので、後続で clip triage するなら基本は使わない。
  • --skip-peak quick pass で assets.json / segments.json だけ先に作りたいときに使う。peak_analysis.recommended_in_out が後続で必要なら使わない。--skip-vlm 時は peak も走らないので、この flag はその場合ほぼ意味がない。
  • --skip-media-link 02_media/source_map.json と symlink 生成が不要な単発解析時のみ使う。
  • --language 言語が明確なときは与える。STT の初期推定を減らせる。

Step 4: 実行する

npx tsx scripts/analyze.ts <source-files...> \
  --project projects/<project> \
  --content-hint '子供の自転車練習の成長記録。公園での練習と上達の過程。' \
  --stt-provider groq

Step 5: 実行後に品質チェックする

references/analysis-quality-check.md を参照する。

最低限やること:

  • 03_analysis/assets.json、03_analysis/segments.json、03_analysis/gap_report.yaml を読む
  • STT 実行時は 03_analysis/transcripts/TR_<asset_id>.json を確認する
  • VLM を使ったつもりなら segments.json.items[].summary / tags と assets.json.items[].display_name が埋まっているか見る
  • peak を使ったつもりなら segments.json.items[].peak_analysis、peak_moments、recommended_in_out を確認する
  • downstream gate に進める前に npx tsx scripts/validate-schemas.ts projects/<project> を走らせ、assets.json と segments.json の schema / runner check を通す

Step 6: 結果を要約して次の skill へ渡す

  • gap の有無と severity を要約する
  • generic な display_name や弱い peak が多い場合は content-hint 改善再実行を提案する
  • 後続が select-clips なら peak_analysis の有無を明示する

出力 artifact

  • 03_analysis/assets.json
  • 03_analysis/segments.json
  • 03_analysis/gap_report.yaml
  • 03_analysis/transcripts/TR_<asset_id>.json ただし STT 実行時のみ
  • 03_analysis/contact_sheets/*.png
  • 03_analysis/posters/*.jpg
  • 03_analysis/filmstrips/*.png
  • 03_analysis/waveforms/*.png
  • 02_media/source_map.json ただし --skip-media-link を使わない場合のみ

注意事項

  • peak_analysis は別ファイルではなく segments.json.items[].peak_analysis に書き戻される
  • 実装上の visual semantic field 名は visual_tags ではなく tags
  • display_name は VLM の summary / tags から生成される。a_person_is、a_child_is、clip のような generic name は hint 不足や VLM 解像度不足の兆候
  • GEMINI_API_KEY がない場合、scripts/analyze.ts は warning を出して VLM を自動スキップする。このとき gap_report.yaml が空でも VLM 成功とは限らないので artifact 本体を必ず見る
  • gap_report.yaml は canonical artifact だが、blocking 判定は単純な件数ではない。runtime/mcp/gap-projection.ts では ingest / segment の error を主に blocking として扱う
  • scripts/validate-schemas.ts は assets.json / segments.json を検証するが、gap_report.yaml 自体は検証対象ではない。gap は別途読むこと

レビュー

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

同じリポジトリのスキル

概要と使いどころ

Use when selects_candidates.yaml exists and the user asks to design structure, build an edit blueprint, or create 04_plan/edit_blueprint.yaml.

日本語の概要は準備中です。原文の説明を表示しています。

mocchalera/video-os-v252026年9月4日 更新

Use when edit_blueprint.yaml and selects_candidates.yaml are ready and the user asks to compile the rough cut, generate timeline.json, or apply a review patch.

日本語の概要は準備中です。原文の説明を表示しています。

mocchalera/video-os-v252026年9月4日 更新

MUST USE when the user asks to crop, reframe, trim, or improve composition of still photos, especially selected event photos, album photos, portraits, speakers, panels, workshops, or group photos. Use after photo selection or correction when the task is composition improvement rather than selecting images.

日本語の概要は準備中です。原文の説明を表示しています。

mocchalera/video-os-v252026年9月4日 更新

MUST USE when starting a new video project, when the user provides footage and asks to edit/create a video, or when 01_intent/creative_brief.yaml does not yet exist. This skill interviews the user to understand their intent before any editing begins. Never skip this step.

日本語の概要は準備中です。原文の説明を表示しています。

mocchalera/video-os-v252026年9月4日 更新

evaluate-edit

無料日本語概要

Use after changing prompts, skills, the compiler, or editorial policies — or when the user asks to measure edit quality, run regression evals, check agreement with approved edits, or says '評価して', '一致率を測って', 'eval を回して'. Compares agent output against human-approved golden projects.

mocchalera/video-os-v252026年9月4日 更新

Use when timeline.json exists and the user asks to export the rough cut or an editable handoff packet to Premiere Pro.

日本語の概要は準備中です。原文の説明を表示しています。

mocchalera/video-os-v252026年9月4日 更新

mocchalera のスキルをすべて見る

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