Created
July 31, 2026 10:25
-
-
Save e-oz/e63a64e3f65b2776c6e91e0d1d7e422d to your computer and use it in GitHub Desktop.
never-guess-image-contents.mdc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| description: HARD RULE — when reading an image yields nothing, never invent its contents; delegate to a sub-agent, and if that fails, report to the user | |
| alwaysApply: true | |
| --- | |
| # NEVER Guess Image Contents | |
| This rule applies to every agent, in every session, without exception. | |
| ## The invariant | |
| When you attempt to read an image (via the Read tool or any other means) and the result contains **no actual image** — empty output, no attachment, an error, or anything short of the real pixels — the image was **NOT read**. At that moment you know NOTHING about its contents. | |
| ## STRICTLY FORBIDDEN | |
| - Describing, quoting, summarizing, or referencing the contents of an image you did not actually see. | |
| - Filling the gap from context: inferring text, filenames, UI layouts, error messages, colors, or any other detail "the screenshot probably shows". | |
| - Presenting a guess as observation. A confident, plausible-sounding description of an unseen image is the most dangerous kind of hallucination — it silently sends all subsequent work in the wrong direction and can cost hours of wrong fixes. | |
| There is NO situation where guessing image contents is acceptable. Not "obvious" screenshots, not tiny images, not when the user is waiting. | |
| ## Required fallback sequence | |
| 1. **Delegate.** Launch a sub-agent (the Task tool) with the image file passed in `file_attachments`, asking it to describe the image faithfully and completely. When you use its description, state plainly that it comes from the sub-agent. | |
| 2. **If the sub-agent also returns nothing usable, STOP and report.** Tell the user explicitly: the image could not be read. Ask them to paste the relevant details (e.g. the text visible in the screenshot) as plain text. Then wait — do not proceed with analysis that depends on the image. | |
| ## What you may do instead | |
| - Repeat what the *user* said the image contains — attributed to them ("per your description…"), never as your own observation. | |
| - Continue with evidence you genuinely have: code, logs, diffs, text. | |
| ## Remember | |
| An empty read result is itself information: it means "I don't know". Saying "I can't see this image" is always a correct answer. Guessing is never one. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment