app / shotlog
!

Not installable via adompkg

This app has no published release. adompkg install kyle/shotlog will not work until a maintainer publishes a tarball with install.sh and uninstall.sh.

See the publishing docs for the package.json schema and tarball layout required to ship this app.

Shotlog

A Rust CLI + HTTP server for chronological screenshot logging. Shotlog gives you a real-time visual timeline where screenshots are logged with descriptions, organized into named channels, and streamed live to a viewer via WebSocket.

Built for AI-assisted development workflows where Claude Code captures, annotates, and iterates on visual output — and you watch the progress unfold in real time.

Features

  • Named channels — organize screenshots by project or task (board-review, debug-session, 3d-viewer)
  • Real-time WebSocket viewer — new screenshots appear instantly as they're injected
  • Meaningful filenames — descriptions become filenames, so your screenshot folder tells a story
  • Clipboard paste — Ctrl+V in the viewer to paste and log screenshots with auto-resize
  • Auto-resize — images resized to max 1400px on longest edge (Lanczos resampling)
  • Delete from viewer — remove individual screenshots directly from the timeline UI
  • Persistent storage — channels survive server restarts, recovered from disk on startup

CLI Reference

Start the server

shotlog serve              # Default: port 8820, data in ./screenshots/shotlog
shotlog serve -p 8820 -d ./data   # Custom port and data directory

Check server health

shotlog health
# OK: Shotlog server running on port 8820 with 3 channel(s)

Inject a screenshot

shotlog inject -c board-review -d "PCB layout after routing power traces" -s av_capture screenshot.png
# OK: Injected pcb-layout-after-routing-power-traces.png (1400x765, 538 KB) into channel board-review
#      Saved to: /home/adom/project/screenshots/shotlog/board-review/pcb-layout-after-routing-power-traces.png
Flag Required Description
-c yes Channel name
-d yes Description of what the screenshot shows (becomes the filename)
-s no Source label (e.g. av_capture, pup_screenshot, clipboard)
FILE yes Path to PNG file

Open the viewer

shotlog open -c board-review    # Opens the timeline viewer panel

Resize an image

shotlog resize large.png                # Resize in-place (max 1400px)
shotlog resize large.png -o small.png   # Resize to new file
shotlog resize large.png -w 800         # Custom max width

Install skill + completions

shotlog install    # Deploys Claude Code skill + bash completions

How it works

  1. shotlog serve starts an HTTP server on port 8820 that manages channels (directories of screenshot pairs: .png + .json metadata)
  2. shotlog inject adds a screenshot to a channel with a description that becomes the filename
  3. shotlog open launches the timeline viewer in a browser panel
  4. The viewer connects via WebSocket and shows new screenshots as they arrive — no refresh needed
  5. Users can also paste from clipboard (Ctrl+V) directly into the viewer

Use cases

  • Ralph loops — the primary use case. Claude Code captures screenshots after each iteration of a visual debug loop, injecting them into shotlog so you can watch the fix unfold. Rotate a 3D model, tweak a schematic, iterate on a UI — each step gets logged with a description.
  • Design iteration — log mockup revisions in a channel to see the progression from rough draft to final
  • 3D model review — capture renders from different angles into a channel for side-by-side comparison
  • Bug documentation — build a visual timeline of reproduction steps
  • Animation development — log individual frames to review motion sequences

Install

Paste this into Claude Code:

Install shotlog from the Adom Wiki. Download the binary from https://wiki-ufypy5dpx93o.adom.cloud/static/apps/shotlog/shotlog, place it at /usr/local/bin/shotlog, make it executable, and run shotlog install.