Agent skill

Shadcn To Zaidan

by carere in carere/zaidan

Port and sync shadcn-style React components, blocks, examples, and documentation into Zaidan.

MITAuto-check passedFrontend & Design

Install Shadcn To Zaidan

skills CLI
$ npx skills add carere/zaidan --skill shadcn-to-zaidan -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install carere/zaidan shadcn-to-zaidan --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/carere/zaidan.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/shadcn-to-zaidan .claude/skills/shadcn-to-zaidan && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
shadcn-to-zaidan
GitHub stars
147
Token cost
~2.9k tokens
SKILL.md length
1,275 words
Files
2
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Port and sync shadcn-style React components, blocks, examples, and documentation into Zaidan.

  • Works in 9 steps: Determine whether the source is a… → For a full sync, inventory the pinned… → Resolve registry metadata, component… → …
  • Importing from shadcn/ui
  • SKILL.md covers Inputs, Repository Sync Policy, Workflow and Shadcn Sources, plus 8 more sections
  • Calls curl, git and bun; reaches raw.githubusercontent.com and ui.shadcn.com

What it does

Shadcn To Zaidan is an agent skill from carere/zaidan. Port and sync shadcn-style React components, blocks, examples, and documentation into Zaidan. Use when importing from shadcn/ui or an external shadcn-compatible registry, transforming React sources to SolidJS, choosing Zaidan registry targets, updating styles or registry metadata, planning a release sync, or validating a port inside the Zaidan repository.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Frontend & Design, covering Design systems and React components. It works with shadcn/ui and React. The repository describes itself as: Shadcn registry for SolidJS. The licence is MIT.

When your agent uses it

  • Importing from shadcn/ui
  • An external shadcn-compatible registry
  • Transforming React sources to SolidJS
  • Choosing Zaidan registry targets

Example prompts

  • “/shadcn-to-zaidan”

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Determine whether the source is a release-pinned shadcn item, a raw source
  2. For a full sync, inventory the pinned catalog before changing files. Classify
  3. Resolve registry metadata, component source, MDX, MDX-referenced demos, and
  4. Get a live URL for the original React component when available, then inspect
  5. Transform the component, docs, and examples with help from the
  6. Update all eight style slices affected by the component. Start from the
  7. Run the transformed component, focused docs demos, and Create gallery
  8. If running inside this Zaidan repo, update
  9. Validate with focused checks and broader checks when appropriate.

What it can do on your machine

Read from SKILL.md and the folder at commit 271ffce. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • git
    • bun
    • rg

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • raw.githubusercontent.com
    • ui.shadcn.com
    • registry.npmjs.org
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Shadcn To Zaidan loads about 2.9k tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 1,275 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~94
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from carere/zaidan at commit 271ffce, republished under its MIT licence (© carere). 1,275 words, ~2,853 tokens.

Download SKILL.mdSave it as .claude/skills/shadcn-to-zaidan/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
shadcn-to-zaidan
description
Port and sync shadcn-style React components, blocks, examples, and documentation into Zaidan. Use when importing from shadcn/ui or an external shadcn-compatible registry, transforming React sources to SolidJS, choosing Zaidan registry targets, updating styles or registry metadata, planning a release sync, or validating a port inside the Zaidan repository.

Shadcn to Zaidan

Use this skill as the workflow contract for porting shadcn-style React components, examples, docs, and blocks into Zaidan. Use .agents/skills/react-to-solid/SKILL.md for React-to-SolidJS syntax and primitive translation rules.

Use .agents/skills/zaidan/SKILL.md instead for consumer-side installation, adding published registry items, or choosing components for a SolidJS product.

Inputs

Accept any mix of:

  • Component names, such as dialog, button, or data-table
  • Raw source URLs
  • External shadcn-style registry URLs
  • Source, playground, docs, or example URLs
  • Filter patterns when syncing from a registry
  • Dry-run requests that should report resolved work without editing
  • Extra transformation guidance from the user

Repository Sync Policy

For a full shadcn sync in this repository, use these defaults unless the user explicitly overrides them:

  • Resolve the latest stable shadcn npm release, then pin the entire sync to its immutable shadcn@<version> Git tag and peeled commit. Never mix a release snapshot with moving main URLs.
  • Use the current Base UI catalog and API under registry/bases/base as the upstream source of truth. Existing Zaidan APIs do not constrain the port.
  • Implement primitives in this order: Kobalte equivalent, then Corvu equivalent, then vanilla SolidJS. For non-primitive React dependencies, search for a maintained SolidJS flavor before writing an adapter.
  • Port installable components, every demo referenced by their MDX, and their Create examples.
  • Exclude Form, Data Table, Date Picker, and Typography as installable sync targets. Zaidan handles those concerns separately.
  • Replace Sonner with the Base Toast surface implemented on Kobalte Toast. Do not keep a Sonner alias, redirect, registry item, generated artifact, or solid-sonner dependency.
  • Keep one Sidebar component. Do not create separate documentation surfaces for its floating, icon, or inset variants.
  • Treat Accordion, Card, and Resizable documentation content as complete. When their sources or examples change, perform only a reference-integrity pass for preview/source names and any line-based code excerpts.

Resolve a stable release before fetching sources. Record the version, tag, and peeled commit in every plan or report. A typical resolution is:

bash
curl -s https://registry.npmjs.org/shadcn/latest
git ls-remote --tags https://github.com/shadcn-ui/ui.git \
  "refs/tags/shadcn@<version>*"

Use the peeled ^{} commit when an annotated tag returns two refs.

URL templates may contain <name> or {component} placeholders. Replace them with the source component name before fetching.

Workflow

When asked to port a component:

  1. Determine whether the source is a release-pinned shadcn item, a raw source URL, or an external shadcn-style registry/component.
  2. For a full sync, inventory the pinned catalog before changing files. Classify every surface as missing, stale, current, replacement, composition/guide, or excluded. Diff existing Zaidan sources as well as missing ones.
  3. Resolve registry metadata, component source, MDX, MDX-referenced demos, and Create example as distinct upstream artifacts. Inspect actual imports; registry metadata alone is not a reliable dependency graph.
  4. Get a live URL for the original React component when available, then inspect it with a browser to understand behavior, states, keyboard interactions, responsive behavior, and edge cases.
  5. Transform the component, docs, and examples with help from the react-to-solid skill.
  6. Update all eight style slices affected by the component. Start from the upstream semantic style classes, then verify selectors, data attributes, and CSS variables against the actual Kobalte/Corvu/Solid DOM.
  7. Run the transformed component, focused docs demos, and Create gallery locally and test each applicable artifact with a browser.
  8. If running inside this Zaidan repo, update src/registry/kobalte/registry.json.
  9. Validate with focused checks and broader checks when appropriate.

Use judgment for the details. This workflow covers new ports and release syncs of existing registry items, especially when changes touch docs, examples, styles, registry metadata, or browser behavior. Split independent work across subagents with clear prompts when that helps.

Shadcn Sources

Use the pinned release tag or commit in place of <ref>. Do not substitute main during a release sync.

NeedLocation
Registry metadatahttps://raw.githubusercontent.com/shadcn-ui/ui/<ref>/apps/v4/registry/bases/base/ui/_registry.ts
UI component sourcehttps://raw.githubusercontent.com/shadcn-ui/ui/<ref>/apps/v4/registry/bases/base/ui/<name>.tsx
Create metadatahttps://raw.githubusercontent.com/shadcn-ui/ui/<ref>/apps/v4/registry/bases/base/examples/_registry.ts
Create examplehttps://raw.githubusercontent.com/shadcn-ui/ui/<ref>/apps/v4/registry/bases/base/examples/<name>-example.tsx
UI docs sourcehttps://raw.githubusercontent.com/shadcn-ui/ui/<ref>/apps/v4/content/docs/components/base/<name>.mdx
Docs demohttps://raw.githubusercontent.com/shadcn-ui/ui/<ref>/apps/v4/examples/base/<preview-name>.tsx
Playground URLhttps://ui.shadcn.com/create?item=<name>-example

Use curl -s for raw file fetches.

External Sources

For external shadcn-style registries, prefer explicit inputs from the user:

  • Registry URL or source file URL
  • Playground or documentation URL where the React original can be observed
  • Docs URL or template, if docs should be synced into Zaidan
  • Example URL or template, if examples should be synced into Zaidan

Prefix external target names only when needed to avoid collisions.

Zaidan Targets

The active registry namespace is kobalte.

Output kindTarget
UI componentsrc/registry/kobalte/ui/<name>.tsx
Create examplesrc/registry/kobalte/examples/ui/<name>-example.tsx
Focused docs demosrc/registry/kobalte/examples/docs/<preview-name>.tsx
Block filessrc/registry/kobalte/blocks/<name>/
Block examplesrc/registry/kobalte/examples/blocks/<name>-example.tsx
Hooksrc/registry/kobalte/hooks/<name>.ts
Shared registry componentsrc/registry/kobalte/components/<name>.tsx
UI docssrc/pages/ui/kobalte/<name>.mdx
Block docssrc/pages/blocks/kobalte/<name>.mdx
Registry manifestsrc/registry/kobalte/registry.json
Registry stylessrc/registry/kobalte/styles/

Read nearby files before writing and match local conventions.

