Getting started
One install, then four rungs. Start by asking for UI the way you always do — climb only when you want more control, more memory, or a gate that fails the build.
Updated 2026-07-25
UI Craft is an Agent Skill. It does not install into your project — it installs into your coding agent. Once it’s there, any prompt that touches UI routes through the skill before code gets written.
There is one thing to understand, and it’s a ladder.
The ladder
Four rungs. Each one is a real jump in what you get, and each costs a little more effort than the last. You only climb when you want the next thing. Rung 0 is where everybody starts, and plenty of people never leave it.
┌──── 3 · ENFORCE ──── wire once
┌──── 2 · PERSIST ──── write once
┌──── 1 · DIRECT ──── one command
0 · ASK ──── no effort
| Rung | You want | You do | You get |
|---|---|---|---|
| 0 · Ask | Better UI with zero effort | Install, then ask for UI the way you always do | Real hierarchy, your own tokens, no slop |
| 1 · Direct | Control over one pass | /craft, /critique, /polish, /animate… |
A focused pass on one surface |
| 2 · Persist | Consistency across sessions | /brief, /tokens, /remember |
Design context every future session reads |
| 3 · Enforce | Proof it can’t regress | /finalize, review agents, MCP gates, ui-craft-detect |
Gates in review and CI, plus a 0–100 score |
That’s the whole product. Everything else in these docs is depth on one of those four rungs.
Install
One command, every harness. It detects Claude Code, Cursor, Codex, Gemini, and OpenCode and wires each into its native config — skill, commands, MCP gates, review agents, design memory.
macOS and Linux
curl -fsSL https://skills.smoothui.dev/install | bash
Windows
irm https://skills.smoothui.dev/install.ps1 | iex
Then, once:
ui-craft install
No Node required at install time, and checksums are verified. Run ui-craft with no arguments for the
interactive hub.
Prefer Homebrew, Scoop, the Claude Code plugin,
npx skills add, or a git submodule? All of them are in Install options, with a table of which rungs each one gives you.
Rung 0 · Ask
Nothing to learn. Open your agent and ask for UI the way you always have.
Build a pricing page for a developer tool.
Paste that. What happens next is the whole point of rung 0:
- Discovery runs first. Before writing a line, the skill reads your project for design decisions that already exist — CSS variables, Tailwind config, font imports, component themes, accent colors. If you have a design system, it uses yours.
- If there’s nothing to find, it asks four questions. Style; accent color (never defaults to blue); font; animation stack, if any. Answer once per project.
- Then it builds in one pass — layout, type, color, spacing, motion, and accessibility decided together, not one concern at a time.
You get a pricing page that doesn’t look like every other AI pricing page. No flag, no prefix, no command. That is rung 0 in full.
Not sure where you are?
/start
/start is the front door. It looks at your project, tells you which rung you’re on, and names the one
command worth running next. If you read nothing else on this page, run that.
Rung 1 · Direct
Climb here the moment you want to aim a pass instead of describing it. One command, one lens, one surface.
/craft dashboard # build a whole surface: tokens, shell, states, keyboard, finish
/critique # UX critique, no code changes
/audit # accessibility, performance, responsive findings
/polish # the compound-details pass
/animate # motion with the right easing, duration, and origin
/craft asks three quick questions (persona, theme, density), picks a composition, and builds in one
pass — the acceptance bar has to pass before it reports done. The other commands each do one thing well.
All 25, with what each one loads, are in Commands.
Rung 1 is still session-local: close the session and the agent forgets your choices. That’s what rung 2 fixes.
Rung 2 · Persist
Climb here when you catch yourself re-explaining the same design decisions in every new session.
/brief # product purpose, primary user, 3-5 ranked principles, out of scope
/tokens # the 3-layer token spine, light and dark both crafted
/remember # capture a correction so it never happens twice
/brief lands at .ui-craft/brief.md. Tokens land wherever your stack keeps them — globals.css for
Tailwind, theme.ts for CSS-in-JS, tokens.css for vanilla, design-tokens.json for cross-platform.
Both are read by every future session, so the decisions stop being something you carry in your head.
See Brief, Tokens, and Design memory.
Rung 3 · Enforce
Climb here when “it looks good” needs to survive other people, other agents, and next month.
/finalize # the 10-pass finish bar, gated on the brief existing
ui-craft-detect src # 43 deterministic rules, zero dependencies, CI-ready
Plus two read-only review agents that run in a fresh context, eight MCP tools your agent can call mid-conversation, and a deterministic 0–100 score you can fail a build on. This is the rung that turns taste into something you can put in a pull request.
The express lane
/sddesign is not a fifth rung. It’s rungs 1 to 3 walked in a single guided run — brief, tokens,
shape, craft, converge, ship — for one big surface. Reach for it when a surface is large enough to
deserve a spec, and use the individual rungs for everything else. See
/sddesign pipeline.
Optional: the three dials
You do not need these to get value, which is why they’re at the bottom of the page. The skill sets them during Discovery, and they change behavior — not just tone.
| Dial | Default | At 1 | At 10 |
|---|---|---|---|
CRAFT_LEVEL |
7 | ships fast, skips the Polish pass | pixel-perfect, compound details applied |
MOTION_INTENSITY |
5 | hover states only | scroll-linked, page transitions, magnetic cursor |
VISUAL_DENSITY |
5 | whitespace-heavy editorial | dashboard-dense |
What the thresholds gate:
CRAFT_LEVELat 4 or below turns/polishinto a no-op.MOTION_INTENSITYat 3 or below limits motion to hover plus modal enter and exit.MOTION_INTENSITYat 8 or above loads the 442-line motion-stack reference — but only if you opted into a motion stack during Discovery.VISUAL_DENSITYat 8 or above makes/adaptproduce tight 4/8px grid layouts.
Where to go next
- Staying on rung 0? Nothing to read. Go ask for a screen.
- Ready for rung 1 — Commands, all 25 grouped by rung.
- Want a style locked in — Style variants.
- Curious how it decides — Skill anatomy and the How it thinks section in the sidebar. Those pages are what the agent loads for you. You never have to read them.
Spotted something out of date? Open an issue on GitHub →