Html css render qa automation
Skill lubochka/xiigen-mvp-engine/.agents/skills/html-css-render-qa-automation
Self-building AI code generation engine that generates application flows instead of implementing them. AGPL-3.0.
npx -y skills add lubochka/xiigen-mvp-engine --skill html-css-render-qa-automationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 14 days oldThe repository was created 14 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
The server-side render-QA contract for XIIGen mvp design-to-code evidence: a deterministic viewport-matrix render of built React/Vite screens with a fixed artifact schema (render_run_id, candidate_ref, viewport_results, rendered_screenshot_ref, asset_resolution_report, qa_status) and gates for multi-resolution, server-side rendering, stability re-render, timeout/cost, and asset isolation. Render-QA blocks but does NOT prove model quality.
SKILL.md
6.1 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
SK-563 HTML/CSS Render-QA Automation (GUIDE) — Server-side render contract
Design-to-code needs evidence that the produced screen actually renders across resolutions, deterministically, server-side — not an ad-hoc local browser look. This GUIDE wraps the existing mvp Playwright capture into a deterministic render-QA contract with a fixed artifact schema.
Why this guide exists (the gap it closes)
mvp already has a PNG harness (e2e/, client/e2e/,
client/playwright.config.ts, scripts/ux-quality-score.sh,
docs/screen-examination/*-matrix). What it lacked is a formal render-QA
contract: fixed viewports, deterministic fonts/seed, a stability re-render, an
asset-resolution report, and a qa_status artifact schema. SK-563 supplies that
contract over the existing capture. It is design-to-code evidence, not model
training (that boundary stays in llm_mvp_core — see Section 6).
When to Invoke
- When producing render evidence for a generated/built screen (design-to-code).
- Before accepting a screen's visual evidence as a QA artifact.
- When wiring or extending
e2e//client/e2e/capture into a repeatable run.
Section 1 — The five render-QA gates
- Multi-resolution — every screen is rendered at a fixed viewport matrix, minimum desktop / tablet / mobile. RTL (he) is a distinct state, not a viewport.
- Server-side / deterministic — render through the built app driven by
Playwright headless with pinned browser, pinned fonts, and a fixed
?mock=<state>seed. No "looked fine on my machine" capture. - Stability — render twice; the two captures must match within tolerance (pixel-diff under a declared threshold). A flaky screen fails until stable.
- Timeout / cost — each render has a max wall-time and a max retry budget; exceeding it is a recorded failure, not a silent hang.
- Asset isolation — a missing font/image/CSS asset is evidence in the
asset_resolution_report, never silently ignored. Missing assets fail the gate for that viewport.
Section 2 — Fixed viewport matrix (mvp defaults)
| Viewport | Width × Height | Tailwind breakpoint intent |
|---|---|---|
| desktop | 1440 × 900 | lg/xl layout |
| tablet | 768 × 1024 | md layout |
| mobile | 375 × 812 | base layout, tap targets ≥44px (FC-18 UX-09) |
States captured per viewport: loading, empty, populated, error (drive
with ?mock=). The populated capture is the one that satisfies FC-18 UX-06b
as visual evidence. RTL (he) is captured as an additional state where the flow is
world-facing.
// playwright.config.ts projects encode the matrix (desktop/tablet/mobile),
// each test navigates `?mock=<state>` and screenshots into the run folder.
Section 3 — Artifact schema (qa_status)
Every render run writes one artifact (JSON) per candidate screen:
{
"render_run_id": "rqa-2026-06-29-flow-29-topology-001",
"candidate_ref": "client/src/pages/adaptive-rag/TopologyPage.tsx",
"viewport_results": [
{
"viewport": "desktop",
"state": "populated",
"rendered_screenshot_ref": "artifacts/render-qa/rqa-…/desktop-populated.png",
"stability": { "second_render": true, "pixel_diff_ratio": 0.004, "within_tolerance": true },
"render_ms": 1820,
"status": "PASS"
}
],
"asset_resolution_report": {
"fonts_loaded": ["Inter"],
"images_requested": 4,
"images_resolved": 4,
"missing_assets": []
},
"timeout_budget_ms": 8000,
"qa_status": "PASS"
}
qa_status is PASS only when every required viewport/state rendered, every
render was stable within tolerance, no required asset is missing, and no render
exceeded the timeout budget. Otherwise qa_status is FAIL with the failing
viewport/state named. Write artifacts under artifacts/render-qa/<render_run_id>/
for the React/Vite build.
Section 4 — Run procedure
- Build the client (
vite build) or run a pinned preview server. - For each candidate screen, for each viewport, for each state: navigate
?mock=<state>, wait for deterministic ready signal, screenshot. - Re-render once for the stability check; compute pixel-diff ratio.
- Collect the asset-resolution report from network responses.
- Emit the
qa_statusartifact; fail the run on any gate breach.
Oversized capture scripts must live as a script-file runner under the run folder and be executed by path (not pasted inline), with stdout/stderr and exit code captured.
Section 5 — Internal-authority boundary
Render-QA is a blocking gate, not a quality proof. A qa_status=PASS means
"the screen renders deterministically across resolutions with all assets" — it
does not mean the design is good (that is SK-560 + SK-541) and does not
mean a model is accurate. Do not let a green render-QA artifact stand in for
visual-craft acceptance or model evaluation.
Section 6 — What stays in llm_mvp_core (not here)
Any trainable render/visual model — DPO triples, held-out/ablation evaluation,
checkpoints, promotion of common models — lives in llm_mvp_core (G12 / R5/R6).
On mvp, SK-563 is purely the evidence-layer render contract; it does not build,
train, or promote a model.