How the Agenta mobile app (web/mobile) installs and extends shadcn/ui registry components, themes them via the palette token bridge, and uses Vercel AI Elements. Use when adding UI components under web/mobile, changing theme colors, editing components.json or globals.css, or building chat UI with AI Elements.
72
90%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
web/mobile uses shadcn/ui on Tailwind v4 with CSS variables. No antd, ever.
web/mobile/:
pnpm dlx shadcn@latest add <component> (e.g. button, sheet, dialog,
command, skeleton, input).src/components/ui/ (aliases in components.json). They
are owned code: you may adapt them, but keep diffs minimal and expressed in
semantic tokens so upstream refreshes stay cheap.@radix-ui/react-slot) to
web/mobile/package.json — commit the manifest and web/pnpm-lock.yaml
changes together with the component.bg-sidebar,
chart-*) requires extending VARS in scripts/generate-shadcn-tokens.ts +
the @theme inline map in globals.css first — Tailwind v4 silently
generates nothing for unmapped tokens.--background, --primary, ...) are NOT hand-maintained.
They are generated into src/styles/theme.generated.css from
web/oss/src/styles/theme/palette.ts by scripts/generate-shadcn-tokens.ts.palette.ts (if the design-system value is wrong) or
the ROLE MAP in the script (if the mapping is wrong), then run
pnpm --filter @agenta/mobile generate:tokens and commit the regenerated CSS.theme.generated.css directly; never introduce raw hex values in
components — if a needed role is missing, extend the bridge..dark class on <html> (@custom-variant dark in
globals.css), set pre-paint by the _document.tsx init script from the
shared agenta-theme localStorage key. Both themes must be checked for every
new surface.src/features/* as thin
wrappers over components/ui/* primitives (cva variants where appropriate).cn util from @/lib/utils for all class merging.pnpm dlx shadcn@latest add <ai-elements registry item>), landing in
src/components/ui/ / src/components/ai-elements/ per the registry config.@agenta/chat hooks —
never re-implement orchestration inside a rendered component.e4008fa
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.