peepshow/ agents/ gemini

Reel #A-06 ◆ Google Gemini CLI ◆

peepshow for agents / gemini

Gemini CLI — A real extension — two slash commands, one install line, no MCP server.

`gemini extensions install https://github.com/t0mtaylor/peepshow` registers `/peepshow:slides` and `/peepshow:sink` as native Gemini CLI commands.

drop · process · gemini

How it plugs in

peepshow ships as a proper Gemini CLI extension, not just an instruction file. The manifest declares the extension, `commands/peepshow/*.toml` register two namespaced slash commands, and `GEMINI.md` imports `AGENTS.md` so the model has the full CLI contract in context even when you call peepshow by hand. There is no MCP server to run and no daemon to keep alive — the commands shell out to the `peepshow` binary, so npm supplies the runtime and the extension supplies the workflow.

Install

npm install -g peepshow            # runtime
gemini extensions install https://github.com/t0mtaylor/peepshow

# then, inside Gemini CLI:
/peepshow:slides ./demo.mp4

Files involved

  • gemini-extension.json Extension manifest — name, version, and the context file to load.
  • commands/peepshow/slides.toml Registers /peepshow:slides — extraction, frame reading, transcript, annotate.
  • commands/peepshow/sink.toml Registers /peepshow:sink — list, add, remove and condition auto-sinks.
  • GEMINI.md Context file. Imports AGENTS.md so the full CLI contract is always loaded.

Slash commands

Registered by the extension itself — they show up in /help after a restart or /commands reload.

  • /peepshow:slides <video> Runs the extraction, reads every frame in order, reads the transcript, answers, then writes the analysis back into the run's report.
  • /peepshow:sink <intent> Manages the persistent auto-sink list in plain language — including --when conditions like director=Kubrick or extension=mp4,mov.

In practice

user: /peepshow:slides ./demo.mp4
gemini: (runs peepshow → reads frames in order → reads transcript
         → answers → peepshow report annotate)

All 95 sinks still work

The CLI is the same across agents — which means every sink documented under /sinks is available here. Auto-sinks fire regardless of which agent invoked peepshow.

Report + LLM analysis loop

Every run also writes a self-contained report.html + manifest.json next to the frames (see the Report page). When Gemini CLI consumes the frames, the analysis flows back into the report so whoever opens it next sees the model's understanding without re-running the prompt.

echo '{"summary":"<your summary>","provider":"gemini"}' \
  | peepshow report annotate "<outputDir>"

The annotate instruction is wired into the Gemini CLI integration — the agent runs it after reading the frames + transcript. Report walkthrough →