Token导航 LogoToken导航

Agent Skill · 前端设计

chakra-ui-builder(脉轮 ui 生成器)

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

chakra-ui-builder 是前端设计类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为操作浏览器;许可证信息还不明确,第三方扫描已通过,按安装量在前端设计类的 10,216 个 Skill 里排第 3,046。

总安装 1,630周安装 70GitHub Stars 40,408下载 571核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:chakra-ui-builder(脉轮 ui 生成器)
来源仓库:https://github.com/chakra-ui/chakra-ui
仓库路径:skills/chakra-ui-builder
安装命令:
npx skills add https://github.com/chakra-ui/chakra-ui --skill chakra-ui-builder
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/chakra-ui/chakra-ui --skill chakra-ui-builder

这个 Skill 是做什么的

前端设计类 Skill 关注页面结构、视觉规范和组件写法,输出通常是可运行的界面代码。

专为 Chakra UI v3 设计的 UI 构建助手。根据项目上下文生成定制化组件代码。自动识别包管理器、适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。框架类型和 TypeScript 配置。

chakra-ui-builder 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/chakra-ui-builder

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/chakra-ui/chakra-ui --skill chakra-ui-builder;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

chakra-ui-builder 怎么安装?

在终端执行 npx skills add https://github.com/chakra-ui/chakra-ui --skill chakra-ui-builder。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

chakra-ui-builder 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

chakra-ui-builder 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

chakra-ui-builder 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

chakra-ui-builder 用的人多吗?

公开数据是累计安装 1,630 次,近一周安装 70 次,下载 571 次,GitHub 40,408 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

chakra-ui-builder 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。
  • 来源仓库有 40,408 星,维护活跃度相对可查。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理前端设计类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

前端设计类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
frontend-design

前端设计 · Codex、Claude

8,823,360126,072只读MIT通过
vercel-composition-patterns

Vercel 组合模式 · Codex、Claude

3,858,81625,893需要联网MIT通过
vercel-react-native-skills

Vercel React native skills 前端 · Codex、Claude

2,468,66425,878只读MIT通过
adapt

adapt 搜索 · Codex、Claude

2,027,04023,125操作浏览器未明确通过
bolder

bolder 分析 · Codex、Claude

2,004,28823,130只读未明确通过
chakra-ui-builder

脉轮 ui 生成器 · 本页

1,63040,408操作浏览器未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Chakra UI Builder

You are building UI with Chakra UI v3 and helping developers set up Chakra UI in their projects. Your job is to produce clean, accessible, responsive code that fits the project — not generic boilerplate. Read the project context first, then build or set up.


Step 1 — Read the project context

Check package.json if available. Look for:

  • Chakra UI version (use v3 patterns by default; only use v2 if explicitly on v2)
  • Framework: Next.js App Router, Pages Router, Vite, plain React
  • TypeScript or JavaScript
  • Package manager (from lockfile: pnpm-lock.yaml, yarn.lock, bun.lock, package-lock.json)

Also glance at existing components if the user references them, so your code matches the conventions already in use (naming, file structure, import style).

If the requirements are vague or the component is complex enough that choices matter (layout direction, data shape, color palette, number of variants), ask before building rather than generating something that needs to be thrown away.


Project setup

If Chakra UI isn't installed yet, complete setup before building.

Install

# npm
npm install @chakra-ui/react @emotion/react

# pnpm
pnpm add @chakra-ui/react @emotion/react

# yarn
yarn add @chakra-ui/react @emotion/react

# bun
bun add @chakra-ui/react @emotion/react

Generate snippets with the CLI

npx @chakra-ui/cli snippet add

With no arguments this adds the recommended set — provider, toaster, and tooltip — and automatically installs required dependencies (including next-themes). Use --all to add every snippet, or snippet list to browse first.

The CLI detects your framework and writes files to the right place:

FrameworkOutput path
Next.js (with src/)src/components/ui/
Next.js (no src/)components/ui/
Vite / plain Reactsrc/components/ui/
Remixapp/components/ui/

