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
在clerk/javascript SDK monorepo中高效工作。適用於設定儲存庫、建置/測試/執行套件、決定使用哪個@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
使用 Clerk 的 Astro 模式 — 中介軟體、SSR 頁面、島嶼元件、API 路由、靜態 vs SSR 渲染。觸發條件:astro clerk、clerk astro middleware、…
official
clerk-backend-api
clerk
Clerk 後端 REST API 探索工具與執行工具。瀏覽標籤、檢查端點配置結構,並執行已驗證的要求。適用於列出使用者、管理…
official
clerk-chrome-extension-patterns
clerk
使用 @clerk/chrome-extension 進行 Chrome 擴充功能驗證 -- popup/sidepanel 設定、透過 Web 應用程式使用 syncHost 進行 OAuth/SAML、為 service workers 使用 createClerkClient 以及…
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
自訂驗證流程與元件外觀 - hooks (useSignIn, useSignUp)、主題、顏色、字型、CSS。用於自訂登入/註冊流程,…
official