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.
62
72%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./plugins/oh-my-codex/skills/visual-ralph/SKILL.mdUse this skill when the user wants Codex to build or restyle frontend UI through a Visual Ralph loop: an approved generated reference, static reference, or live URL-derived baseline becomes the target, Ralph implements, and Visual Verdict drives measured iteration rather than subjective description alone.
Create a measured frontend delivery loop from either a generated reference, a static reference, or a live URL:
user description / live URL -> approved visual reference -> $ralph implementation -> Visual Ralph verdict + pixel diff -> reproducible design system.
For live URL cloning requests, Visual Ralph owns the migrated $web-clone use case. Do not route new URL-driven website cloning work to $web-clone; preserve the URL, viewport, fidelity requirements, and interaction notes inside the Visual Ralph loop.
This is an orchestration skill. It composes existing skills and must not add runtime commands, dependencies, or app-specific assumptions by itself.
$design or a designer lane.$ralph with Visual Ralph verdict guidance.Before stack-specific choices, inspect local evidence:
Do not hardcode React, Vue, Tailwind, Playwright, or any other stack unless the repository evidence supports it.
For live URL requests, capture or document the URL-derived reference inside the Visual Ralph artifacts and carry forward viewport, content-state, and interaction constraints. Do not invoke $web-clone; that standalone skill is hard-deprecated.
Live URL reference artifacts must include:
For generated UI concepts, use $imagegen to produce the reference from the user's UI description.
Prompt requirements:
ui-mockup, unless another imagegen taxonomy is clearly better,When running under OMX CLI/runtime and a generated reference is part of an active Ralph-style loop, queue a continuation checkpoint before invoking the built-in image tool:
omx imagegen continuation <session-id> --artifact <slug-or-filename> --generated-dir "$CODEX_HOME/generated_images/<session>" --work-dir ".omx/artifacts/visual-ralph/<slug>"This helper records .omx/state/sessions/<session>/imagegen-pending.json and uses the existing Stop-hook follow-up queue. It exists because built-in image generation may have to end the assistant turn immediately; the next Stop checkpoint should resume artifact recovery, copy the generated image into the workspace, and run the required visual QA/verdict gate instead of relying on a manual $ralph re-prompt.
For project-bound implementation, copy the approved reference into the workspace, for example under .omx/artifacts/visual-ralph/<slug>/reference.png. Never leave the implementation reference only in $CODEX_HOME/generated_images/....
Stop after reference generation or URL-derived reference capture and ask the user to approve one reference image/state or request a targeted regeneration/capture adjustment.
Before approval:
$ralph,After approval, the confirmed image or URL-derived baseline becomes the visual source of truth. Major design pivots, replacing the reference, or changing the design direction require an explicit user request.
$ralph for implementationInvoke $ralph with:
Ralph may iterate autonomously after approval. It should edit code, run the app, capture screenshots, and keep improving until the approved reference is matched or a real blocker exists.
For each visual iteration:
vision agent for image understanding when needed.score < 90, convert differences[] and suggestions[] into the next edit plan.Required verdict shape: score, verdict, category_match, differences[], suggestions[], and reasoning.
When mismatch diagnosis is hard, generate a pixel diff or pixelmatch overlay to locate hotspots. Pixel diff does not replace the Visual Ralph verdict; it only helps translate visual hotspots into concrete edits.
Record final diff evidence with the reference/screenshot artifacts so the result can be audited.
The implementation is incomplete unless the visual match is encoded in repo-native reusable artifacts. Depending on the project, this may mean CSS variables, theme tokens, Tailwind config, component variants, Storybook stories, updates that align with DESIGN.md, or existing equivalents.
Capture at least the applicable:
Prefer existing token/component patterns. Do not introduce a new design-system layer if the repo already has one that can be extended.
Do not declare done until all are true:
>= 90 against the approved reference.$ralph "Implement the approved frontend reference.
Reference: <workspace-reference-image-or-url-derived-artifact>
Source URL (if URL-derived): <url and permission/scope note>
Viewport/content state: <viewport, route/state, seed/login assumptions>
Interaction parity notes: <visible controls and known exclusions>
Route/surface: <route or component>
Screenshot command: <command and viewport>
Use the Visual Ralph verdict step before every next edit; pass threshold score >= 90.
Use pixel diff only as secondary debug evidence.
Extract reusable design tokens/components for colors, spacing, typography, radii, shadows, and key variants.
Run build/lint/test before completion.
Do not make major design pivots unless explicitly requested."Task: {{ARGUMENTS}}
435d4a9
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.