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.

installnpm install -g @buildinternet/uploads

$ uploads attach ./before.png ./after.png

└─▶ which lands on your pull request as:

# 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.

# get set up

clinpm install -g @buildinternet/uploads && uploads login
agentsuploads install # skill + mcp
sign in with GitHubfree to start in the cloud · open source to self-host