Coss ui
Set up or extend a Next.js web app with Coss/UI — the official Cal.com design system, built on Base UI + Tailwind CSS v4, installed through the shadcn CLI via the namespaced `@coss/*` registry (copy-paste-and-own source). Two modes: Init (scaffold a new/empty project with `shadcn init @coss/style` — components, neutral tokens, sidebar vars, Inter/Geist fonts) and Add (pull primitives `@coss/ui`, single components `@coss/<name>`, or particles into an already-scaffolded project). Because Coss tokens are the SAME CSS variables as shadcn/ui, DESIGN.md tokens override them directly in globals.css. Integrates with the dev-flow contract: sets `meta.json#stack.ui = "coss"` (+ `ui_base = "base"`). Triggers: "usa Coss/UI", "coss.com/ui", "Cal.com design system", "aggiungi un componente Coss", "init @coss/style", "scaffold con Coss UI", or dev-flow routing when `stack.ui = "coss"`. Not for: writing the DESIGN.md (use figma-to-design-md / image-to-design-md), the generic Next.js scaffold internals (design-md-to-app owns those), backend modules (module-add), or React Native (RN uses NativeWind, not Coss). Caveats: requires Tailwind CSS v4 and carries a mixed MIT/AGPLv3 license — see references/deps-and-license.md.From its SKILL.md
npx -y skills add lukedj78/dev-flow --skill coss-uiAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 7 commands, including `python scripts/check_coss_state.py <project-root>` and 6 more.
- fetches URLsInstructs the agent to fetch 1 URL, including https://coss.com/ui/docs.
SKILL.md
8.3 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it
coss-ui — Coss/UI (Cal.com design system) for a dev-flow project
This skill owns the Coss/UI side of a web project: installing and extending Coss components (the Cal.com design system on Base UI + Tailwind v4) through the shadcn CLI @coss/* registry, and keeping Coss's tokens reconciled with the project's DESIGN.md. It composes with design-md-to-app (which owns the generic Next.js scaffold) — it does not re-implement it.
The one rule that matters most
Never invent the Coss commands or registry. The source of truth is the live docs at https://coss.com/ui/docs (get-started + each component page shows its exact pnpm dlx shadcn@latest add @coss/<name> command) and the repo cosscom/coss. Confirm the exact command, the components.json#registries config for the @coss namespace, and the current registry URL before running anything. Coss is young; treat this skill as the workflow + conventions, not a frozen copy of the API. Anything marked [VERIFY] must be checked against the live docs first.
Why Coss fits dev-flow (and when to pick it)
Coss/UI rides the same machinery dev-flow already uses: shadcn CLI v4 + components.json + CSS-variable tokens with the same names as shadcn/ui. So the DESIGN.md → tokens pipeline works unchanged; Coss just supplies the default token set (@coss/colors-neutral) plus a curated Base-UI component/particle registry. It is a UI-library choice inside the shadcn / Base-UI family, recorded as stack.ui = "coss" (with ui_base = "base", since Coss is built on Base UI).
Pick Coss when the user wants the Cal.com aesthetic/DX, a Base-UI foundation, and an AI-first copy-paste kit. Two caveats make it a deliberate choice, not a default:
- Tailwind CSS v4 is required — Coss does not work on v3.
- Mixed license: MIT for the copy-paste primitives (
apps/ui,apps/origin), AGPLv3 elsewhere. Fine for OSS/internal; a real decision for closed-source products. Seereferences/deps-and-license.md.
Preconditions
stack.frameworkis"next"(App Router) or"monorepo"(operate inapps/web/). Next.js 16 target, per dev-flow.- Tailwind CSS v4 available (or being set up). If the project pins Tailwind v3, stop and flag it — Coss needs v4.
- The shadcn CLI is usable (
pnpm dlx shadcn@latest). Nocomponents.jsonis required up front forinit @coss/style; foradd @coss/*on an existing project, the@cossregistry namespace must be resolvable (seereferences/coss-registry.md).
Read state, then pick a mode
Run python scripts/check_coss_state.py <project-root> (or inspect manually). It reports:
- No app yet / no Coss markers → Init mode.
- App scaffolded, Coss already installed (
@cossincomponents.json#registries,@base-ui/reactin deps, Coss token block inglobals.css) → Add mode.
Do one logical operation per invocation, then stop. Both modes are idempotent — re-adding an existing component is detected and skipped.
Init mode (new / empty project)
Goal: a runnable app with Coss/UI installed and its tokens reconciled to DESIGN.md.
- Read
node_modules/docs and confirm the current init flow (references/coss-registry.md). Confirm Tailwind v4. - Scaffold the framework if absent — hand the generic Next.js scaffold to
design-md-to-app(dev-flow contract), OR, for a Coss-first empty project, run the recommended one-shot:
This installs all UI components, the neutral color system, sidebar variables, base styles, and the default fonts (Inter, Geist Mono).pnpm dlx shadcn@latest init @coss/style[VERIFY]the exact behavior against the live get-started page. - Reconcile with
DESIGN.md(if present). Coss tokens are the same CSS variables as shadcn/ui, so DESIGN.md values override Coss's neutral defaults inglobals.css— do not fork Coss's token structure, override its values. Followreferences/design-md-reconciliation.md; this is the exactregistry.jsontoken-install pathdesign-md-to-appalready uses, with@coss/colors-neutralas the base being overridden. - Wire the dark/light toggle and the rest of the standard scaffold via
design-md-to-app's mandatory steps (theme toggle, error/loading boundaries, folder convention) — Coss primitives slot intocomponents/ui/like any shadcn primitive. - Update
.workflow/meta.json:stack.ui = "coss",stack.ui_base = "base",stack.css_variables = true, bumpphasetoscaffolded(only forward), appendhistory({ "skill": "coss-ui", "action": "init" }).
Add mode (existing scaffolded project)
Goal: add ONE thing — a primitive set, a component, or particles — idempotently.
- Ensure the
@cossregistry is resolvable incomponents.json(references/coss-registry.md). If not configured, add it once. - Add exactly what was asked, using the verbatim command from the component's docs page:
- primitives:
pnpm dlx shadcn@latest add @coss/ui - one component:
pnpm dlx shadcn@latest add @coss/<name>(e.g.@coss/button,@coss/combobox) - tokens only:
pnpm dlx shadcn@latest add @coss/colors-neutral - particles: per the particle's docs command.
- primitives:
- Keep tokens reconciled — if the add pulled a fresh token block, re-apply the DESIGN.md overrides (
references/design-md-reconciliation.md). - Prefer the Coss/Base-UI primitive over hand-rolled components — the same mandate
design-md-to-appenforces for shadcn: scancomponents/ui/*before authoring anything custom. - Append
history({ "skill": "coss-ui", "action": "add-<name>" }). No phase bump.
Definition of Done (per run)
- Init:
pnpm --filter web lint typecheck build(or the app's equivalent) exits 0; the app runs; Coss primitives are incomponents/ui/;globals.csscarries the DESIGN.md-reconciled tokens;meta.json#stack.ui = "coss". - Add: the requested component/primitive/particle is present and imports resolve; a re-run detects it and skips (idempotent).
- Script stays green:
cd coss-ui/scripts && python3 -m unittest test_check_coss_state.
What this skill does NOT do
- Doesn't write the
DESIGN.md(usefigma-to-design-md/image-to-design-md). - Doesn't own the generic Next.js scaffold internals (theme toggle, error boundaries, folder convention) — those are
design-md-to-app's; this skill composes with them. - Doesn't wire backend modules (
module-add) or build React Native (RN uses NativeWind, not Coss). - Doesn't silently ship AGPLv3 code into a closed-source product — it surfaces the license split first.
- Doesn't work on Tailwind v3.
Reference files
references/coss-registry.md— exact@coss/*commands, the namespaced-registry mechanism, components vs particles vs atoms, AI-first claim (no official MCP server documented).references/design-md-reconciliation.md— Coss tokens = shadcn CSS vars; how DESIGN.md overrides them; tie-in todesign-md-to-app'sregistry.jsoninstall.references/deps-and-license.md— Tailwind v4,@base-ui/react, the MIT/AGPLv3 split, when Coss is the right/wrong pick.references/contracts.md— the.workflow/dev-flow contract (vendored copy).
What ships with it: 6 files
40.5 KB alongside SKILL.md, 2 of them executable
references/
- contracts.md28.9 KB
- coss-registry.md3.1 KB
- deps-and-license.md2.4 KB
- design-md-reconciliation.md2.6 KB
scripts/
- check_coss_state.pyruns2.4 KB
- test_check_coss_state.pyruns1.0 KB