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

frame-inspect

動画・画像のフレーム抽出、Remotion レンダリング、仕様チェック、目視検証を行う汎用ビデオツールキット。 ffmpeg / ffprobe / remotion still / remotion render を統一シェルスクリプト (video-tool.sh) で操作し、 Read ツール(マルチモーダル対応)で実際の見た目を確認して品質レポートを出す。 Use when: 動画のフレームを確認したい、レンダリング結果を検証したい、 画像の品質を目視チェックしたい、Remotion プロジェクトを MP4 に出力したい、 動画の仕様(解像度・fps・長さ)をチェックしたい。 Triggers: "フレーム確認", "フレーム検証", "動画チェック", "frame inspect", "フレーム抽出", "動画の中身を見たい", "レンダリング確認", "動画検証", "MP4 確認", "動画のスクショ", "frame check", "動画を出力", "Remotion render", "動画レンダリング", "仕様チェック", "spec check", "video render"

インストール方法を見る

含まれるファイル(2)

  • SKILL.md9.2 KB
  • scripts/video-tool.sh9.4 KB

SKILL.md(原文)

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

frame-inspect スキル

動画・画像のフレーム抽出、Remotion レンダリング、仕様チェック、目視検証の統合ツールキット。

シェルスクリプト

scripts/video-tool.sh で全操作を統一的に実行できる:

TOOL={スキルディレクトリ}/scripts/video-tool.sh

$TOOL info   <video>                       # 動画情報を表示
$TOOL check  <video> --spec KEY=VAL ...    # 仕様チェック
$TOOL frames <video> <outdir> [--fps N]    # フレーム抽出
$TOOL still  <dir> <outdir> [--frame N]    # Remotion still
$TOOL render <dir> <output> [--comp ID]    # Remotion → MP4
$TOOL gif    <video> <output> [--fps N]    # GIF 作成

Step 1: 入力の特定

ユーザーから以下を確認:

  • 対象ファイル/ディレクトリ: 動画ファイルのパス、または Remotion プロジェクトのディレクトリ
  • やりたいこと: フレーム抽出 / レンダリング / 仕様チェック / 目視検証
  • 確認したいポイント(任意): 特定のシーン、タイミング、品質基準など

Step 2: 入力タイプの判定

入力判定方法使えるコマンド
.mp4 / .mov / .webm / .avi拡張子で判定info, check, frames, gif
.png / .jpg / .jpeg / .gif / .webp拡張子で判定Read で直接表示
ディレクトリ + package.json に remotionpackage.json を Readstill, render + 上記全て
ディレクトリ + 動画ファイル群ls で確認各ファイルに対して上記

Step 3: 操作の実行

3A: 動画情報の確認

$TOOL info {videoPath}

出力: 解像度、fps、長さ、コーデック、ファイルサイズ

3B: 仕様チェック(ffprobe ベース)

# App Store プレビュー動画の仕様チェック例
$TOOL check {videoPath} \
  --spec width=886 \
  --spec height=1920 \
  --spec fps=30 \
  --spec codec=h264 \
  --spec max_duration=25 \
  --spec max_size_mb=500

# 汎用的な仕様チェック
$TOOL check {videoPath} \
  --spec width=1920 \
  --spec height=1080 \
  --spec fps=60

チェック可能な項目:

キー説明チェック方法
width横幅 (px)完全一致
height縦幅 (px)完全一致
fpsフレームレート完全一致
codecコーデック名完全一致 (h264, hevc 等)
max_duration最大長さ (秒)以下
max_size_mb最大サイズ (MB)以下

3C: フレーム抽出(動画 → PNG)

# 1秒に1枚(デフォルト)
$TOOL frames {videoPath} {outDir}

# 0.5秒に1枚
$TOOL frames {videoPath} {outDir} --fps 2

# サムネイル用(2秒に1枚)
$TOOL frames {videoPath} {outDir} --fps 0.5

3D: Remotion still(特定フレーム抽出)

# フレーム 0
$TOOL still {projectDir} {outDir} --frame 0

# フレーム 90(30fps なら 3秒目)
$TOOL still {projectDir} {outDir} --frame 90

# コンポジション ID を明示
$TOOL still {projectDir} {outDir} --frame 0 --comp MyComposition

3E: Remotion render(MP4 出力)

# 自動検出(Root.tsx から composition ID を取得)
$TOOL render {projectDir} out/preview.mp4

# コンポジション ID を明示
$TOOL render {projectDir} out/preview.mp4 --comp AppStorePreview

レンダリング後は自動的に check で仕様確認するのを推奨:

$TOOL render {projectDir} out/preview.mp4
$TOOL check out/preview.mp4 --spec width=886 --spec height=1920 --spec fps=30

