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.
npx skills add Olorinm/visual-review-workbench --skill review-frontend-variantsgit clone --depth 1 https://github.com/Olorinm/visual-review-workbenchWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/olorinm/visual-review-workbench/review-frontend-variants)<a href="https://agentmods.dev/skills/olorinm/visual-review-workbench/review-frontend-variants"><img src="https://agentmods.dev/badge/skills/olorinm/visual-review-workbench/review-frontend-variants/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/olorinm/visual-review-workbench/review-frontend-variants"><img src="https://agentmods.dev/badge/skills/olorinm/visual-review-workbench/review-frontend-variants.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00099 | $0.03512 |
| Opus 5 | $0.00049 | $0.01756 |
| Sonnet 5 | $0.00020 | $0.00702 |
| Haiku 4.5 | $0.00010 | $0.00351 |
Grade A, and why
review-frontend-variants 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 10d 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.
How it starts
The opening of the file, as written. The whole thing — 240 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Review Frontend Variants
Optimize for one outcome: let the user quickly see the real original UI and the real changed UI under the same screen, state, data, theme, and viewport.
Create a local review surface that shows only what the user asked to review:
- For a current-component catalog, show the live current product components.
- Add external product references only when the user explicitly asks for them.
- Add Before and Candidate only after a real candidate implementation exists.
- Make switching screens and states cheap; do not make each new screen require reverse-engineering product persistence.
Treat “list the components” as “show rendered visual specimens for each relevant component or state,” not “list component names, architecture, responsibilities, or source paths.”
Core rules
- Use
scripts/ui_review.mjsfor the review page. Do not hand-write a custom showcase HTML unless the user explicitly asks for a custom page. - When the packaged MCP server is available, use its single
visual_review_workbenchtool for opening, refreshing, verifying, capturing, and closing the workbench. Keep route scaffolding, fixture handling, measurement, and recording as private script operations rather than separate public tools. - Keep the page visually neutral and compact. Do not add a hero, marketing copy, statistics, architecture diagrams, inventories, explanatory cards, or decorative sections.
- Import product components into a development-only app review route and render them live with their real providers and styles.
- Drive the review scenario, variant, theme, locale, and other panel-specific state from the URL. Never select a panel's screen by mutating user
localStorage, a persisted Zustand/Redux snapshot, or another iframe-shared store. - When scenario tabs represent interchangeable versions of the same product, preserve the active inner screen across version switches. Configure
preserveQueryParamsin the review shell and have the app-owned route postui-review:set-query-parambefore navigating that screen. - Do not label anything Candidate unless its implementation actually differs from the current or baseline code. A query parameter by itself is not a candidate.
- Use screenshots or recordings for external closed-source references, not as a shortcut around importing product components.
- Treat raster pixel dimensions as untrusted UI geometry. Before using a screenshot or recording to judge font size, spacing, control size, or viewport density, establish its logical size or mark it structure-only. Never stretch an unnormalized Retina/HiDPI reference to fill a panel.
- Probe every live product route before sharing it. A route that returns an HTTP error or renders the configured error selector is not valid evidence.
- Keep both shell viewing modes available:
适应框内scales the configured logical viewport into the review panel, while原始 100%preserves the logical viewport and exposes panel scrollbars for exact-size inspection. For a landscape live-product panel, cap fitted view at 80% and reduce it further only when the panel is too narrow. In fitted mode, keep the review frame fixed and size the iframe viewport to the available frame height after scaling so scrolling occurs inside the real product; do not add a second outer scroll layer. In original mode, preserve the configured logical viewport and use the shell scrollbars for exact-size inspection. - Keep the review surface height independent from the configured logical viewport height. The fit control must show its computed percentage; original mode must have measurable horizontal or vertical overflow whenever the logical viewport exceeds the surface, otherwise the two modes are not meaningfully different.
- Make long live-product screens scroll inside the product iframe, not only in the review shell. Give the app-owned review route a bounded viewport height, preserve the product's real scroll container, and verify that the screen can be scrolled from top to its actual bottom before delivery.
- Default to horizontal
columns. Use verticalrowsonly when the user asks for it or side-by-side content is genuinely unreadable. - Do not hand-recreate product UI in the comparison page. The page is a thin alignment frame, not an implementation.
- Keep labels short. Let the visible components carry the comparison.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 10d ago First seen · 240 lines · 99 tokens per session scan A 5f3feb3f8417
review-frontend-variants is a skill published in the GitHub repository Olorinm/visual-review-workbench (0 stars, last pushed 1mo ago), licensed MIT. It adds 99 tokens to every session and 3,512 once invoked, about $0.0005 per session on Opus 5. 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.
Other skills, from other repositories
chakra-ui-builder
Build responsive, accessible UI components and layouts using Chakra UI v3, install or configure Chakra UI in new and existing projects, and design scalable themes using tokens, semantic tokens, recipes, and slot recipes. Use this skill whenever a user asks to build, create, or generate any UI component, page, form…
visual-ralph
Visual Ralph orchestration for frontend UI from generated references, static references, or live URL targets, using $ralph with built-in visual verdict and pixel-diff evidence until the implementation matches and leaves a reproducible design system.
frontend-visual-qa
Audits already-rendered web, landing-page, HTML deck/slide, browser tool/game, dashboard/admin, design-system, and desktop UIs using real-browser or native-app journeys, inspected screenshots, DOM geometry, responsive or projection viewports, and a bundled Playwright sweep. Use after UI implementation to find…
prototype-web
A clickable, high-fidelity web product prototype with navigation, a hero section, feature cards, steps, social proof, and optional pricing. It is designed to resemble a finished landing page while remaining a prototype.
animation-principles
Apply animation principles — easing, staging, follow-through — to one specific UI motion. Use when tuning how an animation feels. For product-wide duration and easing tokens use motion-system (design-systems); for a full interaction spec use micro-interaction-spec.
refactoring-ui
Audit and fix visual hierarchy, spacing, color, and depth in web UIs. Use when the user mentions "my UI looks off" (or amateur/unprofessional), "fix the design", "Tailwind styling", "color palette", "visual hierarchy", "design system", "spacing scale", or "component styling". Also trigger when building consistent…