Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add TaewoooPark/UIForge/plugin install uiforgeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/taewooopark/uiforge/reskin)<a href="https://agentmods.dev/commands/taewooopark/uiforge/reskin"><img src="https://agentmods.dev/badge/commands/taewooopark/uiforge/reskin.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00055 | $0.00882 |
| Opus 5 | $0.00028 | $0.00441 |
| Sonnet 5 | $0.00011 | $0.00176 |
| Haiku 4.5 | $0.00006 | $0.00088 |
Grade A, and why
reskin scanned grade A with 0 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 6d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 68 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
1. Extract the signature
- URL or
.html— measure it directly (Playwright renders it, the render-audit engine derives the signature):
This writesnode ${CLAUDE_PLUGIN_ROOT}/tools/uiforge-extract.mjs <url│file.html> \ --out signature.json --config uiforge.config.jsonsignature.json—typeRamp,accent {hue, budgetPct},gridUnit,radii,layout.posture,contrastMin— the quantified reference. - Image path — the extractor can't see the image, so it hands you a schema
skeleton to fill by vision:
Then LOOK at the image and fill the fields — the type ramp (px), the ONE dominant accent (node ${CLAUDE_PLUGIN_ROOT}/tools/uiforge-extract.mjs <image> --out signature.jsonhue0–360 + roughly its surfacebudgetPct), thegridUnit, theradiibucket (none/sm/md/lg/xl/full), andlayout.posture(asymmetric/centered) — and check it:
It's the same schema as the URL path (node ${CLAUDE_PLUGIN_ROOT}/tools/uiforge-extract.mjs --validate signature.json--schemaprints it), so tokens, sourcing, and the gate are identical whether the reference was a site or an image. One accent only. - If nothing is given, ask for a reference (image, URL, or a site whose feel they want).
2. Compile the signature into tokens
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.
3. Source components that FIT the signature
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 ui
It 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.
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.
- 6d ago First seen · 68 lines · 55 tokens per session scan A a7cd41940a6d
reskin is a command published in the GitHub repository TaewoooPark/UIForge (7 stars, last pushed 1mo ago), licensed MIT. It adds 55 tokens to every session and 882 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
openhop-flow
Render an animated OpenHop flow diagram for the prompt that follows. Sketches the YAML, pushes it to the local OpenHop server, and returns the per-flow render URL.
ux-audit
Run a combined usability + accessibility audit on a page, component, or screenshot and produce a single scored report.
ux-onboarding
Get familiar with a project's UX/design choices and patterns — a guided, part-by-part walkthrough that sends you to read the real code, checks your understanding with questions, and has you reimplement a small recent change.
ux-review
Quick, scored UX review of a single component or screen — from code, a screenshot, or a live page — via the ux-reviewer agent.
verify
Fidelity check — rebuild a page from the extracted tokens, pixel-diff it against the live site, and score how faithfully the tokens capture the design.
better-auth:add-plugin
Add a better-auth plugin to an existing project. Configures server and client plugins with proper imports.