Wire up the Provider

Next.js App Router (app/layout.tsx):

import { Provider } from "@/components/ui/provider"

export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <html lang="en" suppressHydrationWarning>
      <body>
        <Provider>{children}</Provider>
      </body>
    </html>
  )
}

suppressHydrationWarning prevents a mismatch caused by next-themes injecting the color-mode class. Do not add "use client" to layout.tsx — the generated provider file already has it.

Next.js Pages Router (pages/_app.tsx):

import { Provider } from "@/components/ui/provider"

export default function App({ Component, pageProps }) {
  return (
    <Provider>
      <Component {...pageProps} />
    </Provider>
  )
}

Vite (src/main.tsx):

import { Provider } from "./components/ui/provider"

createRoot(document.getElementById("root")!).render(
  <StrictMode>
    <Provider>
      <App />
    </Provider>
  </StrictMode>,
)

Manual Provider (if CLI is unavailable)

If the CLI fails, create components/ui/provider.tsx manually and install next-themes separately:

"use client"
import { ChakraProvider, defaultSystem } from "@chakra-ui/react"
import { ThemeProvider } from "next-themes"

export function Provider({ children }: { children: React.ReactNode }) {
  return (
    <ChakraProvider value={defaultSystem}>
      <ThemeProvider attribute="class" disableTransitionOnChange>
        {children}
      </ThemeProvider>
    </ChakraProvider>
  )
}

Common setup issues

  • Unstyled components — app is not wrapped in <Provider>. Check the import path and that Provider wraps the component tree.
  • Hydration mismatch — add suppressHydrationWarning to <html> in App Router.
  • next-themes not found — install it: npm install next-themes (only needed for the manual fallback; the CLI handles it automatically).
  • extendTheme not exported — this is a v2 pattern. Use createSystem in v3.

Step 2 — Choose the right layout primitives

Reach for the right Chakra primitive rather than wrapping everything in Box:

NeedUse
Vertical stack of itemsStack (default) or VStack
Horizontal rowHStack or Flex
CSS GridGrid + GridItem
Equal-column gridSimpleGrid columns={N}
Centered page contentContainer maxW="container.lg"
Full flexbox controlFlex with explicit props
Semantic section/articleBox as="section" / Box as="article"

Avoid deep nesting. If you're three Box levels deep with no semantic reason, flatten it. Prefer gap over margin between siblings.


Step 3 — Use tokens, not raw values

Chakra v3 ships semantic tokens that automatically adapt to light/dark mode. Prefer them over hard-coded palette values — they make the component theme-aware without any extra work.

// Prefer semantic tokens
<Box bg="bg.subtle" color="fg.default" borderColor="border.subtle" />
<Text color="fg.muted" />
<Box shadow="md" rounded="lg" />

// Use colorPalette for interactive components (not colorScheme)
<Button colorPalette="blue">Submit</Button>
<Badge colorPalette="green">Active</Badge>

Use raw palette values (blue.500, gray.100) only when a specific color is intentional and should not shift with color mode.


Step 4 — Responsive styles

Chakra uses mobile-first breakpoints. Use array or object syntax consistently:

// Array: [base, sm, md, lg, xl]
<Box px={[4, 6, 8]} fontSize={["sm", "md", "lg"]} />

// Object: explicit breakpoints
<SimpleGrid columns={{ base: 1, md: 2, lg: 3 }} gap={6} />
<Stack direction={{ base: "column", md: "row" }} gap={4} />

Every layout component should handle at least base (mobile) and md (desktop) breakpoints unless the request is explicitly desktop-only.


Step 5 — Forms

Use Field.Root for all form fields — it wires up label, input, error, and help text correctly:

<Field.Root invalid={!!error} required>
  <Field.Label>Email address</Field.Label>
  <Input type="email" placeholder="you@example.com" />
  <Field.ErrorText>{error}</Field.ErrorText>
  <Field.HelpText>We'll never share your email.</Field.HelpText>
</Field.Root>

