Ask Claude in plain English for "lobby camera footage from 8 to 9 PM yesterday" and get back an MP4.
What it actually does
- Speaks Hikvision natively. ISAPI search/download, RTSP playback fallback, and a working understanding of the protocol's quirks (Content-Type variants, lying narrow-search results, NVR account lockouts, NI-vs-HQHI schema differences).
- Intelligent strategy ladder. Tries ISAPI first (fast network speed), backs off and retries on throttling, optionally reboots the NVR, falls through to RTSP playback if all else fails. Every transition is announced as a structured progress event.
- Wide-search + clip. Works around a documented Hikvision behavior where narrow ISAPI searches return falsified segment boundaries. Searches a padded window, finds the true segment, downloads it, and ffmpeg-clips to exactly the requested time.
- Built for agents. Emits NDJSON progress events so a parent Claude can dispatch a download as a background sub-agent, stream summarized status to the user, and stay responsive.
SKILL.mddocuments the exact dispatch pattern. - Secure credential storage. Onboarding picks between OS keyring (Windows Credential Manager / macOS Keychain / Linux Secret Service) and a
.envfile for headless use. NVRs are registered by short aliases; credentials never appear in command lines or logs. - Verification baked in. Every downloaded MP4 is checked for codec, resolution, duration, and (when tesseract is installed) on-screen-display timestamp.
- Flexible file organization. Flat, per-day, per-camera, or per-day-per-camera layouts, set once during onboarding.
Who it's for
Anyone with a Hikvision (or compatible OEM) DVR/NVR fleet who would rather say "pull the front-door camera at 2:30 yesterday" than wrestle with ISAPI XML and ffmpeg flags. Security teams pulling evidence clips, integrators automating routine exports, anyone who wants their AI to handle the protocol layer.
What sets it apart
Most Hikvision download tools (HikLoad, hikvision-download-assistant) generate curl commands or run a one-shot CLI. This skill is designed for an LLM to drive it: clean JSON contracts, typed error classifications (AuthError, NoRecordingsError, ThrottledError, LockedOutError), explicit instructions on when to fall back to RTSP, when to retry, when to bail. Six firmware families validated end-to-end in production.
Tested on
- Windows + Python 3.10+, ffmpeg on PATH
- DS-9016HWI-ST, DS-7316HQHI-SH, DS-7716NI-I4/16P, DS-9632NI-ST, DS-7716NI-SP/16
- Firmware spread from V3.1.10 through V4.50.000
