Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

chakra-ui-refactor脉轮 UI 重构

Agent Skill

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

总安装

1,406

周安装

58

GitHub Stars

40,439

下载量

459
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

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

简介

审查和改进现有 Chakra UI 代码质量。

  • 提供结构化批评和优化后的代码建议。
  • 支持多种输入格式(HTML/CSS/Tailwind)的统一重构。
  • chakra-ui-refactor 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Chakra UI Refactor & Review

You are reviewing and improving UI code using Chakra UI v3. Depending on what the developer needs, you produce a structured critique, rewritten code, or both. Read the code and project context fully before producing any output.


Step 1 — Orient and determine intent

Before any output, establish:

  • Chakra UI version — check package.json; use v3 by default
  • Framework — Next.js App Router, Pages Router, Vite, plain React
  • Source type — existing Chakra, plain HTML/CSS, Tailwind, CSS Modules, styled-components
  • What the user is asking:

- Review only — "check this", "is this correct/idiomatic", "what's wrong", "review my code" → produce a critique with targeted fixes, no full rewrite - Refactor / convert — "refactor this", "convert from Tailwind", "clean this up" → produce rewritten code - Both — "review and fix" → critique first, then the rewritten code

State your reading at the top of the response (e.g. "Reviewing as existing Chakra v3 code. Assuming Next.js App Router.").

If code isn't shared yet, ask for it. Don't review a description of code.


Step 2 — Analyze the code

Work through the code across these dimensions regardless of output mode. For review, they become findings. For refactor, they become the checklist of what to fix.

Accessibility

  • Do all interactive elements have accessible labels? (aria-label on icon buttons, htmlFor/id on label+input pairs, alt on images)
  • Is keyboard navigation possible? (focus rings not suppressed, interactive elements are actually focusable)
  • Does the heading hierarchy make sense? (no skipped levels, no h1 used as a style shortcut)
  • Are form fields wrapped in Field.Root with Field.Label and Field.ErrorText?
  • Does the component work without color as the only signal?

Responsiveness

  • Do layout components specify behavior at multiple breakpoints?
  • Are there hardcoded pixel values where responsive tokens would work better?
  • Would this break on mobile? (fixed widths, overflow: hidden on small viewports)

Chakra API correctness

  • Are v3 prop names used? (disabled not isDisabled, colorPalette not colorScheme, gap not spacing, open not isOpen)
  • Are compound components used correctly? (Field.Root/Field.Label, Dialog.Root/Dialog.Content, etc.)
  • Is "use client" placed correctly in Next.js App Router?
  • Are there v2 patterns still present? (extendTheme, ColorModeScript, useColorModeValue, sx prop)

Token and style usage

  • Are hardcoded colors used where semantic tokens would work? (bg="#f9fafb"bg="bg.subtle")
  • Are raw hex or palette values used instead of semantic tokens? These won't respect dark mode.
  • Are there inline style={{}} props that should be Chakra style props?

Component structure

  • Is there unnecessary nesting? (Box > Box > Box when one would do)
  • Is manual spacing (mt={4} on every child) used where Stack gap={4} would be cleaner?
  • Are the right layout primitives used? (Flex vs Stack vs Grid vs SimpleGrid)

Maintainability

  • Does the same visual pattern repeat 3+ times? (candidate for a component or recipe)
  • Are there one-off style overrides that suggest a recipe or slot recipe?
  • Are prop types / TypeScript types present and accurate?

Step 3a — Review output

Use this when the user wants a critique, not a rewrite.

Categorize findings by impact:

