跳转到使用指南
shadcn-ui作者 Google Labs

shadcn UI Skill.

Claude Code 和 Codex 的 UI 设计 skill:集成和定制 shadcn/ui 组件:发现、安装、最佳实践。

  • Web & UI
  • UI 代码
google-labs-code/stitch-skills · plugins/stitch-build/skills/shadcn-ui/SKILL.mdSKILL.md
--- name: shadcn-ui description: Expert guidance for integrating and building applications with shadcn/ui components, including component discovery, installation, customization, and best practices. --- ## Core Principles ## Component Discovery and Installation ## Project Setup ## Component Architecture ## Customization Best Practices ## Blocks and Complex Components
前言和章节标题读取自上游文件,时间为 2026-09-14 · 完整内容 9,117 字符

01 功能说明

shadcn-ui Skill 在 Claude Code 和 Codex 中的作用

摘要、工作流与产物,均读自该 skill 的 SKILL.md。

来自 SKILL.md读取于 2026-09-14 · 非实际运行记录

以 skill 自身的术语

该 skill 为 Agent 提供使用 shadcn/ui 构建应用的专家指导,shadcn/ui 是一套基于 Radix UI 或 Base UI 与 Tailwind CSS 构建的可访问、可定制组件集合。内容涵盖通过 shadcn MCP 工具进行组件发现、使用 CLI 安装或手动集成、通过 create 和 init 命令进行项目搭建,以及 components.json 中的 style、baseColor、cssVariables、rsc 和 rtl 等选项。

它说明了 components/ui/ 的文件结构和 cn() 辅助函数,随后介绍了通过 app/globals.css 中的 CSS 变量、class-variance-authority 变体和包装组件进行定制的方法。区块按类别组织,之后是可访问性规则、常见的表单、对话框和表格模式、故障排查,以及一份五步验证清单。

它产出什么

  • 写入 components/ui/ 并接入你的导入的组件源文件。
  • 反映配置和已添加组件的更新后的 components.json。
  • 为仪表盘或登录流程等多文件界面获取的区块源代码。
  • 你自己的包装组件文件,例如 components/custom-button.tsx。
查看示例提示词 ↗

工作方式

  1. 01
    先浏览目录

    通过 shadcn MCP 工具探索可用组件,而不是凭猜测命名,使用 list_components、get_component_metadata 和 get_component_demo。

  2. 02
    用 CLI 添加组件

    推荐的方式是使用 add 命令,它会下载适配你配置的源码,安装依赖,并将文件放入 components/ui/。

  3. 03
    或手动集成源码

    若手动集成,用 get_component 拉取代码,自行创建文件,安装 peer 依赖并调整导入路径。

  4. 04
    初始化项目配置

    新项目使用 create 来选择样式、字体和组件库;已有项目运行 init,会写入 components.json。

  5. 05
    用 CSS 变量做主题

    颜色定义在 Tailwind 配置和 CSS 变量中,.dark 代码块提供深色模式的覆盖值。

  6. 06
    提交前验证

    进行类型检查、代码检查、无障碍测试,检查浅色和深色模式,并验证断点。

02 找到适合场景

何时使用 shadcn-ui Skill

在 Claude Code 或 Codex 中使用 shadcn-ui skill 进行此类 UI 设计工作。适用范围和限制来自该 skill 自身的文件。

适合场景

  • 启动新项目时,应提前选定样式、字体和组件库。
  • 将 shadcn/ui 引入已有代码库,需要一个 components.json 配置。
  • 针对 components.json 中声明的私有或团队注册表工作,或浏览公共 Registry Directory。
  • 用预制的 block 组装更大的页面,例如身份验证流程或仪表盘。
  • 键盘导航、ARIA 属性和焦点管理不可妥协的项目。

了解边界

  • 组件和 primitive 的版本会出现偏差,因此升级可能失败,需要检查发行说明。

需要提供的信息

  • Primitive 库选择 Radix UI 或 Base UI;下载的源码会适配该选择。
  • 注册表名称当配置了默认注册表之外的其他注册表时,先列出可用内容,再从中拉取条目。
  • Block 分类可选的分类过滤器可在获取源码前缩小 block 的列表范围。

03 Skill 内部

shadcn-ui Skill 为 Claude Code 和 Codex 设定的规则

SKILL.md 为 Agent 设定的 7 条具体指令、默认值与限制——正是文件中真正改变结果的部分。

  1. 掌控组件代码

    将这些组件视为你复制进来、可自由改写的源码,而不是需要整体升级的依赖;你可以自由更改样式、行为和结构。

  2. 将 Wrapper 组件排除在 Components/ui/ 之外

    组合或扩展的组件放在 components/ 中,永远不要放进 components/ui/,那里只保留 shadcn 组件本身。

  3. 用 Cn() 合并类名

    每个 shadcn 组件都使用 cn() 辅助函数,它结合了 clsx 和 tailwind-merge,从而避免覆盖样式时产生冲突。

  4. 用 Cva 表达变体

    变体和尺寸逻辑属于 class-variance-authority,通过 defaultVariants 声明未传参数时应用哪个变体和尺寸。

  5. 定制时保持可访问性

    保留 ARIA 属性、保留键盘事件处理、使用屏幕阅读器测试,并保持可见的焦点指示。

  6. 遵循运行时要求

    shadcn/ui v4 需要 React 18+,在 Next.js 项目中则需要 Next.js 13+;部分组件还固定了特定的 Radix UI 版本。

  7. 手动安装时自行安装 Peer 依赖

    手动集成意味着由你自己解析 peer 依赖并手动修正 import,而不是交给 CLI 处理。

