watch-video について
公開動画URLを分析し、画面の内容と音声を組み合わせた詳細レポートを作成するスキルです。エンジニア、プロダクトマネージャー、デザイナー向けに、動画のメタデータやサムネイルも利用し、空き容量が少ない場合は代替手段で分析します。
主な機能
- 01LoomやYouTubeなどのプラットフォーム判別
- 02動画メタデータとサムネイルの取得
- 03音声の文字起こしと映像の分析
- 04画面表示と発話内容のレポート
- 05空き容量が少ない場合の代替分析
活用シーン
- 01動画を見ずに画面や状態を把握
- 02動画内の発話内容の整理
- 03製品デモや画面録画の分析
- 04動画全体をダウンロードできない場合のレポート作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ blink-new/ claude --skill watch-videoインストール後、Claude Code で/watch-videoを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
gemini-api.mdplatforms.mdscripts/analyze_video.pyloom_meta.py詳細
動画の視聴
公開動画の URL を分析し、画面に表示されていた内容と音声で話されていた内容を生き生きと詳細にレポートします。エンジニア、PM、デザイナーが動画を見なくても行動に移せるほど正確なレポートを作成します。
ワークフロー
ステップ 1:動画プラットフォームを特定する
| プラットフォーム | 方法 |
|---|---|
| Loom | ページからメタデータとサムネイルを取得し、Gemini でサムネイルと説明を分析します |
| YouTube | yt-dlp で音声をダウンロードして Whisper で文字起こしします。または Gemini でサムネイルを分析します |
| その他 | まず yt-dlp を試し、うまくいかない場合はページのスクレイピングとサムネイルの取得を試します |
ステップ 2:ダウンロードせずに取得できる情報を抽出する
まずは無料で取得できるデータを試してください(ディスクは不要です)。
# Get Loom metadata (title, description, duration, transcript status)
python3 scripts/loom_meta.py "https://www.loom.com/share/VIDEO_ID"
# Get YouTube metadata
yt-dlp --dump-json --no-download "YOUTUBE_URL" | python3 -c "
import sys, json
d = json.load(sys.stdin)
print('Title:', d['title'])
print('Description:', d['description'][:500])
print('Duration:', d['duration'])
"
ステップ 3:サムネイルを取得する
サムネイルは常に公開されており、UI の状態、画面の内容、数値を確認できます。
# Loom: thumbnail URL is in oembed response
curl -s "https://www.loom.com/v1/oembed?url=LOOM_URL" | python3 -c "
import sys, json
d = json.load(sys.stdin)
print(d['thumbnail_url']) # animated GIF — download this
"
# YouTube: predictable URL
# https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg
サムネイルをダウンロードします。
curl -s "THUMBNAIL_URL" -o /tmp/video_thumb.gif # or .jpg
ステップ 4:Gemini で分析する
scripts/analyze_video.py を使い、サムネイルとすべてのメタデータを渡します。
python3 scripts/analyze_video.py \
--thumb /tmp/video_thumb.gif \
--title "Video title" \
--description "Auto-generated description text" \
--duration 143
または、Gemini API を直接呼び出します(gemini-api.md を参照)。
ステップ 5:ディスク容量に余裕がある場合 — ダウンロードして詳細に分析する
# Check disk first
df -h ~ | awk 'NR==2 {print $4}'
# Download with yt-dlp (works for Loom + YouTube + 1000+ sites)
yt-dlp "VIDEO_URL" -o /tmp/video.mp4
# Option A: Gemini video analysis (best for screen recordings)
python3 scripts/analyze_video.py --video /tmp/video.mp4
# Option B: Whisper transcription only (fast, audio-only)
curl -X POST https://api.openai.com/v1/audio/transcriptions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F "file=@/tmp/video.mp4" \
-F "model=whisper-1"
出力形式
毎回、次の構成で出力します。
## Video Analysis: [Title]
**URL:** [link] | **Duration:** [X:XX]
### What's on screen
[Vivid description of every visible UI element, number, text, state shown in the video/thumbnail. Be exhaustive — mention exact values, UI panel names, error messages, data shown.]
### What was said
[Transcript or paraphrase of the narration, with key quotes verbatim]
### Problem / Topic Summary
[1-2 sentences: what this video is about or demonstrating]
### Key Data Points
| Item | Value |
|------|-------|
| [exact numbers, names, states observed] | [value] |
### Action Items / Root Cause (if bug report)
[Specific things to investigate or do, based on the video content]
プラットフォームに関する注意事項
プラットフォームごとの特有の挙動(Loom CDN の認証、YouTube の年齢制限など)については、platforms.md を参照してください。
ディスク容量が不足している場合の代替策
ディスク容量が不足している場合(df -h で空き容量が 500MB 未満の場合):
- サムネイルとメタデータのみを使用します(上記のステップ 1~4)
- Loom の自動生成説明は非常に詳細です。サムネイルと組み合わせることで、十分な情報を得られます
- エラーを黙って無視しないでください。利用可能な情報を使って、必ずレポートを作成してください
コメント
Markdown 対応