Agent skill · software engineering · steipete

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

Why this skill is useful

Provides specific commands and configurations for capturing video from RTSP/ONVIF cameras that the AI wouldn't reliably generate on its own.

What it needs

Requires camsnap, ffmpeg installed locally. About 1k tokens when loaded. Last updated 2026-08-07. 385,400 stars on the source repository.

What this skill does

camsnap Use camsnap to grab snapshots, clips, or motion events from configured cameras. Setup Config file: ~/.config/camsnap/config.yaml Add camera: camsnap add --name kitchen --host 192.168.0.10 --user user --pass pass Common commands Discover: camsnap discover --info Snapshot: camsnap snap kitchen --out shot.jpg Clip: camsnap clip kitchen --dur 5s --out clip.mp4 Motion watch: camsnap watch kitchen --threshold 0.2 --action '...' Doctor: camsnap doctor --probe Local webcams (macOS) List devices: camsnap devices Snapshot from a local camera: camsnap snap --device 0 --out webcam.jpg PTZ position and ranges: camsnap ptz status --device 0 Move a gimbal camera: camsnap ptz goto --device 0 --pan 45 --tilt -18 Also camsnap ptz move (relative deltas) and camsnap ptz home. Notes Requires ffmpeg on PATH. Prefer a short test capture before longer clips. PTZ needs macOS Camera permission: these cameras only service UVC controls while streaming, so camsnap holds a capture session open for the operation. Motion commands verify the settled position and exit non-zero if the camera did not reach it. On-camera AI framing can override manual positioning; disable tracking if moves keep missing.

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills steipete/camsnap

View the source on GitHub

Browse the @skills marketplace