Coding agents

Get your coding agent to attach screenshots to its PRs

Claude Code, Codex, Grok, Cursor, or OpenCode. Same workflow, one setup step apart.

How it works #

A coding agent can open a pull request, but it can’t drag a screenshot into GitHub. With the uploads CLI and its agent skills, the agent:

  • Captures or saves a screenshot after each visual change.
  • Stages it on the branch before the PR exists.
  • Posts everything to one attachments comment when the PR opens.

The workflow is the same for every agent. Only the install step differs.

Install #

Install the CLI, sign in once, and add the skills and MCP server to every agent on your machine:

npm install -g @buildinternet/uploads && uploads login
uploads install

Then finish setup for your agent:

Install the plugin to add the reminder that runs before the agent opens a PR:

/plugin marketplace add buildinternet/uploads
/plugin install uploads@uploads

More detail on skills, the MCP server, and the reminder: Set up your agent →

Tell the agent when to capture #

Add this to your project’s instructions file: AGENTS.md, CLAUDE.md, .cursor/rules, or whatever your agent reads.

AGENTS.md
## Screenshots
When a change is visible (UI, layout, styling), capture it as you go.
Don't wait for the PR. After each meaningful visual change:
uploads put ./shot.png --meta path=/route --state after
On a branch, that stages the file for the PR. After opening the PR, run
`uploads attach --promote` to post everything staged. It's safe to run
even if the GitHub App already posted them.

With the GitHub App installed, staged files are posted when the PR opens, with no extra command.

Capture a page #

When the agent can reach the page, uploads screenshot renders it and hosts the image in one step, so there’s no file to hand off:

uploads screenshot http://localhost:3000 --pr 123

Need boxes, labels, or redactions on the capture? Use –annotate — see Capture & annotate →.

FAQ #

Can Claude Code attach screenshots to a GitHub pull request?
Yes. Install the uploads plugin or run uploads install, and sign in once. Claude Code stages screenshots with uploads put as it works, and they're posted to the pull request's attachments comment when it opens.
Can Codex attach screenshots to a pull request?
Yes. uploads install adds the agent skills and the MCP server to Codex. Codex can also load the uploads plugin, which adds a reminder before it opens a PR.
Does this work with Grok, Cursor, and OpenCode?
Yes. uploads install sets up Grok and adds the pre-PR reminder for Grok and Cursor. Cursor and OpenCode connect to the hosted MCP server in their own MCP settings.
What if the agent runs in the cloud with no local shell?
Use the hosted MCP server instead of the CLI. See the guide for cloud agents.