5 Commits

Author SHA1 Message Date
James c897cda29e Carry skill-first working-tree changes (video tables, recording notes) 2026-09-02 14:17:00 -04:00
James 91bd233d5d Refocus before-and-after as a thin skill 2026-09-02 13:20:21 -04:00
James a9947b7acd Publish via gh --attach: inline video on GitHub with zero uploads
GitHub CLI 2.99 added --attach on pr/issue create/edit/comment: local file
references in the body are uploaded to user-attachments and rewritten in
place. That replaces the blob-upload + poster-frame workaround on GitHub
surfaces entirely.

format.mjs now defaults to attach mode (no --url-map): images keep the
side-by-side tables with ./relative refs; videos move to their own line
under a bold label, verified against gh 2.99 rendering:

- own-line video ref → bare attachment URL → inline player
- video ref in a table cell → demoted to a plain link
- <video> tags → never rewritten (final-URL trick documented as advanced)

Adds --attach-list (feeds the gh command), keeps hosted mode (--url-map,
poster→mp4 cells) for non-GitHub surfaces, and updates SKILL.md's publish
flow + requirements (gh >= 2.99, 10MB image / 100MB video limits).
2026-09-02 11:42:06 -04:00
James fdc797385c skill-first: SKILL.md + scripts are the product, CLI reduced to a frozen alias
The judgment (targeting, what 'before' means, stateful UI, verification)
lives in SKILL.md; scripts/ keeps only what must be deterministic:

- capture.mjs — parity engine: identical viewport/waits/timing across 1-2
  URLs × N viewports; --record <s> for video (mp4 + poster via ffmpeg);
  emits manifest.json. Positional args survive as the frozen bin alias.
- format.mjs — canonical PR block: side-by-side tables, poster→mp4 video
  cells (GitHub can't inline-play external video), after-only 'Preview'
  mode for net-new pages, attribution + idempotent marker comments.
- prewarm.mjs — idempotent daemon/viewport warm-up.
- upload.mjs — Vercel Blob via BLOB_READ_WRITE_TOKEN → URL map.

Scripts are zero-dependency .mjs (run from a raw skills-add checkout, no
build), version with the SKILL.md, and promise no interface stability.
Removes src/ library, the flag-rich CLI, shell adapters, and their tests;
npm keeps publishing the skill for semver pinning in agent sandboxes.
2026-08-05 12:06:03 -04:00
James 93f4c0f376 init 2026-01-30 17:08:25 -05:00