Critical — bugs and accessibility failures that break behavior or exclude users

  • Missing aria-label on an icon-only button
  • Form field with no label association
  • Interactive Box with onClick but no keyboard access
  • Wrong v3 prop name that silently does nothing (isDisabled doesn't disable in v3)
  • "use client" missing on a component that uses hooks in App Router

Improvements — correctness and quality issues that aren't urgent

  • Hardcoded colors that break dark mode
  • Missing responsive breakpoints
  • Unnecessary nesting or wrong layout primitive
  • v2 patterns that still work but should be updated

Optional suggestions — non-blocking ideas

  • Extract a repeated pattern into a component
  • Replace a one-off style with a recipe variant
  • Add a missing TypeScript type

For each critical issue and significant improvement, show a minimal fix:

**Missing aria-label on close button** (Critical)
The IconButton for closing the dialog has no accessible label.

// Before
<IconButton icon={<CloseIcon />} onClick={onClose} />
// After
<IconButton aria-label="Close dialog" icon={<CloseIcon />} onClick={onClose} />

Skip sections with nothing to report. Calibrate length to the code — a 20-line component needs a tight review, not an exhaustive one.


Step 3b — Refactor / convert output

Use this when the user wants rewritten code.

Conversion strategy by source

From plain HTML / CSS

HTMLChakra equivalent
<div> layout wrapperBox, Flex, Stack, Grid
<section>, <article>Box as="section", Box as="article"
<nav>Box as="nav"
<ul> / <li>Box as="ul" / Box as="li", or Stack
<button>Button or IconButton
<a>Link
<img>Image (preserve alt)
<input>, <select>Input, NativeSelect inside Field.Root
CSSChakra style prop
display: flexFlex or display="flex"
flex-direction: columnStack or flexDir="column"
gap: 16pxgap={4} (1 unit = 4px)
padding: 16px 24pxpy={4} px={6}
border-radius: 8pxrounded="md"
color: #6b7280color="fg.muted"
background: #f9fafbbg="bg.subtle"

From Tailwind CSS

TailwindChakra
flex, flex-col, flex-rowFlex, flexDir
gap-4gap={4}
p-4, px-6, py-2p={4}, px={6}, py={2}
text-sm, font-boldfontSize="sm", fontWeight="bold"
rounded-lg, shadow-mdrounded="lg", shadow="md"
w-full, max-w-lgw="full", maxW="lg"
hidden md:flexdisplay={{base: "none", md: "flex"}}
grid grid-cols-3SimpleGrid columns={3}
text-gray-500, bg-gray-100color="fg.muted", bg="bg.subtle"
hover:bg-gray-100_hover={{bg: "bg.subtle"}}

Replace Tailwind responsive prefixes with Chakra's breakpoint object syntax:

// Tailwind: text-sm md:base lg:text-lg
<Text fontSize={{ base: "sm", md: "md", lg: "lg" }} />

From CSS Modules — convert what you can to Chakra props; keep className for styles that can't be expressed as props (animations, complex selectors):

// Before
<div className={styles.card}>...</div>
// After — converted to props; className kept only for unconvertible styles
<Box p={4} rounded="lg" shadow="sm" className={styles.fadeIn}>...</Box>

Once all class names are eliminated, remove the import entirely.

From styled-components / @emotion/styled — map to Box with equivalent style props, then remove the import and uninstall if no longer used elsewhere:

// Before
const Card = styled.div`padding: 1rem; &:hover { background: #f3f4f6; }`
// After
<Box p={4} _hover={{ bg: "bg.muted" }} />

From existing Chakra UI (cleanup)

  • Flatten Box > Box > Box nesting; replace mt/mb on every child with Stack gap={N}
  • Replace sx with css (v3 rename); update nested &:hover selectors inside it
  • Replace bg="gray.50"bg="bg.subtle" and other semantic token equivalents
  • Update v2 prop names: isDisabled→disabled, colorScheme→colorPalette, spacing→gap
  • Update compound components: FormControl→Field.Root, Modal→Dialog, Select→NativeSelect

Preserve behavior — non-negotiable

  • Keep all event handlers, state variables, and conditional rendering exactly as-is
  • Keep aria-* attributes; add missing ones where clearly needed
  • Keep semantic HTML intent (<nav>Box as="nav", not just Box)
  • Keep "use client" where it exists; add it only when the component genuinely needs it
  • Don't add "use client" just because a component uses Chakra UI
  • A partially-converted component that works is better than a fully-converted one that doesn't

asChild for Next.js Link and Image

import NextLink from "next/link"
<ChakraLink asChild><NextLink href="/about">About</NextLink></ChakraLink>

import NextImage from "next/image"
<ChakraImage asChild><NextImage src="/hero.png" alt="Hero" width={800} height={400} /></ChakraImage>

Refactor output format

1. Refactored code — complete, runnable, with correct imports

2. What changed — concise list focused on non-obvious decisions:

- Replaced <div className="flex gap-4"> with <Flex gap={4}>
- Replaced bg="#f9fafb" with bg="bg.subtle" for dark mode compatibility
- Kept form submit handler and validation logic unchanged
- Added aria-label to close icon button (was missing)

3. Suggestions (optional) — meaningful improvements beyond this refactor: extracting a reusable component, adopting a recipe, migrating a v2 pattern.


When to ask vs proceed

Proceed if the code and intent are clear. Ask when:

  • The code isn't shared yet
  • The component is very large and scope is unclear
  • There's context or state you can't see that would change the review
  • There's ambiguous behavior that could be interpreted multiple ways

State assumptions at the top of the response when you proceed without asking.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

39.09%
按下载量换算179

Claude

28.6%
按下载量换算131

Cursor

18.42%
按下载量换算85

Gemini CLI

8.6%
按下载量换算39

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

来源信息

继续浏览同类 Skills