How to give feedback to an AI coding agent
The most effective format for giving feedback to a coding agent is a markdown document with cropped screenshots, source URLs, and written context for each finding.
This guide is the canonical playbook for the broader guides hub. It walks through the format, the workflow, and the failure modes, regardless of which agent you ship with.
What you'll learn
- The five elements that make feedback agent-ready
- A walkthrough from staging issue to agent fix
- Common mistakes that turn good feedback into clarifying-question hell
- How CobaltCapture produces this format with no manual structure work
The five elements of agent-ready feedback
1. Markdown text. Every modern coding agent reads markdown. Slack threads, Notion docs, Linear comments, and Loom transcripts do not survive the trip into a Cursor composer or a Claude Code session. Markdown does. It is plain text with structure, headings, bullets, code blocks, and the structure is what the agent uses to orient.
2. Stable embedded screenshots. A screenshot needs to live at a public URL the agent can resolve. A bitmap pasted into a chat window has no URL the agent can follow if it loses context. A screenshot at https://cobaltcapture.com/r/abc12345/img/1.png is a permanent reference that any agent in any session can fetch.
3. Source URLs. Every finding should be stamped with the URL of the page it came from. Without it, the agent has to grep the repo for which component is on which route. With it, the agent navigates directly to the file most likely to need the fix.
4. Dictated context, not typed. Voice captures the why and the when. "This happens on iOS Safari at viewport widths under 380px, only when the user has scrolled past the fold", in a way that one-line typed feedback skips. The agent uses that context to write a real fix, not a shallow patch.
5. Discrete findings. One issue per section. The wall-of-prose alternative buries the third and fourth findings; the agent fixes the obvious ones and ignores the rest.
A walkthrough: from staging issue to agent fix
Open the staging URL you want feedback on. In a new tab, open CobaltCapture. Hit Capture screen. Pick the staging window. Drag a box around the broken component. Hit Dictate and talk through the problem: "The submit button overflows its container at viewport widths under 380px on iOS Safari. Should respect the existing max-width:100% rule from .btn-primary."
Repeat for each finding. Three to five issues take a couple of minutes. Hit Publish. You get a URL.
In Cursor: paste the URL into the composer with a one-line prompt. "Address the items at this review in order: cobaltcapture.com/r/abc12345." The composer follows the URL, pulls the embedded screenshots inline, and starts producing patches against the components named in the captions.
In Claude Code: drop the markdown export into your repo as feedback.md with curl -fsSL https://cobaltcapture.com/r/<slug>/markdown > feedback.md. Then prompt "Read feedback.md and address items in order. Confirm each fix before moving on."
In Lovable, Bolt, or v0: paste the URL into the chat. The agent follows the URL and the screenshots arrive as part of the next iteration.
Common mistakes
Pasting bitmaps without source URLs. A screenshot in a chat window with no URL gives the agent a single image and no idea where it came from. The agent fixes the symptom and breaks something three components over.
Typing one-line findings. "The button is broken" produces a different patch than "the submit button overflows at 380px on iOS Safari and the soft-validate animation is too aggressive." The first is a guess. The second is a spec.
Sending Looms. Agents cannot watch videos. A Loom URL pasted into a coding agent is read as a string. The recording you made is invisible to the model.
Filing tickets without visual context. A Linear ticket with a paragraph and no screenshot makes the agent ask for the screen. That ask costs an iteration.
Mixing findings together. Reviewers who write paragraphs covering three issues at once force the agent to choose which one to fix first. Discrete H2-per-finding structure removes that ambiguity.
How CobaltCapture fits in
CobaltCapture is the dedicated tool for producing this format. It runs in the browser, no install. The capture flow stamps a source URL on every screenshot automatically. Voice dictation transcribes inline. The output is markdown with embedded image URLs, hosted at a public review URL that any agent can follow.
The same review URL drops cleanly into Cursor's composer, Claude Code's terminal as a downloadable .md, Lovable's chat, and any other modern coding agent that follows pasted URLs. For the per-agent walkthrough, see the dedicated workflow for Cursor. The full hub of agents and workflows lives at agent feedback.
Frequently asked questions
What format works best for feedback to an AI coding agent?
Markdown with embedded screenshots and explicit source URLs works best. Markdown is readable by every modern coding agent, embedded images render inline, and source URLs give the agent the page each issue belongs to.
Should I include screenshots?
Yes. Coding agents like Cursor and Claude Code can process embedded images inline. Without a screenshot, the agent has to guess what the issue looks like, which produces shallower fixes and more clarifying questions.
What about source URLs?
Always include the source URL of the page each finding came from. Without it, the agent cannot locate the component, route, or template the finding refers to. With it, the agent can navigate directly to the file most likely responsible.
How long should each finding be?
Two to four sentences. Long enough to capture the why and any browser or viewport context, short enough that the agent can take it as a single unit of work. Voice dictation tends to hit this length naturally.
Can I send a Loom or video?
Not effectively. AI coding agents cannot watch videos. A Loom URL pasted into Cursor or Claude Code is read as a string the agent cannot process. The narration is lost, and the visual context is invisible.
What is the difference between giving feedback to Cursor vs Claude Code vs Lovable?
The format is the same: markdown with screenshots and source URLs. The delivery differs. Cursor takes pasted markdown directly in the composer. Claude Code reads files in the repo. Lovable accepts a pasted URL in chat. The artifact does not change, only the paste destination.
Frequently asked questions
What format works best for feedback to an AI coding agent?
Markdown with embedded screenshots and explicit source URLs works best. Markdown is readable by every modern coding agent, embedded images render inline, and source URLs give the agent the page each issue belongs to.
Should I include screenshots?
Yes. Coding agents like Cursor and Claude Code can process embedded images inline. Without a screenshot, the agent has to guess what the issue looks like, which produces shallower fixes and more clarifying questions.
What about source URLs?
Always include the source URL of the page each finding came from. Without it, the agent cannot locate the component, route, or template the finding refers to. With it, the agent can navigate directly to the file most likely responsible.
How long should each finding be?
Two to four sentences. Long enough to capture the why and any browser or viewport context, short enough that the agent can take it as a single unit of work. Voice dictation tends to hit this length naturally.
Can I send a Loom or video?
Not effectively. AI coding agents cannot watch videos. A Loom URL pasted into Cursor or Claude Code is read as a string the agent cannot process. The narration is lost, and the visual context is invisible.
What is the difference between giving feedback to Cursor vs Claude Code vs Lovable?
The format is the same: markdown with screenshots and source URLs. The delivery differs. Cursor takes pasted markdown directly in the composer. Claude Code reads files in the repo. Lovable accepts a pasted URL in chat. The artifact does not change, only the paste destination.
Capture your first review.
About a minute from open tab to a shareable URL your agent can ingest.
Start capturing