For form submission state, use disabled (not isDisabled) on inputs and buttons. Group related fields in a Stack gap={4}.


Step 6 — Accessibility

Chakra's built-in components handle most accessibility automatically — don't override it. The things you do need to provide:

  • Icon-only buttons: always add aria-label <IconButton aria-label="Close dialog" icon={<CloseIcon />} />
  • Images: always pass meaningful alt text (or alt="" for decorative)
  • Form labels: use Field.Label or ensure htmlFor matches the input id
  • Interactive custom elements: if you build something with onClick on a Box, use as="button" or an actual <button> so keyboard navigation works
  • Semantic headings: use h1–h6 hierarchy; don't skip levels
  • Color contrast: don't use light gray text on white backgrounds; rely on semantic tokens which are contrast-tested

Step 7 — Next.js: where to add "use client"

In Next.js App Router, Server Components are the default. Add "use client" only to files that need it — not to entire layouts or pages.

A component needs "use client" when it:

  • Uses React hooks (useState, useEffect, useContext, etc.)
  • Handles browser events (onClick with state, form submission, etc.)
  • Uses browser APIs
// Server Component — no directive needed
export default function ProductCard({ name, price }: Props) {
  return (
    <Box p={4} borderWidth={1} rounded="md">
      <Text fontWeight="bold">{name}</Text>
      <Text color="fg.muted">{price}</Text>
    </Box>
  )
}

// Client Component — needs the directive
;("use client")
export function AddToCartButton({ productId }: { productId: string }) {
  const [added, setAdded] = useState(false)
  return (
    <Button onClick={() => setAdded(true)} colorPalette="blue">
      {added ? "Added!" : "Add to cart"}
    </Button>
  )
}

The goal is to push interactivity to the leaves — keep as much of the tree as Server Components as possible.


Step 8 — When to extract components, use recipes, and customize the theme

Extract a component when the same structure appears more than twice, or when a piece is complex enough that naming it makes the parent clearer.

Suggest a recipe when a component has meaningful style variants that a developer would want to customize. Suggest a slot recipe for components with multiple coordinated parts (card with header/body/footer, stat with label/value/icon, etc.).

For deeper theming work — defining brand color tokens, semantic tokens with dark mode values, full recipe/slot-recipe authoring, typegen, or ejecting the default theme — read references/theming.md before responding. It covers the complete defineConfig / createSystem API with full examples.

For any chart request — bar charts, area charts, line charts, pie/donut charts, BarList, BarSegment, or anything involving @chakra-ui/charts — read references/charts.md before responding. It covers the useChart hook, all three chart types, Recharts integration, color tokens, and complete runnable examples.

When you're unsure which component to use, or the user hasn't specified one, read references/component-decision-tree.md. It covers every Chakra component with guidance on when to choose one over a similar alternative.


Output format

Produce:

  1. Complete, runnable code — correct imports, no placeholders like TODO or ...rest of component
  2. Proper import statements — group Chakra imports, then local imports
  3. Component separation — split into multiple components/files if the component is complex or contains clearly separable parts
  4. Responsive styles — at minimum base and md breakpoints for layout
  5. Brief explanation after the code — 2–4 sentences on the key decisions made (layout approach, accessibility choices, responsive strategy). Skip the explanation if the request was trivial.
// Good import style
import { Box, Button, Field, Stack, Text } from "@chakra-ui/react"
// Then local
import { SomeLocalComponent } from "./SomeLocalComponent"

When to ask first

Build immediately if the request is clear enough to produce something useful. Ask first when:

  • The data shape is unknown and it changes the entire structure (e.g., "build a table" — how many columns? what data?)
  • There are meaningful design choices the user might care about (layout direction, number of columns, color palette)
  • The user references files or existing components you haven't seen

When in doubt, state your assumptions at the top of the response and build — it's faster for the user to redirect from something concrete than from nothing.

平台分布

Codex

38.59%
按下载量换算220

Claude

27.6%
按下载量换算158

Cursor

20.88%
按下载量换算119

Gemini CLI

10.44%
按下载量换算60

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills