Install?
Screenshot any Adom Wiki page in synthesized light mode and show it to the human via adom-shotlog. Logs a headless Chrome in as the user (single-use magic link, private pages included), applies an invert overlay that keeps images true-color, pixel-verifies the shot is really light, and injects top + full-page captures into shotlog.
adom-wiki pkg install adom/wiki-light-mode
Latest: v1.0.1, published
Contents
README
markdownwiki-light-mode
Screenshot any Adom Wiki page in light mode and show it to the human via adom-shotlog.
The wiki is dark-only by design: color-scheme: dark, no theme toggle, no
light palette anywhere. Sometimes you still want a light rendering: for a doc,
a slide, print, or just preference. This skill synthesizes one that reads like
a real light theme.
adom-wiki pkg install adom/wiki-light-mode
wiki-light-shot adom/core
The same page, as the wiki serves it and as this tool captures it:

What one command does
- Logs in as you. Mints a single-use
adom-wiki auth loginmagic link (60s expiry, one per attempt) and opens it in a headless Chrome inside the container, so private pages work. No stored browser profile, no long-lived cookie. - Renders the page at 1920x1200 (configurable), waits for the app to settle.
- Applies the light overlay:
invert(1) hue-rotate(180deg)on the page, re-inverted on raster media so heroes and screenshots keep their true colors. - Proves it worked: decodes the PNG and computes mean luminance. A light capture scores ~195/255; if the page still reads dark (markup drift), you get a loud WARN instead of a silently-wrong image.
- Saves two shots, top of page and full page (height-capped, default 8000px), and injects them into adom-shotlog, where the broker surfaces the channel to the human and reports whether a viewer is on-screen.
Hardening
- Session containment: refuses any target host except
wiki.adom.inc, and blocks non-wiki subresource requests at the network layer. The logged-in session cannot be carried to another site. - Self-healing deps:
puppeteer-coreauto-installs into the skill package on first run (--no-save: the wikipackage.jsondependencies field, which holds wiki refs, is never touched). - Chrome discovery: puppeteer cache (newest version first), then system
binaries, then a
WIKI_LIGHT_CHROMEoverride. - Retries: fresh login link per attempt; one navigation retry; hard timeouts on every subprocess and navigation; browser cleanup on any exit.
- Honest failures: every error is an
ERROR:plus aHint:naming the next command to run.--jsongives a{ status, data, hints[] }envelope.
Flags
| Flag | Meaning |
|---|---|
--out DIR |
output directory (default ./wiki-light-shots) |
--channel NAME |
shotlog channel (default: page slug) |
--no-inject |
save PNGs only |
--no-auth |
anonymous (public pages only) |
--keep-dark |
capture as-is, no overlay |
--viewport WxH |
default 1920x1200 |
--full-max PX |
full-page height cap (default 8000) |
--json |
machine-readable envelope |
Requirements
Node 18+, a Chrome/Chromium on the machine (any puppeteer-cache or system
install; the tool finds it), and the adom-wiki CLI for auth. adom-shotlog
is optional but strongly recommended: without it the shots only land on disk,
where a human in a text thread will never see them.