ui-cloner-quality-check
UI Cloner — Phase 4: Quality Self-Check
Overview
Before delivering the final prompt, run through the full fidelity checklist below. If any item is missing, generate the missing content and insert it — do not deliver an incomplete prompt.
Announce: "Running Phase 4 — Quality Self-Check before delivery."
Read AUDIT_MODE from plans/01-site-dna.md. High-Fidelity mode must pass all 5 fidelity domains. Standard mode must pass the Core Checklist.
Core Checklist (Both Modes)
Verify the generated prompt contains ALL of the following:
- Named aesthetic identity — 5–8 word poetic description of the site's soul (derived from user's 3 adjectives + reference site's motion philosophy)
- Complete design system — named colors (semantic name + descriptive word + hex), typography roles with usage rules, texture/radius/shadow spec
- Every section has a poetic component name — using the [Evocative Adjective/Noun] + [Functional Description] formula
- Every interactive component has implementation-level behavior spec — state logic, triggers, resets, JS patterns, CSS property targets
- At least one cubic-bezier or timing value per animated component — no animation described without exact easing or duration
- Color hierarchy preserved — reference Primary/Accent/Background/Dark mapped to user's palette in structural roles (not randomly reassigned)
- Technical requirements section explicitly specified — stack, animation library, lifecycle management, hover implementation, font loading, image sources
- Execution directive as the final line — italicized or quoted philosophical sentence about HOW to feel while building (not what to build)
High-Fidelity Fidelity Domains (HF Mode Only)
LAYOUT FIDELITY
- ASCII wireframe present for EVERY section (not omitted, not replaced with prose)
- Internal component layouts documented with dimensions and positioning logic
- Grid/flex layout system specified per section — the EXACT column structure (not "use a grid")
VISUAL COMPOSITION FIDELITY
- Hero composition fully specified — if the Site DNA shows a multi-element composition (Composition Map exists), the prompt must specify: element count, arrangement, per-element blur/opacity/rotation, and spatial relationship to centerpiece. A hero described as "phone mockup" when the DNA shows "phone + fanned cards" is a CRITICAL failure.
- No flattened descriptions — search the prompt for vague descriptions like "shows [device] with [app]", "animation plays", "cards appear", "warm palette". Each must be replaced with exact specifications. Every visual element must be individually described.
- Opaque media decomposed — any Lottie, SVG, or canvas element is described by its rendered visual output (what you see), not its DOM representation (one node)
ANIMATION FIDELITY
- Every animated element has a timeline entry with
t=Xmsnotation - At least one
cubic-bezier()or named easing value per animated component - Scroll trigger positions specified —
start: top 80% viewportformat (not "when visible") - Stateful components have full state machine notation
INTERACTION FIDELITY
- Every interactive element has a DEFAULT → HOVER property diff table
- Special mechanisms (pseudo-element slides, clip-path reveals) are explicitly named
- Transition durations and easings specified per interaction
DESIGN SYSTEM FIDELITY
- Complete palette with semantic names + hex codes
- Typography scale with all 5+ roles specified with exact values
- Typographic drama ratio from Step 1.2 ⚑ DRAMA NOTES explicitly preserved
TECHNICAL FIDELITY
- Exact tech stack specified with library names and versions
- Animation lifecycle management specified (e.g.,
gsap.context()/ cleanup) - Font loading method specified
- Scroll trigger setup specified
- Execution directive present as final line
Zero Generic Language Enforcement (Both Modes)
Scan the entire prompt for any instance of the following phrases. Each is a fidelity failure — replace with exact values:
| Generic phrase | Replace with |
|---|---|
| "some animation" | specific element + t=Xms timeline or duration |
| "nice hover effect" | exact property diff: DEFAULT→HOVER state table |
| "smooth transition" | exact duration + easing value |
| "add appropriate padding" | exact px/rem value |
| "use a gradient" | exact direction + stop values + hex codes |
| "make it feel premium" | specific design decisions that produce that feeling |
| "add content here" | exact content or Unsplash URL with aesthetic description |
| "similar to" | copy the exact value, don't reference by comparison |
Additional banned flattening patterns:
- "Shows [device] with [app/interface/UI]" → must describe what's ON the screen AND what's around the device
- "Large [animation/illustration/graphic]" → must specify dimensions, element count, arrangement
- "Warm/cool palette" → must list every color with hex and role
- "Text animates in" → must specify per-word/per-line, stagger, easing, duration
- "Cards/elements appear" → must specify how many, from where, in what order, with what timing
- "[N] items" without describing layout → must specify grid/flex/stack, gaps, alignment
Failure Protocol
If any item is unchecked:
- Identify exactly what's missing
- Generate the missing content inline using the correct format from the Site DNA (don't soften or approximate)
- Insert it into the correct location in the prompt
- Re-check that item before proceeding
Do not deliver until all applicable items are checked.
Delivery
Once all applicable items pass:
- Save output: Write the final verified prompt to
plans/04-final-prompt.mdin the current project directory. - Output the complete final prompt in a single fenced code block so the user can copy and paste it cleanly.
- Confirm: "Your replication prompt is ready. Paste it into Claude or your preferred code generation tool to build the site. All phase outputs are saved in
plans/."
More from ragnar-pwninskjold/tech-snacks
ui-cloner
Use when user provides a URL and wants to replicate or clone a website's UI, design, or visual style for their own product. Entry point for the full 4-phase SRIP pipeline.
36ui-cloner-forensic-audit
Use when performing a forensic analysis of a target website as part of the UI cloning pipeline. Phase 1 of SRIP — runs steps 1.1 through 1.9 and produces a Site DNA document.
16ui-cloner-brand-interview
Use when Phase 1 forensic audit is complete and it's time to collect brand information from the user. Phase 2 of SRIP — presents all 12 brand questions in a single message and waits for answers before proceeding.
14ui-cloner-synthesis
Use when Site DNA and all 12 brand interview answers are in hand and it's time to generate the final replication prompt. Phase 3 of SRIP — applies 11 synthesis rules to produce a one-shot developer build prompt.
13ui-cloner-iterator
Use when a UI cloning attempt produced a poor or incomplete result and needs to be improved iteratively. Runs 5 structured comparison loops between the current implementation and the Site DNA to produce corrective prompts that progressively dial in fidelity.
13prd-to-ux
Use when translating a PRD, feature spec, or raw product idea into screen-level prompts for web UX generators (Google Stitch, Figma AI, Pencil.dev, Claude Design, v0, or similar). Use before creating visual mockups or wireframes.
1