The missing upload command for coding agents.

GitHub has no real way for an agent to show their work. uploads attach puts screenshots and screen recordings on the PR in one tidy comment — and it comes with the rest of the kit: one-command captures, device frames, and tags you can search later.

installnpm install -g @buildinternet/uploads

Or have your agent set it up

# attach media to the PR for this branch

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

└─▶ And on your pull request:

# tag it, find it later

Every upload can carry custom tags — add your own with --meta, and uploads find brings it all back. Use it to organize visuals from specific parts of your app, form factor, etc.

# tag it on the way up (source URL, app, etc)

$ uploads put ./settings.png --meta path=/account/settings

MARKDOWN: ![settings.webp](https://storage.uploads.sh/gh/you/app/pull/123/settings.webp)

# find it again later ("Do we have any recent screenshots of settings?")

$ uploads find path=/settings

gh/you/app/pull/123/settings.webp path=/account/settings

gh/you/app/pull/456/redesign.webp path=/settings

# what else it does

update-in-place comments

attach keeps a single attachments comment per PR or issue. Run it again and the same comment updates — no comment spam. Agents can manually link visuals too, of course.

device frames

--frame phone, browser, or iphone-16-pro puts a raw screenshot inside device chrome.

one-shot screenshots

uploads screenshot <url> captures and hosts in one step, with both local and remote browser support.

shareable galleries

Group uploads into a gallery that can live across multiple PRs — one link for the whole set that shows linked issues and pull requests.

# get set up

clinpm install -g @buildinternet/uploads && uploads login
agentsuploads install # skill + mcp
promptSet up with your agent

paste the prompt into your coding agent — or read the full guide.

sign in with GitHubfree to start in the cloud · open source to self-host