shadcn-baseui

Enforce Base UI `render` prop usage for shadcn/ui components.

Updated Mar 7, 2026
One-click install
npx skills add https://github.com/mihaicrisan04/zalem --skill shadcn-baseui
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: shadcn-baseui
Source: https://github.com/mihaicrisan04/zalem/tree/main/.agents/skills/shadcn-baseui
Command: npx skills add https://github.com/mihaicrisan04/zalem --skill shadcn-baseui

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill prevents AI agents from using outdated Radix UI patterns (like asChild) when working with shadcn/ui components that are configured to use Base UI, ensuring correct and modern implementation.

Core Features & Use Cases

  • Pattern Enforcement: Guides AI to use Base UI's render prop instead of Radix UI's asChild for trigger and wrapper components.
  • Component-Specific Guidance: Provides correct prop usage for Accordion, Button, and Select components when integrated with Base UI.
  • Use Case: When asking an AI to implement a modal using shadcn/ui, this skill ensures it uses DialogTrigger render={<Button />} instead of the incorrect DialogTrigger asChild.

Quick Start

Ensure the @base-ui/react package is installed and use the render prop for all trigger components.

Frequently Asked Questions about shadcn-baseui

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I use shadcn/ui components with Base UI instead of Radix UI?

To use shadcn/ui with Base UI, you must use the `render` prop for trigger and wrapper components instead of the outdated `asChild` pattern. This ensures your Accordion, Button, and Select components remain compatible with Base UI configurations.

Why does my shadcn/ui DialogTrigger asChild prop not work with Base UI?

The `asChild` prop is a Radix UI pattern that does not work with Base UI. Base UI uses a distinct slot pattern, requiring you to use the `render` prop instead, such as `DialogTrigger render={<Button />}`, to function correctly.

What is the correct Base UI pattern for shadcn/ui trigger components?

The correct Base UI pattern for shadcn/ui triggers involves using the `render` prop. You pass the component directly, like `DialogTrigger render={<Button />}`, replacing the Radix UI `asChild` approach to enforce modern implementation.

How do I know if my shadcn/ui project is configured for Base UI?

You can identify a Base UI configuration by checking the `components.json` file. If the style fields in your `components.json` start with "base-", your project is set up to use Base UI patterns and requires the `render` prop.

Do I need to install Base UI packages to use shadcn/ui component patterns?

Yes, you need to ensure the `@base-ui/react` package is installed in your project. Once installed, you can use the `render` prop for all trigger components to properly implement shadcn/ui patterns with Base UI.

What are the limitations of using Radix UI patterns in Base UI shadcn/ui projects?

Using Radix UI patterns like `asChild` in Base UI projects breaks component functionality. You must avoid `asChild` for trigger and wrapper components and strictly use the Base UI `render` prop for Accordion, Button, and Select components to prevent errors.