ui-reverse-engineering

A workflow for rebuilding a website or page in React and Tailwind CSS from a live URL. It examines the visual design, layout, text styling, colours, images, responsive behaviour, animation, and interactive states.

In plain words
What is it for?
Use it to recreate a website, page, or section in code and verify its appearance, responsive layout, motion, interactions, and different UI states.
Why use it?
It turns a reference website into an implementation with evidence that it behaves correctly at runtime, rather than only looking similar in a screenshot. The process also defines checks for missing assets and incomplete interactions.

Skill for Claude CodeCodex

Part of the ui-clone-skills plugin — 4 skills, 6 agents, 6 hooks shipped together

Install

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.

agentmods
npx agentmods add skills/voidmatcha/ui-clone-skills/ui-reverse-engineering
Any agent
npx skills add voidmatcha/ui-clone-skills --skill ui-reverse-engineering
Clone the repo
git clone --depth 1 https://github.com/voidmatcha/ui-clone-skills

Made for: Claude Code, Codex.

Or install ui-clone-skills, the plugin that ships this one along with the rest of its 4 skills, 6 agents, 6 hooks.

Per session 32 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 18,902 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 2 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00032 $0.18902
Opus 5 $0.00016 $0.09451
Sonnet 5 $0.00006 $0.03780
Haiku 4.5 $0.00003 $0.01890

Measured 3d ago against content hash b20d6917b84e, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

ui-reverse-engineering scanned grade B with 2 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 3d 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.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

- **Codex (interactive):** in the REPL (Codex CLI ≥ 0.128.0, `[features] goals = true` in `~/.codex/config.toml`), run `/goal Drive the ui-clone-skills pipeline for <ref-dir> until python -m ui_clone.goal <ref-dir> --che

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

⛔ **Hook-enforced**. When the project's `tmp/ref/` has no component dir with `regions.json` or `pipeline-state.json` yet, the `pre_bash` hook denies every direct `agent-browser`, `extract-dom.sh`, `dom-scaffold.sh`, `sec
skills/ui-reverse-engineering/SKILL.md · 768 lines

How it starts

The opening of the file, as written. The whole thing — 768 lines — stays where its author put it; the contents beside it link to each section on GitHub.

UI Reverse Engineering

Reverse-engineer a live website into a React + Tailwind component.

Hard Done Criteria

Headline rule (2026-05-22): Section-compare PASS is not done. The completion bar is runtime fidelity — the impl must reproduce the ref's DOM, assets, motion, interaction, and state-machine behavior at runtime, with browser-measured proof. Static visual match is necessary but never sufficient.

  • Build pass is not done. A successful npm run build, HTTP 200, page title, or local render only proves the app starts.
  • Spot check is not done. A few screenshots or manual visual checks cannot replace required artifacts.
  • Pipeline verify PASS is required for clean completion. If it is not PASS, report the failing gate and keep fixing.
  • Missing artifact is failure. Do not substitute generic notes, placeholder JSON, proxy mirrors, or source-reference manifests for the required evidence.

Host-neutral subagent dispatch

When a pipeline step names a role, delegate with the host's native mechanism before falling back to inline execution. Claude Code uses the matching .claude-plugin/agents/<role>.md adapter through Agent(...). Codex uses the Codex native subagent with the same agent_type backed by .codex/agents/<role>.toml (or an equivalent delegated worker when the runtime exposes subagents differently). Inline fallback is allowed only when the host has no delegated-worker surface; state that fallback and follow the same shared contract file.

Role → contract mapping:

  • bundle-analyzerjs-animation-extraction.md
  • source-forensicssource-forensics.md
  • generation-plannerenrichment.md
  • mismatch-diagnoserdiagnosis.md
  • visual-debug-iteratoriteration-discipline.md

Done = all five tiers PASS

Completion requires runtime + transition + state-machine fidelity, not just static match. Treat anything below as INCOMPLETE.

  1. Static visual match
    • section-compare PASS
    • font-parity, image-fidelity, svg-dom-parity, required-media-coverage PASS

Read the full file on GitHub · 768 lines

Changes

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.

  1. 3d ago First seen · 768 lines · 32 tokens per session scan B b20d6917b84e

Subscribe to this mod's changes

ui-reverse-engineering is a skill published in the GitHub repository voidmatcha/ui-clone-skills (8 stars, last pushed 3d ago), licensed Apache-2.0. It adds 32 tokens to every session and 18,902 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 2 findings (reads agent configuration directories, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

nuxt-ui

Build UIs with @nuxt/ui v4 — 125+ accessible Vue components with Tailwind CSS theming. Use when creating interfaces, customizing themes to match a brand, building forms, or composing layouts like dashboards, docs sites, and chat interfaces.

nuxt/ui · 56 tokens

improve-app

Guided journey from a shipped app that works but feels rough to a product that fits the job, flows without friction, reads clearly, and persuades honestly. Orchestrates nine skills phase by phase - jobs-to-be-done, ux-heuristics, design-everyday-things, refactoring-ui, microinteractions, made-to-stick…

wondelai/skills · 236 tokens

uniwind

Uniwind — Tailwind CSS v4 styling for React Native. Use when adding, building, or debugging components in a React Native project that uses Uniwind classNames. Covers setup, Metro config, global.css, theming, className props, accent- color props, platform/data/state/responsive variants, CSS variables, custom utilities…

uni-stack/uniwind · 130 tokens

weapp-tailwindcss-custom-build

将 weapp-tailwindcss 集成到自研构建器或高级流水线,覆盖 weapp-tailwindcss/core、generator、Vite/Webpack/Rspack/Rollup/Rolldown/Gulp 生命周期、ModuleGraph、Tailwind Scanner/source candidates、watch/HMR、source map、weapp-style-injector 和分包样式隔离。Use for custom bundlers, Node API, build adapters, asset graphs, loaders, plugins, or subpackage style…

sonofmagic/weapp-tailwindcss · 123 tokens

weapp-tailwindcss-setup

为新项目配置当前 weapp-tailwindcss v5 与 Tailwind CSS 4,覆盖 uni-app、uni-app x、Taro、Mpx、原生小程序、weapp-vite、Vite、Webpack 5、Rspack、Gulp、独立 CLI 及小程序/H5/Web/App 多端。Use when setting up, installing, integrating, choosing a framework configuration, or building CSS with weapp-tw; 不用于旧版迁移、故障诊断、自研构建器、Expo React Native 或 ReactLynx。.

sonofmagic/weapp-tailwindcss · 128 tokens

weapp-tailwindcss

协调 weapp-tailwindcss 全端任务并提供当前安全基线。Use when 用户泛化地询问 weapp-tailwindcss、Tailwind CSS in mini-programs、Web CLI、React Native 或 ReactLynx,或尚未明确是接入、迁移、排障、运行时、自定义构建还是原生跨端集成;具体任务优先路由到对应专用 skill。.

sonofmagic/weapp-tailwindcss · 95 tokens