Verified against GitHub Copilot Chat · 2026-07-29
Turn a UI screenshot into a scoped Copilot Vision task instead of a vague match this request
A Copilot Vision prompt for an attached screenshot — a design mock, a visual bug, a rendered diff against a spec — that forces a specific, checkable read of the image before any code gets proposed from it.
The prompt
Ready to copy — highlighted parts are example details you can swap.
I am attaching a screenshot. Before proposing any code change, describe back what you actually see in the image, specifically with respect to The two toggle switches should be visually identical in size — only their label text should differ. — do not skip straight to a diff based on a general impression of the image. WHAT THE SCREENSHOT SHOWS A screenshot of the /pricing page showing the annual-plan toggle switch rendered noticeably smaller than the monthly-plan toggle next to it. COMPONENT OR FILE THIS SHOULD MAP TO components/pricing/PlanToggle.tsx WHAT TO COMPARE SPECIFICALLY The two toggle switches should be visually identical in size — only their label text should differ. VIEWPORT OR DEVICE CONTEXT FOR THE SCREENSHOT Captured at 1440px desktop width in Chrome, not a mobile viewport. Work in this order: 1. Describe the specific visual detail in the image relevant to The two toggle switches should be visually identical in size — only their label text should differ. — an exact spacing, color, alignment, missing element, or wrapped text — in concrete terms a reviewer could check against the image themselves, not an impression like 'the spacing looks off.' 2. Read components/pricing/PlanToggle.tsx and state what the current code actually produces for the same detail, so the comparison is between two concrete things rather than between the image and a memory of what the code probably does. 3. State the specific difference between steps 1 and 2 — the actual delta this change needs to close, not a rewrite of the whole component because a full rewrite happened to be easier to generate than a scoped fix. 4. Propose the smallest change that closes that specific delta, scoped only to The two toggle switches should be visually identical in size — only their label text should differ. — if closing it plausibly requires touching something outside components/pricing/PlanToggle.tsx, say so explicitly and why, rather than silently expanding scope to make the fix easier. This is acceptable once both toggles measure the same width and height in the rendered DOM, not just visually similar in a screenshot. CONSTRAINTS - If the screenshot is ambiguous about an exact value — a color that could be one of two nearby shades, a spacing that could be 8px or 12px depending on how the image was captured or scaled — say so and check the actual design tokens or existing CSS values already in components/pricing/PlanToggle.tsx or its stylesheet before guessing a number that merely looks approximately right in the image. - Do not infer functionality from the screenshot that a static image cannot actually show, such as a hover state, an animation, or a loading state, unless A screenshot of the /pricing page showing the annual-plan toggle switch rendered noticeably smaller than the monthly-plan toggle next to it. states which state the image was captured in — a still image of a button says nothing certain about what its hover or disabled state looks like, and inventing one is a guess dressed as an observation.
Customize
Optional — swap in your own details for the highlighted parts above.
Why this works
Forcing a description of the image before any code is proposed counters Vision's tendency to jump straight to plausible-looking code from a holistic visual impression of the screenshot rather than a grounded, checkable detail — an image gives the model a different and less precise kind of evidence than a DOM snapshot or a CSS diff would, so recovering precision requires making it state the exact detail in words a reviewer can independently verify against the same screenshot, rather than trusting a code diff generated straight from a general impression to have implicitly gotten that detail right. Requiring a separate read of what the current code actually produces, rather than relying on the model's memory of what the file probably contains, matters because Vision's read of the screenshot and its knowledge of the target file are two genuinely separate sources of information it has to actively reconcile — treating them as automatically consistent skips the step where the actual mismatch, not an assumed one, gets identified. The ambiguous-value and static-image constraints ground the prompt in a real and often-overlooked limitation of a still image as evidence: an image can be ambiguous between two adjacent color values or two plausible spacing numbers depending on how it was captured or compressed, and it categorically cannot show a hover state, an animation, or a loading state unless the screenshot was specifically captured in that state — a naive match this screenshot request gives the model every incentive to fill either kind of gap with a confident-sounding guess dressed as an observation, and this prompt's constraints exist specifically to make it check an authoritative source, the actual design tokens or CSS already in the file, rather than eyeball a number off the image.
What you get back
1. The annual-plan toggle track measures roughly 32px wide versus 44px for the monthly toggle, based on the screenshot. 2. PlanToggle.tsx applies a size prop conditionally, and the annual variant is passed a compact size while the monthly variant is not. 3. The delta is the size prop being set inconsistently between the two toggle instances. 4. Fix: remove the compact-size override on the annual toggle so both use the component's default size.
Verified against
GitHub Copilot Chat Copilot Chat 1.271 (VS Code, image input) · 2026-07-29
Changelog
- 2026-07-29 — Initial publish, verified against Copilot Chat 1.271 (VS Code) Vision image input.
Need this built into your business?
If a prompt isn't enough — custom software, built and maintained for you — that's Scult's day job.
EXPLORE CUSTOM SOFTWARE
