peepshow plugin
peepshow turns videos and animated GIFs into frames with audio and a transcript so an agent can inspect them
- 69 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- A hook reads every Claude Code prompt to spot a video file path
- Sinks can send frames and the transcript to external services, and cloud transcription sends audio to the provider
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add plugins/peepshowDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- A hook reads every Claude Code prompt to spot a video file path
- Sinks can send frames and the transcript to external services, and cloud transcription sends audio to the provider
This is third-party code. Review the repository files before installing.
What it does
peepshow cuts a video or an animated GIF, APNG or WebP into a sequence of frames, pulls out the audio track and transcribes it. The agent receives images along a timeline plus the speech text, because large language models do not read video directly. Frames are picked by scene change through an ffmpeg filter. In Claude Code the plugin installs a `UserPromptSubmit` hook: drag an `.mp4`, `.mov` or `.gif` into the prompt and the hook calls the `/peepshow:slides` skill on its own. A `/peepshow:sink` skill exists too. Results can go to storage through the `--sink` flag, and the README lists 95 built-in sinks, from SQLite and Postgres to Slack, Notion and Linear. Transcription runs locally through whisper.cpp when it is on the PATH, or through a cloud provider with a key.
Who it is for. Developers and testers who show an agent screen recordings of bugs and demo clips and want answers about what the video contains.
Good fit when
- A bug is recorded on screen in `bug.mov` and the agent must work out what happened from the frames
- A demo clip needs a text description and its speech extracted
- An animated GIF or WebP of an interface is analyzed frame by frame
- Analysis results go to SQLite, Notion or Slack for search by spoken phrases
- With Cursor or Gemini CLI you want one way to pass a video into a prompt
Not a fit when
- You need static images: PNG, JPG and still WebP are read by models without help
- The job is editing, cutting or processing video and no analysis is needed
- The recording holds confidential audio and cloud transcription does not fit
Example request
What happens in ~/Desktop/bug.mov? Go through it frame by frame and transcribe the audioLimitations
Installation from npm with `npm i -g peepshow` comes first, then the plugin is registered separately. A bundled `ffmpeg-static` build exists, and native ffmpeg is faster. The whisper.cpp model downloads on first use into `~/.peepshow/whisper-models`. Cloud transcription sends the audio track to the provider and needs its key. GIF, APNG and animated WebP carry no audio and that step is skipped. The last commit in the repository dates from October 2026.
How to disable. Run `claude plugin uninstall peepshow@peepshow-marketplace` and `npm uninstall -g peepshow`. The `~/.peepshow` folder with models is removed by hand.
FAQ
How do I install peepshow for Claude Code?
In two steps: `npm i -g peepshow` installs the runtime, then `claude plugin marketplace add t0mtaylor/peepshow` and `claude plugin install peepshow@peepshow-marketplace` register the plugin.
Do I need to install ffmpeg separately?
No, `npm i peepshow` pulls `ffmpeg-static`. Native ffmpeg from brew, choco or apt is faster and knows more codecs.
Do my files leave the machine?
Not by default. With whisper.cpp present, transcription runs locally. A cloud provider turns on with a flag and receives only the extracted audio track.
Which formats work?
MP4, MOV, WebM and MKV video, plus animated GIF, APNG and WebP.
What is a sink?
A result receiver: any executable that reads JSON from stdin. There are 95 built in, and you can write your own in bash, Node or Python.
Discussion
No questions or reviews yet.
Related
PluginsThe eyes CLI and skill for agents: a video index, search by words and on-screen text, close-up frames and editing metrics
Claude Video Vision
claude-video-vision
An MCP server and Claude Code plugin that let the agent watch video: frames via ffmpeg and audio transcription via Gemini, local Whisper or OpenAI
Claude Real Video
claude-real-video
A skill that lets Claude watch a video: it pulls scene-aware, deduplicated frames and a speech transcript through whisper from a link or file
A local video studio for your coding agent: describe a video in one sentence, the agent directs, your machine renders with no cloud
watch-cli is a skill and CLI that hands an agent the frames and transcript of any social video so it can read the clip itself.
VK video watching plugin
vk-video
A Claude Code plugin that analyzes video from vkvideo.ru, vk.com and vk.ru: downloads the clip, transcribes audio with whisper and extracts frames
README in short
The README frames the project as a path from video to frames to a language model. It describes drag and drop in Claude Code, the audio track with transcription, the built-in sinks and manifests for eight or more agents. A per-OS install table and separate steps for the Claude plugin and the Gemini CLI extension follow.