Questions
Straight answers to what people actually ask before installing: does it fight my design system, will it rewrite my code, is 25 commands a lot to learn, and what the number actually measures.
Updated 2026-07-25
The questions below are the ones that come up before someone installs. Each answer is the short version; the links go to the page that covers it properly.
What is UI Craft?
UI Craft is a design engineering system for AI coding agents. It installs into the agent rather than the project, so any prompt touching UI routes through a discovery pass and an anti-slop checklist before code is written. It also ships the enforcement half: 52 deterministic gates and a 0-100 score.
Why does AI-generated UI look the same?
Because one pattern is over-represented in training data: gradient hero, glowing card, uppercase eyebrow, elastic easing, emoji icons, uniform corner radii. An agent reaches for the most probable output, and the most probable UI is the average of everything it has seen. Average looks generated.
Do I have to learn commands to get value?
No. Rung 0 is install, then keep prompting exactly as before, and the next screen is better. The 25
commands exist for when you want to aim a specific pass instead of describing it. If you are unsure where
you are, /start reads the project and names the one command worth running.
Will it fight my existing design system?
No, it defers to it. Discovery runs before anything is generated and reads what already exists: CSS variables, Tailwind config, font imports, component themes, accent colors. If you have a system, it builds from your tokens. If you have none, it establishes a minimal spine first.
Will it rewrite my code without asking?
Not at rung 0, which changes nothing on disk until you ask for UI. The review commands, /critique,
/audit and /heuristic, are read-only by contract, as are both review agents. The commands that do
write code are the ones you invoke by name.
Won’t this make every project look the same?
That is the failure being fixed, not introduced. Output is built from your tokens rather than a house
style, and three style variants plus a DESIGN_VARIANCE dial exist so the composition is not one shape.
The uniformity problem is what the anti-slop rules target.
What does the 0-100 score actually measure?
Three deterministic dimensions, no model judgment: anti-slop patterns, token discipline, and static accessibility. 52 gates in total — 38 anti-slop, 10 accessibility, 4 token-discipline. The same input always scores the same, which is what makes it usable as a CI gate. See the score.
Can it fail a build?
Yes. ui-craft-detect is a zero-dependency scanner that exits non-zero on findings, so it drops into CI
like any linter. Four MCP gates cover the same rules for the agent mid-task. This site is gated by it:
pnpm build runs the detector before Astro.
Which coding agents does it work with?
Claude Code, Cursor, Codex, Gemini CLI and OpenCode. One installer detects which are present and wires each into its native config. Only Claude Code has native slash commands; elsewhere each command ships as a peer sub-skill triggered by intent.
Is it free?
Yes, and MIT licensed. No paid tier, no account, no telemetry, no usage limits. The full breakdown is at /pricing.md, which exists mainly so agents comparing tools can parse it.
How is this different from a component library?
A library gives you parts; this gives judgment. The same library builds a beautiful app or a generic one depending on decisions the library does not make. UI Craft works with whatever library is already there, and adds the decisions plus a gate that checks them.
What does it not do?
It does not design for you without a prompt, does not replace a designer on genuinely novel product problems, and does nothing for backend work. It has no opinion on your framework. If you have a design team enforcing a system in review already, the gate is redundant.
Where do I start?
Getting started — one install, then rung 0. It takes about a minute, and you do not need to read anything else to benefit.
Spotted something out of date? Open an issue on GitHub →