clone
Clone a website — a working behavior ARCHIVE (real code + data replayed offline; tabs, filters, transitions work), a pixel-identical editable RESTORE (real…
Extract a measured design signature (type ramp, accent + its budget, grid unit, radius, layout) from a reference image or site, write it to signature.json, and drive the build to match it — "steal this vibe" as a spec, not pixels.
> /plugin marketplace add TaewoooPark/UIForge > /plugin install uiforge@uiforge
How it fires
How this command gets triggered: by you, by Claude, or both.
/reskinContext preview
What this command does when you run it.
Extract a measured design signature (type ramp, accent + its budget, grid unit, radius, layout) from a reference image or site, write it to signature.json, and drive the build to match it — "steal this vibe" as a spec, not pixels.
description: Extract a measured design signature (type ramp, accent + its budget, grid unit, radius, layout) from a reference image or site, write it to signature.json, and drive the build to match it — "steal this vibe" as a spec, not pixels. argument-hint: "[path to a reference image, or a URL to screenshot]"
Turn the reference in **$ARGUMENTS** into a UIForge **signature** — the concrete spec the gate then enforces. The point is to escape the model's median prior by pinning the build to a target you chose. Extract *parameters*, not assets.
engine derives the signature):
node ${CLAUDE_PLUGIN_ROOT}/tools/uiforge-extract.mjs <url│file.html> \
--out signature.json --config uiforge.config.jsonThis writes `signature.json` — `typeRamp`, `accent {hue, budgetPct}`, `gridUnit`, `radii`, `layout.posture`, `contrastMin` — the quantified reference.
skeleton** to fill by vision:
node ${CLAUDE_PLUGIN_ROOT}/tools/uiforge-extract.mjs <image> --out signature.jsonThen LOOK at the image and fill the fields — the type ramp (px), the ONE dominant accent (`hue` 0–360 + roughly its surface `budgetPct`), the `gridUnit`, the `radii` bucket (`none/sm/md/lg/xl/full`), and `layout.posture` (`asymmetric`/`centered`) — and check it:
node ${CLAUDE_PLUGIN_ROOT}/tools/uiforge-extract.mjs --validate signature.jsonIt's the **same schema** as the URL path (`--schema` prints it), so tokens, sourcing, and the gate are identical whether the reference was a site or an image. One accent only.
Start from the nearest kit in `${CLAUDE_PLUGIN_ROOT}/tools/kits/` and overwrite its roles with the signature's values — a `tokens.css` whose accent, radius, scale, and rhythm match the reference. Map the type feel to a real, non-default face (`tools/kits/README.md` — never Inter/system-ui). Hand off to `uiforge:design-tokens` to finish dark mode + reduced-motion.
Don't hand-author, and don't grab any tasteful component — pull the ones closest to the signature you committed to:
node ${CLAUDE_PLUGIN_ROOT}/tools/uiforge-source.mjs "<what you need>" \
--spec signature.json --type uiIt ranks the catalog by semantic fit (the need) × style fit (its radii vs your signature's) × taste (a11y + radix provenance + variants), and prints the `npx shadcn add …` for the top picks. Install those, verify props.
Grade the build **against the reference**, not against generic rules:
node ${CLAUDE_PLUGIN_ROOT}/tools/uiforge-render-audit.mjs <target> --spec signature.json
node ${CLAUDE_PLUGIN_ROOT}/tools/uiforge-lint.mjs . --strictThe render audit should report it **matches the reference** on accent budget, grid, type ramp, and layout — while WCAG contrast stays an absolute floor (a11y never bends to the reference). Report the signature you extracted, the kit you based it on, and what you installed. Adaptation, not pixel-copying — never lift the reference's actual assets or copy.
Clone a website so it actually works — tabs, filters, lists, client-side transitions, motion, scroll — then also as a pixel-faithful freeze and a pixel-identical, editable React restore.
Repo: TaewoooPark/UIForge
Clone a website — a working behavior ARCHIVE (real code + data replayed offline; tabs, filters, transitions work), a pixel-identical editable RESTORE (real…
Judge the current UI blind (render + screenshot if possible), grep the anti-slop patterns, and run the mandatory forced-subtraction pass.
Run the full UIForge pipeline on a brief — thesis, one direction, tokens first, sourced components, budgeted composition, blind critique, forced subtraction.
Grade any UI project A–F for slop — a standalone review tool. Runs the UIForge linter and reports a letter grade + the tells, for the current project, a…
Prepare the current project for UIForge — ensure shadcn init, the component registries (shadcn + @motion-primitives), and the motion/lucide-react/cn…