Helps implement coss UI components correctly. Use when building UIs with coss primitives (buttons, dialogs, selects, forms, menus, tabs, inputs, toasts, etc.), migrating from shadcn/Radix to coss/Base UI, composing trigger-based overlays, or troubleshooting coss component behavior. Covers imports, accessibility, Tailwind styling, and common pitfalls.
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Helps implement coss UI components correctly. Use when building UIs with coss primitives (buttons, dialogs, selects, forms, menus, tabs, inputs, toasts, etc.), migrating from shadcn/Radix to coss/Base UI, composing trigger-based overlays, or troubleshooting coss component behavior. Covers imports, accessibility, Tailwind styling, and common pitfalls.
compatibility
Requires Tailwind CSS v4 and @base-ui/react. Designed for React projects using the coss component registry.
license
MIT
metadata
{"author":"cosscom"}
coss ui
coss ui is a component library built on Base UI with a shadcn-like developer experience plus a large particle catalog.
Use existing primitives and particles first before inventing custom markup.
Prefer composition over custom behavior reimplementation.
Follow coss naming and APIs from docs exactly.
Keep examples accessible and production-realistic.
Prefer concise code that mirrors coss docs/particles conventions.
Assume Tailwind CSS v4 conventions in coss examples and setup guidance.
Critical usage rules
Always apply before returning coss code:
Do not invent coss APIs. Verify against component docs first.
For trigger-based primitives (Dialog, Menu, Select, Popover, Tooltip), follow each primitive's documented trigger/content hierarchy and composition API; do not mix patterns across components.
Preserve accessibility labels and error semantics.
Consult primitive-specific guides for component invariants and edge cases.
For manual install guidance, include all required dependencies and local component files referenced by imports.
Prefer styled coss exports first; use *Primitive exports only when custom composition/styling requires it.
Rule references (read on demand when the task touches these areas):
./references/rules/migration.md — shadcn/Radix to coss/Base UI migration patterns
./references/portal-props.md — optional portalProps on composed popups and toast providers (keepMounted, container, which surfaces support it)
Component discovery
All 53 primitives have dedicated reference guides at ./references/primitives/<name>.md. To find the right one for a task, consult the component registry index:
./references/component-registry.md
Usage workflow
Identify user intent (single primitive, composed flow, form flow, overlay flow, feedback flow).
Consult references/component-registry.md to identify candidate primitives.
Check at least one particle example for practical composition patterns. Particle files live at apps/ui/registry/default/particles/p-<name>-<N>.tsx (e.g. p-dialog-1.tsx).
Write minimal code using documented imports/props.
Self-check accessibility and composition invariants.
Installation reference
See ./references/cli.md for full install/discovery workflow.
Quick CLI pattern:
npx shadcn@latest add @coss/<component>
Quick manual pattern:
install dependencies listed in the component docs page
copy required component file(s)
update imports to match the target app alias setup
Primitive Guidance
Every primitive has a reference guide at ./references/primitives/<name>.md with imports, minimal patterns, inline code examples, pitfalls, and particle references. Use the component registry to find the right file.
High-risk primitives (read these guides first -- they have the most composition gotchas):