visionaire-verify

A visual-checking workflow for web code that changes how a page looks. It uses Visionaire MCP to measure the rendered page and return a PASS or FAIL result.

In plain words
What is it for?
Use it after visual edits to check layout and responsive views at 375, 768, and 1280 pixels. It can preview the impact of shared selectors and help diagnose failed checks.
Why use it?
It removes guesswork when reading CSS or markup cannot show whether the page actually looks right. It also prevents claiming a fix worked before checking the rendered result.

Cursor rule

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/mi60dev/visionaire-engine/visionaire-verify
Clone the repo
git clone --depth 1 https://github.com/mi60dev/visionaire-engine
Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 507 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.00507
Opus 5 $0.00000 $0.00253
Sonnet 5 $0.00000 $0.00101
Haiku 4.5 $0.00000 $0.00051

Measured 2d ago against content hash a7ce46da74e6, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

visionaire-verify scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

harness/cursor/rules/visionaire-verify.mdc · 37 lines

What it actually says

You are editing files that affect rendering. You cannot see rendered pixels — use the Visionaire MCP tools to replace guessing with deterministic PASS/FAIL verdicts. This applies to CSS/SCSS, styled-components, Tailwind classes, template/JSX markup, and inline styles. If in doubt, verify.

The loop (do this every time, in order):

  1. BEFORE editing a shared selector (a class used in more than one place), call impact_preview { selector }. If it matches more than ~3 elements or spans multiple visual roles, tell the user what will be touched before you edit.
  2. Make the smallest edit that could fix the issue.
  3. AFTER the edit, verify — do NOT claim success from reading the code:
    • If a suite exists for this area, call assert_visual { suite_id }.
    • Otherwise state your claim as assertions, e.g. assert_visual { assertions: [{ type:"equal_height", targets:[{selector:".card"}] }] }.
  4. If the verdict is FAIL, read measured and offending_uids, then call diagnose { uid: , symptom:"auto" } and fix the named culprit. Repeat from step 2. Do not tell the user it is fixed until the verdict is PASS.
  5. For anything responsive, run responsive_sweep { run:{ suite_id } } across 375 / 768 / 1280 / 1920 before claiming done.
  6. When comparing to a mockup, use visual_diff { reference:{ image_path } } and drive divergence below the user's accepted threshold.

Hard rules:

  • Never say "now they are equal", "now it's centered", "this is fixed", or similar without a PASS verdict from assert_visual in the same turn.
  • Report the actual measured numbers to the user (e.g. "412px vs 388px → now 400px vs 400px, PASS").
  • If a tool returns TARGET_NOT_FOUND, your selector is wrong — re-check with find_elements, do not assume.
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 37 lines · 507 tokens per session scan A a7ce46da74e6

Subscribe to this mod's changes

visionaire-verify is a cursor rule published in the GitHub repository mi60dev/visionaire-engine (4 stars, last pushed 21d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 507 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.