Focused docs demos are default-export modules. <ComponentPreview name="x" /> must resolve the same examples/docs/x.tsx module at runtime and when injecting displayed source. Keep slugs aligned across MDX frontmatter, UI source, registry item, and Create example.

Show full SKILL.md (489 more words)Show less

Style Sync

The global style sync must:

  • add/update all eight src/registry/kobalte/styles/style-*.css files;
  • unwrap upstream .style-* containers and translate semantic .cn-* classes to .z-* classes;
  • remove React Aria-only rules when they do not apply;
  • map Base UI attributes and CSS variables using the React-to-Solid reference, then verify the real rendered primitive DOM because the reference is not exhaustive;
  • wire new styles through schemas, configuration, the Create customizer, src/styles.css, registry metadata, customization docs, tests, and generated artifacts;
  • port the complete radius/token model required by the pinned styles, including larger computed radii, and keep any radius/customizer UI in sync;
  • preserve harmless unmatched style sections, but never preserve selectors known to target an obsolete primitive DOM.

For Create parity, update the generic preview-02/preview showcase and picker/discovery rules while keeping component-example and the excluded Sidebar variants out of the catalog.

Toast Replacement

Treat Toast as a hard replacement of Sonner:

  • Add the pinned shadcn Base Toast public surface over Kobalte Toast, its registry item, styles, and focused primitive validation.
  • Replace Sonner documentation with Toast documentation and focused demos.
  • Replace the Sonner Create gallery and validate the Create iframe.
  • Migrate remaining source and documentation callers, ensure every emitting context mounts a Region/List host, remove all Sonner artifacts and solid-sonner from the manifest and lockfile, rebuild generated output, and check for stale references.

Validate default, description, variants, close, timeout pause, keyboard hotkey, swipe, promise/update/dismiss, reduced motion, light/dark, and Create iframe behavior.

Block Composition

For blocks, keep the installable surface as small as the public primitive requires. If a block grows beyond a single file, split it into src/registry/kobalte/blocks/<name>/ and export from index.tsx.

  • Put only reusable primitives, context, helpers, and types inside the block.
  • Put dialogs, upload controls, previews, actions, and product-specific layout in src/registry/kobalte/examples/blocks/<name>-example.tsx.
  • Keep docs snippets aligned with the exported primitive API, not incidental example composition.
  • When changing interaction behavior, verify the real preview in a browser.

Registry Updates

When updating src/registry/kobalte/registry.json, infer fields from the files:

  • dependencies: npm packages imported by the item.
  • registryDependencies: other Zaidan registry items used by the item. Match the URL style already present in the registry.
  • files: real paths under src/registry/kobalte/.

For folder-based blocks, list every internal file the block imports. Do not add example-only files to the installable registry item unless the example is meant to be installed. Keep entries ordered consistently with the existing manifest.

Validation

Use focused checks while iterating:

bash
bun biome check --write <changed-files>
moon run :check
moon run :tsc
moon run :r-validate-kobalte
moon run :build

Run moon run :r-build-kobalte when publishable registry files, registry styles, or src/registry/kobalte/registry.json change. Explicitly check for stale generated item JSON after a hard replacement such as Sonner to Toast; the build may not delete obsolete output by itself.

Search changed TSX files for React leftovers:

bash
rg 'className|forwardRef|from "react"|from "lucide-react"|React\.|useState|useEffect|useMemo|useCallback' <changed-files>

Use bunx instead of npx.

Report

End with:

  • Source type and exact release version/tag/commit, raw URL, or external registry
  • Source, playground, docs, referenced demos, and Create examples used
  • Files changed
  • Browser checks performed
  • Validation commands run
  • Registry changes
  • Style changes across all eight themes
  • Intentional exclusions or parity exceptions
  • Remaining follow-ups

© carere, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agents/skills/shadcn-to-zaidan of carere/zaidan.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 271ffce

Compare with similar skills

Shadcn To Zaidan next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Shadcn To Zaidan compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Shadcn To Zaidan this skillcarere/zaidan147—~2.9kAutomated safety check: PassMIT
Creative Tim UI Blockscreativetimofficial/ui12k—~2.1kAutomated safety check: NotesMIT
Animated React Component LibrariesHainrixz/editor-pro-max2641 repos~5.7kAutomated safety check: PassCustom licence
Shadcn Tailwind UILiarMTTT/TavernWeave154—~1.7kAutomated safety check: PassCustom licence
Tailwind V4 Shadcnsecondsky/claude-skills227—~4kAutomated safety check: PassMIT
Hero UI Crafthashgraph-online/awesome-codex-plugins1.3k—~3.4kAutomated safety check: PassApache-2.0

