react-to-solid — shadcn-ui react-to-solid, zaidan, community, shadcn-ui, ide skills, solidjs, Claude Code, Cursor, Windsurf

v1.0.0
GitHub

About this Skill

Ideal for Frontend Agents requiring seamless React-to-SolidJS component transformations. Shadcn registry for SolidJS

# Core Topics

carere carere
[45]
[1]
Updated: 2/28/2026

Agent Capability Analysis

The react-to-solid skill by carere is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance. Optimized for shadcn-ui, solidjs.

Ideal Agent Persona

Ideal for Frontend Agents requiring seamless React-to-SolidJS component transformations.

Core Value

Empowers agents to leverage the Shadcn registry for SolidJS, providing transformation rules as reusable context for converting React components to SolidJS equivalents, utilizing SolidJS and React libraries.

Capabilities Granted for react-to-solid

Transforming React components to SolidJS
Generating SolidJS equivalents from React codebases
Referencing transformation rules for Zaidan project compatibility

! Prerequisites & Limits

  • Does not perform transformations itself
  • Requires reference by other transformation agents
  • Specific to React-to-SolidJS transformations
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

react-to-solid

Install react-to-solid, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

React-to-SolidJS Transformation Rules

Single source of truth for all React-to-SolidJS transformations in the Zaidan project. This is a KNOWLEDGE skill -- it provides transformation rules as reusable context. Agents reference these tables when converting React components to SolidJS equivalents.

IMPORTANT: This skill is a knowledge resource. It does NOT perform transformations itself. Instead, it provides the necessary rules and mappings that other transformation agents will reference when executing conversions. If user call it manually, explain what this skill covers and redirect user to the agents that will use this skill, then stop.

React-to-SolidJS Transformation Rules

AspectReact (shadcn)SolidJS (Zaidan)
Class attributeclassNameclass
Class prop typeclassName?: stringclass?: string
Props destructuring{ className, ...props }splitProps(props, ["class"])
Spread props{...props}{...others} after splitProps
Default propsDestructure defaults { x = 5 }mergeProps({ x: 5 }, props)
Conditional rendering{condition && <El />}<Show when={condition}><El /></Show>
List rendering{items.map(x => ...)}<For each={items}>{x => ...}</For>
Primitive library@base-ui/react-*@kobalte/core/*
PolymorphicasChild propas prop with PolymorphicProps
RefsforwardRef wrapperRemove (not needed in SolidJS)
Children typeReact.ReactNodeJSX.Element
Component typeReact.ComponentProps<"div">ComponentProps<"div">
Event targete.target.valuee.currentTarget.value
Utils import@/registry/bases/base/lib/utils@/lib/utils

Import Transformations

tsx
1// REMOVE (React): 2import * as React from "react" 3import { Slot } from "base-ui" 4import * as DialogPrimitive from "@base-ui/react/dialog" 5import { cn } from "@/registry/bases/base/lib/utils" 6 7// ADD (SolidJS): 8import type { ComponentProps, JSX, ValidComponent } from "solid-js" 9import { splitProps, mergeProps, Show, For } from "solid-js" 10import * as DialogPrimitive from "@kobalte/core/dialog" 11import type { PolymorphicProps } from "@kobalte/core/polymorphic" 12import { cn } from "@/lib/utils"

Advanced Transformation Patterns

Component Part Patterns WITHOUT Kobalte/Corvu Primitive

When a component part does NOT use a Kobalte or Corvu primitive, use this pattern:

tsx
1type ComponentPartProps = ComponentProps<"<html_element>"> 2 3const ComponentPart = (props: ComponentPartProps) => { 4 const mergedProps = mergeProps({ aProp: "default" } as ComponentPartProps, props); 5 const [local, others] = splitProps(mergedProps, ["aProp"]); 6 return <html_element aProp={local.aProp} {...others} />; 7}

Component Part Patterns WITH Kobalte/Corvu Primitive

When a component part uses a Kobalte or Corvu primitive, use polymorphic typing:

tsx
1import * as Primitive from "@kobalte/core/primitive"; 2 3type ComponentPartProps<T extends ValidComponent = "<html_element>"> = 4 PolymorphicProps<T, Primitive.PrimitivePartProps<T>> & 5 Pick<ComponentProps<"<html_element>">, "aProp">; 6 7const ComponentPart = <T extends ValidComponent = "<html_element>">( 8 props: ComponentPartProps<T> 9) => { 10 const mergedProps = mergeProps( 11 { aProp: "default" } as ComponentPartProps<T>, 12 props as ComponentPartProps<T> 13 ); 14 const [local, others] = splitProps(mergedProps, ["aProp"]); 15 return <Primitive.Root aProp={local.aProp} {...others} />; 16}

Reading Kobalte Documentation

When consulting Kobalte docs at https://kobalte.dev/docs/core/components/<component-name>:

  • Anatomy Section: Lists all ComponentPart elements and how to combine them
  • Rendered Elements Section: Check the "Default rendered element" column:
    • If starts with a capital letter -> no primitive used (e.g., a Kobalte sub-component)
    • If none -> no primitive used (wrapper/context provider)
    • Otherwise -> native HTML element (e.g., div, button, h3)
  • API Reference: Props, data attributes, CSS variables for each part
  • CSS Variables: Kobalte prefixes with --kb- (e.g., --kb-accordion-content-height)

Reading Corvu Documentation

When consulting Corvu docs at https://corvu.dev/docs/primitives/<component-name>:

  • Anatomy Section: Lists all ComponentPart elements with combination patterns
  • API Reference Section: Rendered elements are specified in the Props table, under the as row
  • DynamicProps: Corvu uses DynamicProps instead of Kobalte's PolymorphicProps
  • CSS Variables: Corvu prefixes with --corvu- (e.g., --corvu-disclosure-content-height)
  • Data Attributes: Corvu prefixes with data-corvu- (e.g., data-corvu-accordion-trigger)
  • Context Hooks: useContext() and useItemContext() for accessing component state

Documentation Resources

Kobalte Core Components

  • URL Pattern: https://kobalte.dev/docs/core/components/<component-name>
  • Content: Anatomy, Rendered elements, API Reference, Props, Data Attributes, CSS Variables
  • For detailed patterns, see docs/kobalte-patterns.md

Corvu Primitives

  • URL Pattern: https://corvu.dev/docs/primitives/<component-name>
  • Content: Anatomy, API Reference with rendered elements in Props table
  • For detailed patterns, see docs/corvu-patterns.md

Shadcn Registry

  • Components: https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/ui/<component-name>.tsx
  • Examples: https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/<component-name>-example.tsx
  • Docs: https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/content/docs/components/<component-name>.mdx
  • Schema: https://ui.shadcn.com/schema/registry.json

Supporting Documentation

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is react-to-solid?

Ideal for Frontend Agents requiring seamless React-to-SolidJS component transformations. Shadcn registry for SolidJS

How do I install react-to-solid?

Run the command: npx killer-skills add carere/zaidan/react-to-solid. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for react-to-solid?

Key use cases include: Transforming React components to SolidJS, Generating SolidJS equivalents from React codebases, Referencing transformation rules for Zaidan project compatibility.

Which IDEs are compatible with react-to-solid?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for react-to-solid?

Does not perform transformations itself. Requires reference by other transformation agents. Specific to React-to-SolidJS transformations.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add carere/zaidan/react-to-solid. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use react-to-solid immediately in the current project.

Related Skills

Looking for an alternative to react-to-solid or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI