mosaic

작성자: clerk

Work on Mosaic UI: styling a component with slot recipes (`defineSlotRecipe` / `useRecipe` / slots / variants), or building a flow — authoring a state machine…

npx skills add https://github.com/clerk/javascript --skill mosaic

Mosaic UI

Two things live under Mosaic, and this skill covers the how-to for both:

  • Styled components are authored with StyleXstylex.create declares the styles, themeProps emits the part's public identity (the .cl-<slot> class plus data-<axis> attrs), and mergeStyleProps fuses the two with the consumer's className/style.
  • Flows follow a machine → controller → view split that keeps Clerk resource logic out of visual components and makes behavior testable without a running Clerk app:
machine     Pure flow rules: states, events, guards, async invokes, errors.
            No React hooks. No Clerk hooks. No Clerk resource objects.

controller  Clerk/data adapter: reads Clerk hooks/resources, injects async
            effects into machine context, gates permissions, derives view props.
            The only layer that may import Clerk hooks or call resource methods.

view        Rendering only: receives a snapshot plus explicit props, renders UI,
            sends events. No Clerk imports. No data-fetching. No mutations.

references/mosaic-architecture.md (repo root, read by all agents) is the canonical contract for the whole design system — the --cl-* tokens, the .cl-<slot> + data-<axis> styling API, the CSS build, and the "Flow and data architecture" section that defines the split. Read it for the what; this skill is the how-to.

Which reference to read

You are…Read
Building on / authoring a headless primitive (@clerk/headless)references/headless.md
Styling a component (tokens, stylex.create, themeProps, CSS build)references/stylex.md
Building an enter/exit transition, or any motion that reads as wrongreferences/motion.md
Authoring or debugging a state machine, or wiring one to Reactreferences/machines.md → in-tree machine/README.md
Writing the controller (Clerk adapter, permissions, revalidate)references/controllers.md
Writing the view (rendering a snapshot, sending events)references/views.md
Testing a machine, controller, or viewreferences/testing.md
Migrating a legacy component into Mosaic (the end-to-end workflow)references/migration.md
Running the parity audit that guards a migrationreferences/parity-audit.md

The migration workflow (migration.md) ties the flow references together: it treats the legacy component as the spec and drives you through the machine, controller, and view layers, then verifies parity with parity-audit.md.

clerk의 다른 스킬

clerk-monorepo
clerk
Work effectively in the clerk/javascript SDK monorepo. Use when setting up the repo, building / testing / running a package, deciding which of the @clerk/*…
official
mosaic-machine
clerk
Mosaic 상태 머신을 작성하고 사용합니다. 사용자가 createMachine으로 상태 머신을 작성하거나, 다단계 흐름을 모델링하거나, 머신을 React에 연결할 때 사용합니다.
official
clerk-android
clerk
Implement Clerk authentication for native Android apps using Kotlin and Jetpack Compose with clerk-android source-guided patterns. Use for prebuilt…
official
clerk-astro-patterns
clerk
Astro 패턴과 Clerk — 미들웨어, SSR 페이지, 아일랜드 컴포넌트, API 라우트, 정적 렌더링 vs SSR 렌더링. 다음에서 트리거: astro clerk, clerk astro middleware,…
official
clerk-backend-api
clerk
Clerk Backend REST API explorer and executor. Browse tags, inspect endpoint schemas, and execute authenticated requests. Use when listing users, managing…
official
clerk-chrome-extension-patterns
clerk
Chrome Extension auth with @clerk/chrome-extension -- popup/sidepanel setup, syncHost for OAuth/SAML via web app, createClerkClient for service workers and…
official
clerk-cli
clerk
Operate the Clerk CLI (`clerk` binary) for authentication, user/org/session management, impersonation, local webhook testing, deploy verification, instance…
official
clerk-custom-ui
clerk
맞춤 인증 흐름 및 컴포넌트外观 - 훅(useSignIn, useSignUp), 테마, 색상, 글꼴, CSS. 맞춤 로그인/회원가입 흐름에 사용...
official