Claude Code に動画を見せて、内容を整理させる Skill が話題になっています。/watch-video というやつです。
紹介ではこう書かれていることが多いです。
動画を渡すだけで、文字起こし・重要フレーム抽出・画像解析・構造化ノート作成まで自動で実行
便利そうなので中身を読んだんですが、「渡すだけで全部やる」わけではありませんでした。
正確には、どこまで見るかを3段階から選ぶ設計です。そして既定値は一番浅いモードです。
ここを知らないと「画像解析までやってくれるはずなのに、文字起こししか出てこない」ということになります。使い分けが本体なので、そこを整理します。
ソースはこちらです。
リポジトリ: https://github.com/coreyhaines31/makerskills (MIT ライセンス)
Skill 定義:skills/watch-video/SKILL.md
3つのモードと、それぞれの守備範囲
| モード | 出力されるもの | コスト |
|---|---|---|
| transcript(既定) | 文字起こし + メタデータ | 無料・速い |
| visual | + フレーム抽出 + Claude の画像解析による重要シーン特定 | 中 |
| multimodal | Gemini のネイティブ動画取り込み(または Claude vision で密に処理) | 長い動画ほど高い |
既定は transcript です。 何も指定しなければ、文字起こしとメタデータだけ出て終わります。
「画像解析」「注目シーン」が欲しい場合は、visual 以上を明示的に選ぶ必要があります。ここが紹介文で落ちやすいところでした。
さらに、10分を超える動画で visual / multimodal を使う場合は、処理前に確認が入ります。 コストがかかるからです。「投げっぱなしで全部やってくれる」のではなく、途中で一度止まる設計になっています。
どのモードを選ぶかの判断
自分なりに整理すると、こういう分け方になります。
| 見たい動画 | モード | 理由 |
|---|---|---|
| 講演・ポッドキャスト・対談 | transcript | 情報が音声にしかない。画面を見ても得るものがない |
| 画面共有つきの解説・デモ | visual | どの画面で何を操作したかが本体。文字起こしだけだと「ここをクリックして」で終わる |
| UI/デザインのレビュー動画 | visual | 見た目そのものが情報 |
| 判断がつかない長尺 | transcript で1回流す | 中身を把握してから、必要なら visual で回し直す |
話しているだけの動画に visual を使っても、フレーム代が増えるだけです。逆に、デモ動画を transcript で処理すると「画面の話」が全部抜けます。
フレーム抽出の間隔が、内容で変わる
visual 以上を選んだとき、フレームを何秒おきに取るかは固定ではありませんでした。動画の種類で自動的に変わります。
| 動画の種類 | 抽出間隔 |
|---|---|
| 画面共有・デモ | 5秒に1枚 |
| 話している人が映るだけ(ポッドキャスト等) | 30秒に1枚 |
| スライド発表 | 10秒に1枚 + 場面転換の検出 |
| それ以外 | 15秒に1枚 |
画面共有が5秒刻みなのは、操作が速いからですね。30秒に1枚だと、クリックした瞬間を丸ごと飛ばします。
逆にトーキングヘッドで5秒刻みにしても、ほぼ同じ絵が並ぶだけです。ここが自動で切り替わるのは、地味ですがよくできていると思いました。
文字起こしは3段構え
こちらも自動判定でした。上から順に試します。
- プラットフォーム提供のものを最優先(YouTube の自動字幕、Loom API、Riverside の内蔵)
- MLX-Whisper(Mac の M シリーズで速い)
- whisper.cpp(MLX が使えないとき)
プラットフォーム側に、タイムスタンプつきの完全な字幕があれば、Whisper は動きません。 YouTube 動画を大量に処理する場合、実質1番だけで済むことが多いはずです。
ここは知っておくと動作の見通しが立ちます。「文字起こしが妙に速い」と思ったら、字幕をそのまま取っているということです。
動かす前に要るもの
「渡すだけ」と紹介されがちですが、外部ツールの用意が先に要ります。
| ツール | 用途 |
|---|---|
yt-dlp |
動画のダウンロード |
ffmpeg |
フレーム抽出 |
ffprobe |
ローカル動画のメタデータ取得 |
mlx-whisper |
文字起こし(Mac の M シリーズ向け、任意) |
mlx-whisper は Mac の M シリーズ用です。Windows や Intel Mac の場合は whisper.cpp 側に落ちます。動きはしますが、速度は変わります。
API キーは必須ではありません。GEMINI_API_KEY があると multimodal で Gemini のネイティブ動画取り込みが使えて、なければ Claude vision での処理になります。キーなしでも動く設計です。
出力はディレクトリごと残る
処理結果はチャットに出て消えるのではなく、ディレクトリに保存されます。
~/Documents/videos/<ソース>-<スラッグ>-<日付>/
中身はモードによって変わります。
| ファイル | いつ作られるか |
|---|---|
transcript.txt |
常に |
metadata.json |
常に |
moments.md |
visual / multimodal のとき |
summary.md |
visual / multimodal のとき |
transcript モードだと summary.md は作られません。 「要約が出てこない」と思ったら、たいていモードの問題です。
他の Skill に受け渡す設計になっている
これは単体で完結する Skill ではなく、他に投げる前提で作られていました。
- 動画の中で「判断」が出てきたら →
/decideに回す - アクションアイテムが出てきたら →
/pmに回す - 記録として残すなら → second-brain に
call-meeting-note-resource-の接頭辞つきで保存
/watch-video は Maker Skills という 20個のスキル群(MIT ライセンス)の一部で、この受け渡しが前提になっています。動画を見て終わりではなく、そこから出た判断とタスクをどこに置くかまで含めた設計です。
導入はこれだけです。
/plugin marketplace add coreyhaines31/makerskills
/plugin install makerskills@makerskills
まとめ
-
/watch-videoは「渡すだけで全部やる」のではなく、深さを3段階から選ぶ - 既定は transcript(文字起こしのみ)。画像解析が欲しいなら visual 以上を明示する
- 10分超の動画は、visual / multimodal の前に確認が入る(コストのため)
- フレーム抽出の間隔は動画の種類で自動的に変わる(画面共有は5秒、トーキングヘッドは30秒)
- 文字起こしはプラットフォームの字幕が最優先。あれば Whisper は動かない
-
yt-dlpとffmpegは事前に入れておく必要がある
一番効くのは、話しているだけの動画に visual を使わないことだと思います。既定が transcript なのは理にかなっていて、多くの動画はそれで足ります。
画面の中身が本体になる動画——デモ、画面共有、UIレビュー——のときだけ visual に上げる。この切り替えを意識するかどうかで、出てくるものが変わります。
参考
- coreyhaines31/makerskills(MIT ライセンス)— Skill 本体。作者は Corey Haines 氏
-
skills/watch-video/SKILL.md— この記事の内容はここに書かれている定義を読んで整理したものです
関連記事
- Claude Codeの新機能、"仕事の引き継ぎ"じゃありません — 同じく、紹介と実際の仕様がズレていた話
- プロンプトの次は何を学べばいい? AIとの付き合い方を4段階で整理する — Skill は「ハーネス」にあたる層の話