agentleFS
45ck45ck/video-evaluator/skills/storyboard-extract/SKILL.md

storyboard-extract

Skill2 starsChanged 7 months agoMITView on GitHub

Extract storyboard frames from a local video and write a manifest that an agent can inspect as evidence, with optional hybrid sampling around likely changes.

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this when an agent needs direct visual evidence from a video rather than only sibling JSON reports.

    line 8
  2. Very specific:

    Use this before storyboard-ocr.

    line 49
  3. Very specific:

    Do not claim that unsampled portions of the video are correct.

    line 64

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Storyboard Extract

Use this when an agent needs direct visual evidence from a video rather than only sibling JSON reports.

This skill owns:

  • probing video duration with ffprobe
  • extracting frames with ffmpeg
  • optional hybrid sampling that biases some frames toward likely scene changes and same-screen local UI updates
  • writing storyboard.manifest.json
  • carrying per-frame sampling reasons into the manifest when available
  • giving downstream reviewers stable image artifacts to inspect

Inputs

Required:

{
  "videoPath": "./output/example-run/output.mp4"
}

Optional fields:

  • outputDir: directory for frame images and storyboard.manifest.json; defaults to video-evaluator-storyboard next to the video.
  • frameCount: 1 to 24, default 6.
  • format: jpg or png, default jpg.
  • samplingMode: uniform or hybrid, default uniform.
  • changeThreshold: scene-change threshold for hybrid sampling, default 0.08.

Outputs

The skill writes frame images and storyboard.manifest.json, then returns the manifest path and manifest. Each frame records index, timestamp, image path, and sampling reason. Hybrid mode may also include detected change counts, same-screen candidate diagnostics, nearest change distance, and sampling scores.

Sequencing Guidance

Use this before storyboard-ocr. Prefer samplingMode: "uniform" for broad coverage and deterministic spot checks. Prefer samplingMode: "hybrid" when the video has sparse UI changes or you need evidence near transitions. After extraction, inspect frames directly when visual fidelity matters, then run OCR for machine-readable text.

Interpretation Notes

Sampled frames are evidence, not full coverage. change-peak frames were chosen near detected changes; coverage-fill frames preserve spread when change candidates are sparse. Hybrid diagnostics are heuristics and can miss fades, subtle animation, or very fast transitions.

Abstention Rules

Do not claim that unsampled portions of the video are correct. Abstain from text or accessibility conclusions until storyboard-ocr has run or the images have been manually inspected.

Failure Modes

The runner requires ffmpeg and ffprobe. Invalid video paths, unsupported codecs, zero-duration files, or missing binaries will fail extraction. If hybrid sampling returns no candidates, the frame plan falls back to uniform coverage.

Repo-side runner:

node --import tsx scripts/harness/storyboard-extract.ts

Installed-pack runner:

node ./.video-evaluator/agent/run-tool.mjs storyboard-extract

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.