Now agents can show their work on pull requests, too.
GitHub doesn't have first-class uploads for agents. The uploads CLI gives them one command: uploads attach puts screenshots and recordings on the PR, hosted at stable URLs with tagged metadata, in one tidy comment.
$ uploads attach ./before.png ./after.png
└─▶ which lands on your pull request as:
📎 Attachments
# what else it does
one managed comment
attach keeps a single attachments comment per PR or issue. Run it again and the same comment updates — no comment spam.
stable, hash-free urls
Keys like gh/you/app/pull/123/shot.webp never change. Re-upload the same filename and every embed shows the new image in about a minute.
images optimized, video passed through
Images are re-encoded to WebP with EXIF stripped. MP4, WebM, GIFs, and other files upload as-is.
device frames
--frame phone, browser, or iphone-16-pro puts a raw screenshot inside device chrome.
shareable galleries
Group uploads into a public gallery page at uploads.sh/g/… — one link for a whole set of media (via the API).
workspaces
Each workspace gets its own tokens, storage caps, upload limits, and retention rules. Nothing is shared between them.
▸ Setting up an agent to do this end to end? Read the guide: how to get agents to upload screenshots & video to GitHub.