원클릭으로
video-shots
Extract coarse shot and scene-change segments from a local video, with optional representative frames for each part.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Extract coarse shot and scene-change segments from a local video, with optional representative frames for each part.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Assemble a grounded review prompt from a local artifact bundle so Codex or Claude Code can inspect the right files and ask the right questions.
Check a local video against layout annotations, safe zones, OCR text boxes, and frame samples so agents can catch cropped content, caption overlap, unreadable overlays, and platform-unsafe composition before shipping.
Collect first-pass source media facts, audio silence/energy, shot estimates, representative frame status, and persistent text/caption risk evidence.
Review a rendered video for technical defects such as resolution mismatch, missing or near-silent audio, black or white frames, edge gutters, low motion, sparse caption bands, and layout issue pass-through.
Fuse video shot segments with storyboard frames, OCR, transitions, and timeline artifacts into one per-segment evidence map for grounded video review.
Extract at least one storyboard frame per video shot segment so later OCR and segment evidence fusion can cover gaps missed by global sampling.
| name | video-shots |
| description | Extract coarse shot and scene-change segments from a local video, with optional representative frames for each part. |
Use this when an agent needs to split a video into reviewable temporal parts before deeper storyboard or OCR analysis.
This skill owns:
ffmpegvideo.shots.jsonRequired:
{
"videoPath": "./output/example-run/output.mp4"
}
Optional fields:
outputDir: directory for video.shots.json; defaults next to the video.sceneThreshold: ffmpeg scene-change threshold, default 0.08.minShotDurationSeconds: minimum segment duration, default 0.5.extractRepresentativeFrames: whether to write video-shots/shot-*.jpg,
default true.The result contains manifestPath and manifest. The manifest lists each shot
with start/end seconds, duration, boundary type, representative timestamp, and
representative frame path when frames were extracted.
Run this before or alongside storyboard-extract when you need a coarse map of
the video. Use storyboard-extract for selected visual evidence and
video-shots for segment boundaries.
Shot boundaries are heuristic. They are useful for finding parts to inspect, but they do not prove semantic scene changes or user actions. Fast cuts, fades, camera movement, and overlays can affect detection.
Do not infer what happened inside a shot from the boundary alone. Inspect the representative frame, storyboard frames, OCR, timeline evidence, or the source video before making content claims.
The runner requires ffmpeg and ffprobe. Very static videos may produce one
long shot. Very noisy videos may produce many short shots, which are merged by
minShotDurationSeconds.
Repo-side runner:
node --import tsx scripts/harness/video-shots.ts
Installed-pack runner:
node ./.video-evaluator/agent/run-tool.mjs video-shots