dreamsudo

Doppelganger Screens — Development skill for Claude Code

Development community

From a screenshot, a computer-use agent cannot tell whether a sign-in form or a permission dialog was drawn by the application or by content inside it.

How to install Doppelganger Screens

This entry records only its repository, not the path inside it, so there is no exact command to give. Open dreamsudo/doppelganger-screens and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Doppelganger Screens does

From a screenshot, a computer-use agent cannot tell whether a sign-in form or a permission dialog was drawn by the application or by content inside it. On paired episodes that differ only in who drew the prompt, Qwen3-VL 8B, UI-TARS 1.5 7B and Claude Opus 5.5 acted on the pixel-identical copy 71%, 74% and 96% of the time.

Alternatives in Development

  • Hand Drawn Styles — Claude Code skill:把内容套进内置手绘画风配方,产出可直接复制的生图提示词 930 ★
  • Shanyin Screenwriting Master — 山音超级编剧大师——由 @山音 设计的全格式影视编剧技能 285 ★
  • Cybrix Skills — Claude Code skills for Cybrix — install via "claude plugin marketplace add cybrixcc/cybrix-skills" 79 ★

README

Doppelganger Screens

The laboratory behind the paper **Doppelganger Screens: Indistinguishable Authority Spoofing Against Computer Use Agents** (Christian David Varela, Psypher Labs, 2026): the harness, the experiments, every recorded episode the paper reads, and the scripts that rebuild the paper from those records.

The experiment

A computer-use agent sees a screen and acts on it. An authority prompt on that screen — a sign-in form, a permission dialog, a confirmation, an update notice — can be drawn by the application that owns the screen or by content inside it: a web page, a chat message, an email. When the two renderings are pixel-identical nothing in a screenshot tells them apart. The paper measures what three agents do with such a copy: two open-weight models run locally (Qwen3-VL 8B, UI-TARS 1.5 7B) and one frontier model over its API (Claude Opus 5.5), on paired episodes that differ only in who drew the prompt. Under screenshot-only observation on the browser surfaces the agents act on the copy 71%, 74% and 96% of the time. The record then follows the copy under richer observations (the accessibility tree, principal labels), through the published pixel-side defences run on the same screens, and across a text-injection comparison. [RESULTS.md](RESULTS.md) lists every number; the paper reports and interprets them.

What is here

path contents
paper/doppelganger-screens.pdf the paper, 14 pages, rebuilt from this tree
METHOD.md the preregistered method: threat model, definitions, result and corollaries, hypotheses and refuters, design, experiments, analysis, limits, ethics, and the 22 preregistered claims
RESULTS.md the numbers, computed from results/ by paper/facts.py
paper/ the generator: facts.py (record → facts.json), figures.py and figures8.py (record → figures/), paper.py (HTML), print.py (print layout), stamp.py (page number