Skills

React To Solid

React-to-SolidJS transformation patterns for porting shadcn-style React components...

Install

npx skills add nightly-labs/openbot --skill react-to-solid -g -a claude-code -y
Repository
nightly-labs/openbot4.5k
Category
Design
Updated
3d ago
License
See repository
Context cost
Lightabout 1,486 tokens
Runs scripts
No, instructions only

What it does

React-to-SolidJS transformation patterns for porting shadcn-style React components, examples, docs snippets, and blocks into Zaidan. Use when converting React TSX, React hooks, Radix/Base UI/shadcn patterns, Next-style code, or React-specific dependencies to idiomatic SolidJS.

React to SolidJS

Use this skill for the translation itself. Use .agents/skills/shadcn-to-zaidan/SKILL.md for the workflow, source URLs, target paths, registry updates, browser testing, and command choices.

Load References Only When Needed

  • Read docs/base-ui-mapping.md for @base-ui/react-*, @radix-ui/*, Base UI data attributes, or Base UI CSS variables.
  • Read docs/kobalte-patterns.md when typing or composing Kobalte primitive parts.
  • Read docs/corvu-patterns.md when using Corvu primitives.
  • Read docs/third-party-deps.md when replacing React-specific third-party packages.

Core Mappings

ReactSolidJS
classNameclass
className?: stringclass?: string
Destructured propssplitProps(props, [...])
Destructured default propsmergeProps(defaults, props) before splitProps
{condition && <El />}<Show when={condition}><El /></Show>
items.map(...) in JSX<For each={items}>{(item) => ...}</For>
useStatecreateSignal or createStore
useEffectcreateEffect, onMount, or onCleanup
useMemocreateMemo only for reactive derived values
useCallbackUsually remove
forwardRefUsually remove
React.ReactNodeJSX.Element
React.ComponentProps<"div">ComponentProps<"div">
lucide-reactlucide-solid
next/imageNative <img> unless local code has a wrapper
next/linkTanStack Router Link or native <a> based on local usage

Use e.currentTarget for typed form events. Use signal calls such as value(); do not treat signals like React state variables.

Source-of-Truth and Dependency Policy

For Zaidan's shadcn release sync, the pinned Base UI component API, behavior, slots, and styling contract are authoritative. Do not preserve an older Zaidan API merely for backward compatibility. Record only unavoidable Solid-specific divergences.

Read the whole SKILL.md on GitHub

More in Design