Similar skills

  • Creative Tim UI Blocks

    creativetimofficial/ui

    Helps install, generate and review Creative Tim UI blocks: shadcn/ui-based React and Tailwind sections that follow a restrained, production-minded design philosophy.

    12k GitHub stars~2.1k tokensUpdated 7 mo ago
    Frontend & DesignAuto-check: notes
  • Animated React Component Libraries

    Hainrixz/editor-pro-max

    Helps choose and drop in animated React components from Magic UI and React Bits for landing pages, marketing sites and dashboards, instead of hand-coding animations.

    264 GitHub starsUsed in 1 repo~5.7k tokens
    Frontend & DesignAuto-check passed
  • Shadcn Tailwind UI

    LiarMTTT/TavernWeave

    Build, restyle, or review accessible React interfaces that use shadcn/ui, Radix UI primitives, and Tailwind CSS.

    154 GitHub stars~1.7k tokensUpdated 7 days ago
    Frontend & DesignAuto-check passed
  • Tailwind V4 Shadcn

    secondsky/claude-skills

    | Production-tested setup for Tailwind CSS v4 with shadcn/ui, Vite, and React.

    227 GitHub stars~4k tokensUpdated 13 days ago
    Frontend & DesignAuto-check passed
  • Hero UI Craft

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when Codex works on any front-end implementation, UI polish, dashboard, product screen, internal tool, design system, React component, Tailwind CSS v4 surface, HeroUI React…

    1.3k GitHub stars~3.4k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Web Artifacts Builder

    anthropics/skills

    Official

    Builds multi-component claude.ai HTML artifacts as a small React, TypeScript and Tailwind project, then bundles it into one shareable HTML file.

    180k GitHub starsUsed in 40 repos~769 tokens
    Frontend & DesignAuto-check passed

More from carere/zaidan

  • React To Solid

    carere/zaidan

    React-to-SolidJS transformation patterns for porting shadcn-style React components, examples, docs snippets, and blocks into Zaidan.

    147 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed
  • Zaidan

    carere/zaidan

    Install and configure the Zaidan component registry in an existing SolidJS codebase, and recommend Zaidan components for a product or interaction need.

    147 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed

Works with

Questions about Shadcn To Zaidan

What does Shadcn To Zaidan do?

Port and sync shadcn-style React components, blocks, examples, and documentation into Zaidan. Shadcn To Zaidan is an agent skill from carere/zaidan. Port and sync shadcn-style React components, blocks, examples, and documentation into Zaidan.

When should I use Shadcn To Zaidan?

Shadcn To Zaidan fits situations like: importing from shadcn/ui; an external shadcn-compatible registry; transforming React sources to SolidJS; choosing Zaidan registry targets.

How do I install Shadcn To Zaidan in Claude Code?

Run `npx skills add carere/zaidan --skill shadcn-to-zaidan -a claude-code`. Or copy the skill folder (.agents/skills/shadcn-to-zaidan in carere/zaidan) into .claude/skills/shadcn-to-zaidan in your project. Claude Code loads it when a task matches its description.

How do I install Shadcn To Zaidan in Codex?

Run `npx skills add carere/zaidan --skill shadcn-to-zaidan -a codex`. Or copy the skill folder (.agents/skills/shadcn-to-zaidan in carere/zaidan) into .agents/skills/shadcn-to-zaidan in your project. Codex loads it when a task matches its description.

Can I use Shadcn To Zaidan in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add carere/zaidan --skill shadcn-to-zaidan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/shadcn-to-zaidan, .gemini/skills/shadcn-to-zaidan, .github/skills/shadcn-to-zaidan and .opencode/skills/shadcn-to-zaidan in your project.

What does Shadcn To Zaidan need to run?

Going by SKILL.md and its folder, Shadcn To Zaidan needs the command-line tools its instructions call (curl, git, bun and rg).

Does Shadcn To Zaidan access the network?

SKILL.md names 4 domains. In commands or code: raw.githubusercontent.com, ui.shadcn.com, registry.npmjs.org and github.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Shadcn To Zaidan safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Shadcn To Zaidan use?

Shadcn To Zaidan is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Shadcn To Zaidan use?

About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Shadcn To Zaidan?

Skills that share tags, products or a category with Shadcn To Zaidan: Creative Tim UI Blocks (creativetimofficial/ui, 12k stars), Animated React Component Libraries (Hainrixz/editor-pro-max, 264 stars), Shadcn Tailwind UI (LiarMTTT/TavernWeave, 154 stars) and Tailwind V4 Shadcn (secondsky/claude-skills, 227 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Shadcn To Zaidan?

carere (a GitHub user) maintains it in carere/zaidan, which has 147 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 5, 2026.

Source: carere/zaidan on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.