3F: GIF 作成(プレビュー用)

# デフォルト(5fps, 幅320px)
$TOOL gif {videoPath} out/preview.gif

# 高品質(10fps)
$TOOL gif {videoPath} out/preview.gif --fps 10

Step 4: 目視検証

抽出したフレーム画像を Read ツールで確認する。

Read: {outDir}/frame_001.png
Read: {outDir}/frame_005.png
Read: {outDir}/frame_010.png

チェック項目

レイアウト

  • テキストや要素が画面外にはみ出していないか
  • 要素同士が不自然に重なっていないか
  • 余白のバランスが適切か

テキスト

  • 文字が読めるサイズか
  • テキストと背景のコントラストが十分か
  • 文字化けや欠けがないか

カラー・ビジュアル

  • 意図した色が使われているか
  • 背景が意図せず真っ白/真っ黒になっていないか
  • 画像が正しく表示されているか(壊れ、欠け、歪みがないか)

アニメーション状態(動画の場合)

  • シーン遷移が自然か(空白フレームがないか)
  • アニメーションの途中状態が意図通りか

エンコード品質(MP4 の場合)

  • 圧縮アーティファクト(ブロックノイズ)が目立たないか
  • テキストがエンコードで潰れていないか
  • 先頭・末尾に不要な空白フレームがないか

Step 5: レポート出力

検証結果をユーザーに報告:

## フレーム検証レポート

### 対象
- ファイル: {fileName}
- 種類: {MP4 / Remotion / 画像}
- 解像度: {width} x {height}
- fps: {fps}
- 長さ: {duration}(動画の場合)
- コーデック: {codec}
- サイズ: {size}MB

### 仕様チェック
| 項目 | 値 | 判定 |
|------|-----|------|
| 解像度 | {W}x{H} | OK/NG |
| fps | {fps} | OK/NG |
| 長さ | {duration}s | OK/NG |
| コーデック | {codec} | OK/NG |
| サイズ | {size}MB | OK/NG |

### フレーム検証結果

| フレーム | タイミング | 判定 | コメント |
|---------|-----------|------|---------|
| frame_001.png | 0:01 | OK | - |
| frame_003.png | 0:03 | NG | テキストが右端で切れている |
| frame_005.png | 0:05 | OK | トランジションがスムーズ |

### 問題点
1. **frame_003.png (0:03)**: テキストが画面右端で切れている
   - 推定原因: テキスト要素の x 座標が大きすぎる

### 良好な点
- 全体のカラーバランスが良い
- シーン遷移が滑らか

シェルスクリプトなしで直接実行する場合

スクリプトが使えない環境では、以下のコマンドを直接実行:

ffprobe(動画情報・仕様チェック)

# 基本情報
ffprobe -v error -select_streams v:0 \
  -show_entries stream=width,height,r_frame_rate,codec_name,duration \
  -show_entries format=duration,size \
  -of default=noprint_wrappers=1 input.mp4

# JSON 形式(パース用)
ffprobe -v quiet -print_format json -show_format -show_streams input.mp4

ffmpeg(フレーム抽出)

# 等間隔フレーム抽出(1fps)
ffmpeg -i input.mp4 -vf "fps=1" out/frame_%03d.png -y

# 特定秒のフレーム
ffmpeg -i input.mp4 -ss 5.5 -frames:v 1 out/at_5s.png -y

# 特定フレーム番号(0-indexed)
ffmpeg -i input.mp4 -vf "select=eq(n\,60)" -frames:v 1 out/frame_060.png -y

# GIF 作成
ffmpeg -i input.mp4 -vf "fps=5,scale=320:-1:flags=lanczos" out/preview.gif -y

# 先頭 N 秒だけ切り出し
ffmpeg -i input.mp4 -t 5 -c copy out/first_5s.mp4 -y

Remotion

# still(特定フレーム抽出)
cd {projectDir} && npx remotion still {compositionId} out/frame.png --frame=0

# render(MP4 出力)
cd {projectDir} && npx remotion render {compositionId} out/preview.mp4

# フレーム番号の計算(30fps)
# 1秒 = 30フレーム, 3秒 = 90, 5.5秒 = 165

典型的なワークフロー例

Remotion プロジェクトの検証

# 1. MP4 にレンダリング
$TOOL render ./preview-video out/preview.mp4

# 2. 仕様チェック
$TOOL check out/preview.mp4 --spec width=886 --spec height=1920 --spec fps=30 --spec codec=h264 --spec max_duration=25

# 3. フレーム抽出
$TOOL frames out/preview.mp4 out/video-frames --fps 2

