Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use the ReUI registry from your AI agent - find, install, and correctly use ReUI components (the 17 free building blocks like data-grid, kanban, filters), their free examples, premium blocks, and Motion Icons. Applies in any project using ReUI, the @reui registry, REUI_LICENSE_KEY, or any shadcn project where the user asks for premium blocks, data grids, kanban boards, dashboards, or full pages. Pairs with the free ReUI MCP server for live, scored registry search and inline component APIs.
.claude/skills/asymmetric-al-reui/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 48% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 218% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 60% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 48% | 0% |
Subordinate to docs/ai/rules/frontend.md, docs/ai/skills/moai-library-shadcn/SKILL.md (generic shadcn rules), and TanStack guides under docs/guides/development/.
Registry (packages/ui/components.json):
base-maia (Base UI + Maia). Read the segment before the first - in style to detect the base (base-maia → Base UI).@reui is the plain-string registry (free components and c-* examples). Premium blocks/icons need the authenticated object form plus REUI_LICENSE_KEY in git-ignored .env.local — see rules/cli.md. Switch back to the plain form when premium installs are not in progress so contributors without a key can install free items.Tables:
DataTableResponsive from @asym/ui/components/shadcn/data-table for standard app tables (see docs/guides/development/tanstack-virtual-foundation.md).data-grid when you need ReUI-specific table composition after get_component('data-grid').Naming: ReUI (@reui, this skill) is unrelated to shadcn-studio /rui (Refine UI) in docs/ai/rules/shadcn-studio-mcp.md.
MCP: reui at https://mcp.reui.io in .mcp.json, .cursor/mcp.json, and .codex/config.toml. The MCP is free; only premium installs need a license key. Never commit REUI_LICENSE_KEY.
Refresh: references/upstream.md.
ReUI is a shadcn-compatible registry. It ships four things you reuse - never redesign:
data-grid, kanban, filters, date-selector, tree, stepper, ... (free)c-* single-pattern use-cases of a component (c-kanban-1); install one and read it to see exact compositiondata-grid-2, pricing-page-1); Pro or Ultimate license at installThe MCP and this skill are free; only installing premium content needs a license (see rules/registry.md).
Your job: find the right item, install it with the shadcn CLI, read its real API, and adapt by reuse - wire real data and theme it; do not hand-roll or restyle what ReUI already provides. This skill layers on docs/ai/skills/moai-library-shadcn/SKILL.md for generic shadcn rules (spacing, cn(), semantic colors, forms); follow this for everything ReUI-specific.
search tool with the user's intent. It returns a ranked, scored list across components/examples/blocks/icons, each with an install command, previewUrl, docsUrl, and componentsUsed. Pass hints (type, component, category, features, free) when you can infer them.npx shadcn@latest add @reui/<name> --yes). The CLI resolves deps, aliases, and the base/style from components.json. See cli.md.components.json -> style (this repo uses base-maia → Base UI; radix-nova → Radix UI). For each component an item uses, call get_component(name) and read its inline api (no web fetch); then get_examples(name) to install a worked example and copy its composition - the installed files are already in your base. See components.md.If the ReUI MCP is not configured, fall back to npx shadcn@latest search @reui -q "..." then add - but the MCP gives scored matches + inline APIs; prefer it.
Run ReUI as explicit slash commands (via the ReUI MCP) or just ask in plain language - both run the same workflow.
| Command | Invoke | Does | | ----------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------ | | build | /mcp__reui__build <what> | Compose a page/section/feature from ReUI: plan → install → read API → adapt → craft → audit. | | add | /mcp__reui__add <item> | Find & install one component/example/block/icon and wire it in. | | fix | /mcp__reui__fix [target] | Diagnose & fix ReUI usage: wrong/undocumented props, base/radix mismatch, missing states, a11y/scroll. | | improve | /mcp__reui__improve [target] | Refine + extend existing ReUI UI to a production-exceptional bar (hierarchy, density, states, responsive, motion). |
Invocation differs slightly per agent (/mcp__reui__build in Claude Code/Cursor/Windsurf, /mcp.reui.build in VS Code). No command surface? Just describe what you want - this skill drives the identical loop.
| Need | Reach for | | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | A full page or section (dashboard, billing, auth, pricing, settings) | compose_page first (plans sections + best blocks), then ReUI blocks | | A data table with sorting/filtering/pagination/virtualization | DataTableResponsive in this repo; ReUI data-grid when ReUI-specific composition is required | | A drag-and-drop board | the kanban component | | Advanced column filtering, date range, tree, stepper, ... | the matching ReUI component | | A single generic control already in shadcn (Button, Dialog, Select) | plain shadcn |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 5,499 | 6,104 | +11% | 1 | 1 | 0% | 296 | 2,274 | +668% | 0 | 0 | — |
case-02 | fail→fail | 22,274 | 4,605 | -79% | 1 | 1 | 0% | 4,829 | 2,127 | -56% | 0 | 0 | — |
case-03 | fail→fail | 19,849 | 6,702 | -66% | 1 | 1 | 0% | 4,186 | 2,383 | -43% | 0 | 0 | — |
case-04 | fail→pass | 10,281 | 3,287 | -68% | 1 | 1 | 0% | 1,646 | 2,442 | +48% | 0 | 0 | — |
case-05 | pass→pass | 11,936 | 6,492 | -46% | 1 | 1 | 0% | 1,976 | 3,120 | +58% | 0 | 0 | — |
case-06 | fail→pass | 10,880 | 2,746 | -75% | 1 | 1 | 0% | 1,823 | 2,382 | +31% | 0 | 0 | — |
case-07 | fail→pass | 4,699 | 2,770 | -41% | 1 | 1 | 0% | 738 | 2,349 | +218% | 0 | 0 | — |
case-16 | pass→pass | 11,142 | 4,117 | -63% | 1 | 1 | 0% | 1,727 | 2,569 | +49% | 0 | 0 | — |
case-08 | fail→pass | 8,953 | 3,206 | -64% | 1 | 1 | 0% | 1,523 | 2,434 | +60% | 0 | 0 | — |
case-09 | fail→pass | 12,611 | 5,570 | -56% | 1 | 1 | 0% | 1,964 | 2,899 | +48% | 0 | 0 | — |
case-10 | fail→pass | 10,524 | 4,746 | -55% | 1 | 1 | 0% | 1,920 | 2,813 | +47% | 0 | 0 | — |
case-11 | fail→fail | 7,026 | 3,610 | -49% | 1 | 1 | 0% | 1,105 | 2,456 | +122% | 0 | 0 | — |
case-12 | pass→fail | 7,704 | 2,480 | -68% | 1 | 1 | 0% | 1,392 | 2,329 | +67% | 0 | 0 | — |
case-13 | fail→pass | 6,808 | 3,401 | -50% | 1 | 1 | 0% | 977 | 2,467 | +153% | 0 | 0 | — |
case-14 | fail→pass | 7,530 | 2,387 | -68% | 1 | 1 | 0% | 1,320 | 2,315 | +75% | 0 | 0 | — |
case-15 | fail→pass | 10,065 | 2,671 | -73% | 1 | 1 | 0% | 1,537 | 2,344 | +53% | 0 | 0 | — |
case-17 | pass→pass | 13,336 | 1,847 | -86% | 1 | 1 | 0% | 2,039 | 2,196 | +8% | 0 | 0 | — |
case-18 | fail→pass | 12,284 | 2,554 | -79% | 1 | 1 | 0% | 2,117 | 2,348 | +11% | 0 | 0 | — |
case-19 | fail→pass | 11,400 | 4,912 | -57% | 1 | 1 | 0% | 2,087 | 2,745 | +32% | 0 | 0 | — |
case-20 | fail→pass | 9,649 | 2,231 | -77% | 1 | 1 | 0% | 1,421 | 2,305 | +62% | 0 | 0 | — |
case-21 | fail→pass | 10,848 | 1,885 | -83% | 1 | 1 | 0% | 1,653 | 2,233 | +35% | 0 | 0 | — |
case-22 | pass→pass | 9,913 | 5,740 | -42% | 1 | 1 | 0% | 1,785 | 2,918 | +63% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +55 percentage points is the difference between those two pass rates over the 19 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.