Skip to content
Documentation
Skill

/video-frame-reader

動画ファイルからキーフレームを抽出し、重複除去・最適化した上で内容を分析するスキル。 「動画の中身を見て」「キーフレームを抽出」「この動画を分析して」等で発動。

From plugin
ai-agent-camp
345193 skills8 agents200 commands
Install
$ npx -y skills add minicoohei/ai-agent-camp --skill video-frame-reader --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/video-frame-reader

Context preview

The summary Claude sees to decide when to auto-load this skill.

動画ファイルからキーフレームを抽出し、重複除去・最適化した上で内容を分析するスキル。 「動画の中身を見て」「キーフレームを抽出」「この動画を分析して」等で発動。

SKILL.md

video-frame-reader.SKILL.md
name: video-frame-reader
description: "動画ファイルからキーフレームを抽出し、重複除去・最適化した上で内容を分析するスキル。 「動画の中身を見て」「キーフレームを抽出」「この動画を分析して」等で発動。"
triggers:
  - 動画の中身を見て
  - キーフレームを抽出
  - この動画を分析して
  - 動画を確認して
  - スクリーン録画を見て
  - video-frame-reader
  - keyframe extraction

Video Frame Reader

Extract keyframes from video, present token cost, then analyze.

Requirements

  • ffmpeg (for frame extraction)
  • Python 3 + Pillow + numpy

Workflow

1. Capture User Intent

Clearly understand why the user wants the video analyzed:

  • Example: "The screen transition behavior looks wrong"
  • Example: "I want to check the response after button click"
  • Example: "Help me identify performance issues"

This intent becomes important context for the analysis.

2. Install Dependencies (First Time Only)

# uv で依存関係をインストール
uv add Pillow numpy --quiet

3. Extract Keyframes

uv run python skills/video-frame-reader/scripts/extract_keyframes.py "<video_path>"

Output example (JSON):

{
  "keyframe_count": 52,
  "image_size": "266x576",
  "total_tokens": 10400,
  "cost_usd_opus": 0.156,
  "cost_usd_sonnet": 0.031,
  "cost_usd_haiku": 0.0104,
  "files": ["/.../key_0001.jpg", ...]
}

4. Present Cost

After extraction, present the following to the user:

Keyframe extraction complete:
- Frames extracted: {keyframe_count}
- Image size: {image_size}
- Estimated tokens: {total_tokens}
- Cost estimate: Haiku ${cost_usd_haiku} / Sonnet ${cost_usd_sonnet} / Opus ${cost_usd_opus}

Proceed with frame analysis?

5. Invoke Subagent After Approval

After user approval, invoke subagent using Task tool:

Task(
  subagent_type="general-purpose",
  model="haiku",
  description="Frame analysis",
  prompt="""
[User Intent]
{Intent captured in Step 1}

[Frame Image Files]
{List of paths from files array}

Analyze the above frame images and identify issues/behaviors according to the user's intent.
"""
)

Benefits of this approach:

  • ✅ User intent is included in analysis context
  • ✅ Subagent can focus on intent-specific efficient analysis
  • ✅ Processed in independent context for better token efficiency

Options

| Option | Default | Description | |--------|---------|-------------| | `-t, --threshold` | 0.85 | Similarity threshold (higher = more frames kept) | | `-q, --quality` | 30 | JPEG quality (1-100) | | `-s, --scale` | 0.3 | Resize scale | | `-o, --output` | `<video_name>_keyframes/` | Output directory |

Token Reduction Example

# More aggressive reduction (lower threshold, quality, and size)
python3 extract_keyframes.py video.mp4 -t 0.75 -q 20 -s 0.2

Overview

動画ファイルからキーフレームを自動抽出し、重複除去・最適化した上で内容を分析するスキルです。トークンコストを事前提示し、ユーザー承認後にサブエージェントで分析を実行します。

Troubleshooting

| エラー | 解決方法 | |--------|---------| | ffmpeg not found | `brew install ffmpeg`(Mac)または `apt install ffmpeg`(Linux)でインストール | | No keyframes extracted | `--threshold` を下げる(例: 0.75)ことでより多くのフレームを抽出 |

Success Criteria

  • [ ] キーフレーム画像が出力ディレクトリに保存されている
  • [ ] トークンコスト見積もりがJSON形式で表示されている
  • [ ] ユーザーの分析意図に沿った結果が返却されている

Usage

上記「Workflow」セクションを参照。基本例:

# キーフレーム抽出
python3 skills/video-frame-reader/scripts/extract_keyframes.py "video.mp4"

# トークン削減オプション付き
python3 skills/video-frame-reader/scripts/extract_keyframes.py "video.mp4" -t 0.75 -q 20 -s 0.2
Read more
Ships withai-agent-camp

AI Agent Training for Non-Engineers - Complete Guide to Claude Code / Cursor / Codex ### ⚠️ Before you clone Official repository (maintained by the authors): Running AI agents from this repo grants them shell, file-write, and external-API permissions on your

Get the whole plugin

Other skills on ai-agent-camp.