# 4. Read で目視確認
Read: out/video-frames/frame_001.png
Read: out/video-frames/frame_010.png
Read: out/video-frames/frame_020.png

既存 MP4 の品質チェック

# 1. 情報確認
$TOOL info input.mp4

# 2. フレーム抽出
$TOOL frames input.mp4 out/frames

# 3. Read で目視確認
Read: out/frames/frame_001.png
Read: out/frames/frame_005.png

レビュー

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

同じリポジトリのスキル

概要と使いどころ

This skill should be used when the user asks to "create a team", "spawn agents", "parallel execution", "delegate tasks to agents", "use a swarm", "team workflow", "split work across agents", "run tasks in parallel", or mentions wanting multiple agents to collaborate on a complex task.

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

sean-sunagaku/claude-code-plugin382026年7月30日 更新

agent-team-guide

無料日本語概要

Agent Teams スキルを設計・構築するためのベストプラクティスガイド。 サブエージェント定義、SendMessage 通信プロトコル、タスク依存管理、 PostToolUse Hook によるログ、MCP ツール統合、コンテキストファイル設計を網羅。 7つの実績あるチームスキル(app-naming, ui-review, logo-design, persona-creation, skill-creator-team, ui-variations, aso-optimize)から抽出したパターン集。 Use when: Agent Teams を使ったスキルを新規作成したい、 既存のチームスキルの品質を改善したい、エージェント間通信のデバッグ、 チームスキルの設計パターンを知りたい。 Triggers: "agent team", "チームスキル", "エージェントチーム", "サブエージェント定義", "SendMessage パターン", "チーム設計", "エージェント間通信", "team skill", "swarm pattern"

sean-sunagaku/claude-code-plugin382026年7月30日 更新

app-naming

無料日本語概要

アプリ名・サービス名の命名を、5つの専門エージェントチームで多角的に評価・決定するスキル。 ブランディング、商標/法的リスク、デジタルプレゼンス(SEO/ASO/SNS)、国際展開(多言語/発音)の 4観点から候補を提案・調査・議論し、コンテキストファイルと議事録で次回セッションへ引き継ぐ。 Use when: アプリ名を決めたい、サービス名を変更したい、プロダクト名を検討したい、 ネーミングブレスト、名前の商標チェック、アプリ名のリネーム。 Triggers: "アプリ名", "サービス名", "プロダクト名", "ネーミング", "名前を決め", "リネーム", "rename", "app name", "naming", "ブランド名", "商標チェック"

sean-sunagaku/claude-code-plugin382026年7月30日 更新

app-store-preview-movie

無料日本語概要

App Store プレビュー動画を Remotion (React) で生成する Agent Team スキル。 video-director が構成を設計し、script-writer がナレーション台本を作成し、 motion-designer が Remotion コードを実装し、preview-reviewer がコードレビューし、 frame-inspector がレンダリング結果を目視検証する。 Use when: App Store プレビュー動画を作りたい、アプリのプロモーション動画を作りたい、 Remotion で動画を生成したい。 Triggers: "プレビュー動画", "App Store 動画", "アプリ動画", "preview movie", "Remotion", "動画作成", "app preview"

sean-sunagaku/claude-code-plugin382026年7月30日 更新

app-tone-manner

無料日本語概要

アプリのトーン&マナー(トンマナ)を8名のエージェントチームで設計するスキル。 ブランドアーキタイプ・パーソナリティ定義から、カラー・タイポグラフィ・ビジュアルスタイル・ トーン・オブ・ボイスまでを一貫設計し、Pencil (.pen) + Markdown で成果物を出力する。 「デザインテンション」(矛盾ペア)を核に、AIっぽくない独自のブランドアイデンティティを生成する。

sean-sunagaku/claude-code-plugin382026年7月30日 更新

arch-design

無料日本語概要

仕様書・要件定義からソフトウェアアーキテクチャを設計するスキル。 5人の専門エージェント(Architecture Lead・Module Designer・Dependency Analyst・ Platform Expert・Devil's Advocate)が協議しながら、 モジュール分割・依存関係・データフロー・インターフェース設計を行う。 成果物は構造化されたアーキテクチャ設計書(Markdown)。 Use when: 仕様書からどう設計するか迷っている時、モジュール分割の方針を決めたい時、 技術スタックに合ったアーキテクチャパターンを選びたい時、 設計書を作成したい時。 Triggers: "アーキテクチャ設計", "arch design", "仕様書から設計", "モジュール分割", "設計書を作りたい", "アーキテクチャを考えて", "コンポーネント設計", "依存関係を設計", "どう設計する", "design the architecture", "design from spec"

sean-sunagaku/claude-code-plugin382026年7月30日 更新

sean-sunagaku のスキルをすべて見る

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