
Video Frames
- 3.5k installs
- 385k repo stars
- Updated August 3, 2026
- steipete/clawdis
video-frames is a skill that extracts single frames or thumbnails from video files with ffmpeg so agents can inspect or share still images without writing custom ffmpeg commands.
About
video-frames is a steipete/clawdis skill that extracts still images from video files using ffmpeg through a bundled frame.sh wrapper script. It requires the ffmpeg binary on PATH and documents brew-based installation via formula ffmpeg in OpenClaw metadata. The quick start covers extracting the first frame with --out to a jpg or png path, or targeting a timestamp with --time HH:MM:SS for context around a specific moment. Developers reach for video-frames when an agent needs frame grabs for README screenshots, UI inspection, or lightweight social assets without hand-writing ffmpeg flags. The skill recommends jpg for quick sharing and png for crisp UI frames. Notes emphasize preferring --time when the question is what is happening around a point in the clip. It fits media-heavy agent workflows where video review must become inspectable stills on disk.
- Bundled frame.sh script extracts first frame or timestamped frame with --out path.
- Supports --time for context frames and documents jpg versus png output tradeoffs.
- Requires ffmpeg binary with brew install path documented in OpenClaw metadata.
- Quick start examples write frames to /tmp/frame.jpg or /tmp/frame-10s.jpg.
- Targets inspection, sharing, and documentation use cases without custom ffmpeg recipes.
Video Frames by the numbers
- 3,491 all-time installs (skills.sh)
- +162 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #129 of 1,337 Generative Media skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Aug 3, 2026 (Skillselion catalog sync)
video-frames capabilities & compatibility
- Capabilities
- extract first frame from a video file · extract frame at a specific timestamp with tim · write jpg or png output via out flag · document brew based ffmpeg installation path
What video-frames says it does
Extract frames or short clips from videos using ffmpeg.
{baseDir}/scripts/frame.sh /path/to/video.mp4 --time 00:00:10 --out /tmp/frame-10s.jpg
npx skills add https://github.com/steipete/clawdis --skill video-framesAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 3.5k |
|---|---|
| repo stars | ★ 385k |
| Security audit | 3 / 3 scanners passed |
| Last updated | August 3, 2026 |
| Repository | steipete/clawdis ↗ |
How do I pull a still frame or thumbnail from a video file at a specific timestamp for inspection or documentation?
Extract single frames or quick thumbnails from video files with ffmpeg for inspection, documentation, or sharing.
Who is it for?
Developers or agents working with local video files who need quick frame grabs via a documented frame.sh wrapper around ffmpeg.
Skip if: Skip when you need full video editing, transcoding, or clip generation rather than single-frame extraction.
When should I use this skill?
User asks to extract a frame from video, grab a thumbnail, or capture what happens at a specific timestamp in a clip.
What you get
A jpg or png image file on disk representing the first frame or a timestamped moment from the source video.
- Still image file from video source
By the numbers
- Requires 1 binary dependency: ffmpeg
- Documents 1 brew install formula for ffmpeg
Files
Video Frames (ffmpeg)
Extract a single frame from a video, or create quick thumbnails for inspection.
Quick start
First frame:
{baseDir}/scripts/frame.sh /path/to/video.mp4 --out /tmp/frame.jpgAt a timestamp:
{baseDir}/scripts/frame.sh /path/to/video.mp4 --time 00:00:10 --out /tmp/frame-10s.jpgNotes
- Prefer
--timefor "what is happening around here?". - Use a
.jpgfor quick share; use.pngfor crisp UI frames.
#!/usr/bin/env bash
set -euo pipefail
usage() {
cat >&2 <<'EOF'
Usage:
frame.sh <video-file> [--time HH:MM:SS] [--index N] --out /path/to/frame.jpg
Examples:
frame.sh video.mp4 --out /tmp/frame.jpg
frame.sh video.mp4 --time 00:00:10 --out /tmp/frame-10s.jpg
frame.sh video.mp4 --index 0 --out /tmp/frame0.png
EOF
exit 2
}
if [[ "${1:-}" == "" || "${1:-}" == "-h" || "${1:-}" == "--help" ]]; then
usage
fi
in="${1:-}"
shift || true
time=""
index=""
out=""
while [[ $# -gt 0 ]]; do
case "$1" in
--time)
time="${2:-}"
shift 2
;;
--index)
index="${2:-}"
shift 2
;;
--out)
out="${2:-}"
shift 2
;;
*)
echo "Unknown arg: $1" >&2
usage
;;
esac
done
if [[ ! -f "$in" ]]; then
echo "File not found: $in" >&2
exit 1
fi
if [[ "$out" == "" ]]; then
echo "Missing --out" >&2
usage
fi
mkdir -p "$(dirname "$out")"
if [[ "$index" != "" ]]; then
ffmpeg -hide_banner -loglevel error -y \
-i "$in" \
-vf "select=eq(n\\,${index})" \
-vframes 1 \
"$out"
elif [[ "$time" != "" ]]; then
ffmpeg -hide_banner -loglevel error -y \
-ss "$time" \
-i "$in" \
-frames:v 1 \
"$out"
else
ffmpeg -hide_banner -loglevel error -y \
-i "$in" \
-vf "select=eq(n\\,0)" \
-vframes 1 \
"$out"
fi
echo "$out"
Related skills
Forks & variants (2)
Video Frames has 2 known copies in the catalog totaling 6 installs. They canonicalize to this original listing.
FAQ
What does video-frames require before running?
The ffmpeg binary on PATH; OpenClaw metadata documents brew install ffmpeg when missing.
How do I extract a frame at a specific time?
Run frame.sh with --time HH:MM:SS and --out to your destination jpg or png path.
When should I choose jpg versus png output?
Use jpg for quick sharing and png when you need crisp UI frames.
Is Video Frames safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.