app
Shotlog - Screenshot Log
Public Made by Adomby adom
See the shots your AI never showed you, and know it actually SAW them. adom-shotlog streams every screenshot the AI gathers into a live gallery (webview/pup/browser/phone), reports whether a human is really watching and on which surface, and ingests Adom Bridge child-window arrays via --meta.
← Commit history
Publish 0.29.3
8 files changed
+30−23
SKILL.md+9−4@@ -1,6 +1,10 @@ --- name: adom-shotlog-description: "Screenshot log viewer and injector. Use when: logging screenshots during debug loops, documenting visual progress, reviewing screenshot history, opening the screenshot log panel, injecting a screenshot into the log, ingesting an Adom Bridge screenshot response with child windows (owned popups). Trigger words: adom-shotlog, shotlog, screenshot log, shot log, visual log, screenshot history, log screenshot, open shotlog, screenshot viewer."+description: >-+ Screenshot log: inject the screenshots an AI takes into channels and show them to the human live+ in a gallery (webview, pup or phone). Use when logging screenshots during a debug loop, showing+ the human a shot, opening shotlog, reviewing screenshot history, or ingesting an Adom Bridge+ window shot. --- # adom-shotlog - Screenshot Log@@ -10,14 +14,15 @@ screenshots in channels. AI agents inject screenshots as they work; you watch them arrive live in a gallery (desktop or mobile), newest first, each with its description, source, and **both** the stored and original resolution. -Binary: `/usr/local/bin/adom-shotlog` (the `shotlog` command is a back-compat alias).+Binary: `~/.local/bin/adom-shotlog` (the `shotlog` command is a back-compat alias). ## This skill pack (main + sub-skills) This is the **main** (user) skill. Deeper topics ship in the same `adom/adom-shotlog` repo using the wiki's three-tier layout: `skills/` = USER (ships + installs for everyone), `dev-skills/` = DEV (source-only), and-`publish-skills/` = PUBLISH (source-only).+`publish-skills/` = PUBLISH (source-only). The dev and publish skills are NOT+installed: read them in the page repo (`adom-wiki repo clone adom/adom-shotlog`). | Skill | Tier | What it's for | |-------|------|---------------|@@ -314,7 +319,7 @@ adom-shotlog install # install binary + this skill + completions + ## Channel naming -Use the project or task name: `board-review`, `hd-setup-steps`, `debug-session`.+Use the project or task name: `board-review`, `setup-steps`, `debug-session`. ## Handles: let the human NAME a shot
install.sh+1−1@@ -1,5 +1,5 @@ #!/bin/bash-# adompkg install hook for adom-shotlog: place the binary, deploy the main skill ++# adom-wiki pkg install hook for adom-shotlog: place the binary, deploy the main skill + # completions via the binary's own `install`, then deploy every bundled sub-skill. set -e HERE="$(cd "$(dirname "$0")" && pwd)"
package.json+3−4@@ -1,6 +1,7 @@ { "slug": "adom-shotlog",- "version": "0.29.2",+ "version": "0.29.3",+ "changelog": "0.29.3: skill cleanup: shorter descriptions, the dev and publish skills no longer ship in the package, retired adompkg and adom-bridge-cli names replaced. Same 0.29.2 binary.", "type": "app", "title": "Shotlog - Screenshot Log", "description": "See the shots your AI never showed you, and know it actually SAW them. adom-shotlog streams every screenshot the AI gathers into a live gallery (webview/pup/browser/phone), reports whether a human is really watching and on which surface, and ingests Adom Bridge child-window arrays via --meta.",@@ -26,8 +27,6 @@ "VERSION", "LICENSE", "tools/**",- "dev-skills/**",- "publish-skills/**", "hooks/**" ], "install": {@@ -54,7 +53,7 @@ "dont foreground", "taskbar flash" ],- "discovery_pitch": "Your AI screenshots its work into channels and you review it live anywhere, even your phone. Every shot records its original capture resolution, and Adom Desktop child-window arrays come through with their coordMap.",+ "discovery_pitch": "Your AI screenshots its work into channels and you review it live anywhere, even your phone. Every shot records its original capture resolution, and Adom Bridge child-window arrays come through with their coordMap.", "visibility": "public", "tags": [ "cli",
page.json+4−5@@ -1,6 +1,6 @@ { "slug": "adom-shotlog",- "version": "0.29.2",+ "version": "0.29.3", "type": "app", "title": "Shotlog - Screenshot Log", "description": "See the shots your AI never showed you, and know it actually SAW them. adom-shotlog streams every screenshot the AI gathers into a live gallery (webview/pup/browser/phone), reports whether a human is really watching and on which surface, and ingests Adom Bridge child-window arrays via --meta.",@@ -26,8 +26,6 @@ "VERSION", "LICENSE", "tools/**",- "dev-skills/**",- "publish-skills/**", "hooks/**" ], "install": {@@ -54,7 +52,7 @@ "dont foreground", "taskbar flash" ],- "discovery_pitch": "Your AI screenshots its work into channels and you review it live anywhere, even your phone. Every shot records its original capture resolution, and Adom Desktop child-window arrays come through with their coordMap.",+ "discovery_pitch": "Your AI screenshots its work into channels and you review it live anywhere, even your phone. Every shot records its original capture resolution, and Adom Bridge child-window arrays come through with their coordMap.", "visibility": "public", "bundled": true, "tags": [@@ -75,5 +73,6 @@ "email": "[email protected]" }, "brief": "See the shots your AI never showed you, and know it actually SAW them. adom-shotlog streams every screenshot the AI gathers into a live gallery (webview/pup/browser/phone), reports whether a human is really watching and on which surface, and ingests Adom Bridge child-window arrays via --meta.",- "updated_at": "2026-08-10T02:27:13.640Z"+ "updated_at": "2026-08-10T02:27:13.640Z",+ "changelog": "0.29.3: skill cleanup: shorter descriptions, the dev and publish skills no longer ship in the package, retired adompkg and adom-bridge-cli names replaced. Same 0.29.2 binary." }
skills/adom-shotlog-child-windows/SKILL.md+3−1@@ -1,6 +1,8 @@ --- name: adom-shotlog-child-windows-description: "Capture and display a parent window PLUS its CHILD WINDOWS in shotlog - the owned dropdowns, confirm bubbles, and native dialogs that Adom Bridge returns alongside a window shot, ingested via `inject --meta`. Use when: injecting a desktop_screenshot_window response, a captured window had a dropdown/dialog open, showing multi-window captures, or asking how child windows render. Trigger words: child windows, parent window, owned windows, owned popups, ownedPopupCount, window array, desktop_screenshot_window array, --meta, coordMap, dropdown capture, dialog capture, multi-window screenshot."+description: >-+ Sub-skill of adom-shotlog: ingest an Adom Bridge window shot plus its child windows (dropdowns,+ dialogs) via inject --meta. --- # adom-shotlog - parent window + its CHILD WINDOWS (`--meta`)
skills/adom-shotlog-surfacing/SKILL.md+8−6@@ -1,6 +1,8 @@ --- name: adom-shotlog-surfacing-description: "How shotlog should SURFACE a new shot to the human - gently, per surface, without stealing focus. Use when: an AI is injecting shots and deciding how to notify the human, a shot lands unseen, choosing between pup and webview, setting up the preferred slim right-side shotlog panel, or a viewer is backgrounded. Trigger words: shotlog surfacing, don't foreground, taskbar flash, blink the tab, skinny panel, shotlog notification, shotlog update, backgrounded viewer, auto-switch shotlog, shove in my face."+description: >-+ Sub-skill of adom-shotlog: surface a new shot to the human gently per surface (taskbar flash, tab+ blink, slim panel) without stealing focus. --- # adom-shotlog - surfacing updates (don't shove it in the human's face)@@ -44,11 +46,11 @@ Open the pup canvas with `shotlog open -c <ch> --pup`: one shared pup window (session `shotlog`), a tab per channel, idempotent. The URL carries `?surface=pup&session=shotlog`, the viewer reports that session over its WebSocket, and on every new shot the broker AUTOMATICALLY runs-`adom-bridge-cli pup_alert_window {sessionId}` - the orange taskbar flash -+`adom-bridge pup_alert_window {sessionId}` - the orange taskbar flash - debounced per session. Set `SHOTLOG_AD_TARGET=<desktop>` on the server when more than one Adom Bridge is connected. No AI action needed. If a pup viewer has no `session=` handle the broker can't flash it; `inject` hints you to do it-yourself (`adom-bridge-cli pup_alert_window`) - never raise/foreground the+yourself (`adom-bridge pup_alert_window`) - never raise/foreground the window. The viewer's page title also shows a `● N` unseen-shot count. ### Phone / plain browser - in-page title badge@@ -114,14 +116,14 @@ just to show a shot. |---------|-----------|------| | Webview tab | Blink the tab (auto-scrolls into view, no focus steal) | `adom-cli hydrogen alert set --name "Shots: <ch>"` - shotlog does this for you | | Webview (backgrounded editor tab) | System notification | `adom-cli hydrogen notify …` |-| Pup / any window | Orange taskbar flash (FlashWindowEx) | `adom-bridge-cli pup_alert_window {sessionId}` (pup) or `adom-bridge-cli desktop_flash_window {hwnd}` (any window) |-| Any window | Glanceable taskbar status (progress bar + overlay icon) | `adom-bridge-cli desktop_taskbar {hwnd, …}` |+| Pup / any window | Orange taskbar flash (FlashWindowEx) | `adom-bridge pup_alert_window {sessionId}` (pup) or `adom-bridge desktop_flash_window {hwnd}` (any window) |+| Any window | Glanceable taskbar status (progress bar + overlay icon) | `adom-bridge desktop_taskbar {hwnd, …}` | ## Finding & targeting the right window (READ-ONLY, no foreground) You rarely need this for shotlog itself (the server handles surfacing), but when you must locate a viewer window to flash/screenshot it, these Adom Bridge verbs do it-without stealing focus - do NOT shell out to PowerShell, AD already exposes it:+without stealing focus - do NOT shell out to PowerShell, ab already exposes it: | Need | Verb | Notes | |------|------|-------|
tools/deploy.sh+1−1@@ -50,6 +50,6 @@ else echo "no webview tab open - nothing to refresh there" fi # Pup pages reload themselves via the boot-stamp on reconnect; nudge anyway.-adom-bridge-cli --target "${SHOTLOG_AD_TARGET:-AdomLapper}" pup_alert_window '{"sessionId":"shotlog"}' >/dev/null 2>&1 \+adom-bridge --target "${SHOTLOG_AD_TARGET:-AdomLapper}" pup_alert_window '{"sessionId":"shotlog"}' >/dev/null 2>&1 \ && echo "pup session nudged" || true echo "OK: deployed $V and refreshed surfaces."
tools/publish.sh+1−1@@ -29,7 +29,7 @@ if bad: print("ERROR: em/en-dash found in:",sorted(set(bad))); sys.exit(1) PY echo "== publishing adom/adom-shotlog@$VC (org adom, public) =="-( cd "$ST" && adompkg publish --org adom --public --version "$VC" --yes )+( cd "$ST" && adom-wiki pkg publish --org adom --public --version "$VC" --yes ) # Rule: verify ANONYMOUSLY (a 200 with auth proves nothing) + hero bytes. for u in "https://wiki.adom.inc/adom/adom-shotlog" \