04 投入使用

在 Claude Code 或 Codex 中安装 shadcn-ui

一条 npx skills add 命令,然后在你的 Agent 中执行第一个任务和对结果的清单检查。

将 shadcn-ui 添加到 Claude Code、Codex 或你的 Agent

在你的项目中运行;安装程序会询问要把它添加到哪个 Agent。

Terminal
npx skills add https://github.com/google-labs-code/stitch-skills --skill shadcn-ui

针对 plugins/stitch-build/skills/shadcn-ui/SKILL.md 的通用 skills CLI 形式;具体仓库可能会记录自己的路径。

给 Skill 一个首次 UI 设计任务

按 skill 自身的术语撰写;把括号中的部分换成你的内容。

Starter prompt
Set up shadcn/ui in my existing [Next.js app] with the new-york style and zinc base color, then add Button, Card and Dialog. Use the login block for the sign-in page, and wrap Button in a LoadingButton in components/ that shows a spinner while [the form submission] is pending. Keep the ARIA attributes and keyboard handling intact.

来源:依据 SKILL.md,按 skill 自身的术语撰写。

检查首次结果

SKILL.md 本身如何描述正确的结果:

  • 运行项目的 linter,检查复制过来的源码中的风格问题。
  • 用 axe DevTools 之类的工具检查可访问性。
  • 在浅色和深色模式下分别做一次视觉检查。
  • 在不同的断点下验证表现是否正常。

在 OpenDesign 中shadcn-ui 已内置:Plugins → Skills,在顶部栏中选择它即可。

05 开源、可追溯

来源、许可与验证

本页面事实的来源,以及最后检查时间。

Skill 文件
plugins/stitch-build/skills/shadcn-ui/SKILL.md 验证时记录的内容校验和;提交 0337446
License
Apache-2.0 来自 LICENSE。
仓库星标数
8,304 GitHub 快照于 2026-09-14 针对整个 google-labs-code/stitch-skills 仓库获取,该仓库在此目录中包含 12 个 skills。不是 shadcn-ui 的评分或使用计数。
已由 OpenDesign 验证
2026-09-14 已检查源文件、路径、许可证文本和星标数。已捆绑在 OpenDesign 主版本中(检查于 2026-08-28);此页面尚未记录实际运行。

SKILL.md 内部

  1. 核心原则为什么由你掌控的复制代码胜过依赖。
  2. 组件发现与安装MCP 工具、CLI 与手动安装的对比,以及自定义注册表。
  3. 项目设置create 与 init 的区别、components.json 选项、必需的依赖。
  4. 组件架构目录结构与 cn() 类名合并工具。
  5. 定制最佳实践CSS 变量主题、cva 变体、放在 components/ui/ 之外的 Wrapper 组件。
  6. Block 与复杂组件按分类列出、获取并安装多文件 Block。
  7. 无障碍基于 Radix 的键盘、ARIA、焦点和禁用行为,需予以保留。
  8. 常见模式表单、对话框和数据表格的导入方案。
  9. 故障排查针对导入、样式冲突、依赖和版本问题的修复方法。
  10. 校验与质量从类型检查到响应式 QA 的五项提交前检查。
  11. 资源安装、目录、定制与迁移参考文件。
  12. 示例示例实现,以及表单、仪表盘、鉴权和数据表格模式。
Skill 自身的描述
"集成和构建 shadcn/ui 组件应用的专家指导,包括组件发现、安装、自定义和最佳实践。"

来自 SKILL.md 的 front-matter 描述。完整文件约 9,117 字符。在 GitHub 上阅读完整文件。

06 安装之前

关于 shadcn-ui Skill 的常见问题

以下回答来自 2026-09-14 读取到的 SKILL.md,而非某次实际运行的记录。

Radix UI 还是 Base UI?

两者皆可。您在配置中选择底层组件库,CLI 会相应调整下载的源码。所述的无障碍保证与基于 Radix UI 底层组件构建的组件相关。

shadcn UI

在真实 UI 设计任务中运行 shadcn-ui。

shadcn-ui skill 内置于 OpenDesign。下载应用,在 Plugins → Skills 中选择该 skill,粘贴上面的提示词,并在查看结果前先阅读计划。

终端
npx skills add https://github.com/google-labs-code/stitch-skills --skill shadcn-ui