← 返回
内容创作 中文

AIOZ UI Skills

Build UI components and pages using AIOZ UI V3 design system. Use this skill whenever the user wants to create, edit, or style React components using AIOZ UI...
使用AIOZ UI V3设计系统构建React UI组件和页面。适用于使用AIOZ UI创建、编辑或样式化React组件的场景。
datnguyen26730
内容创作 clawhub v1.0.1 1 版本 99897.8 Key: 无需
★ 2
Stars
📥 937
下载
💾 26
安装
1
版本
#latest

概述

AIOZ UI V3 — Figma MCP → Code Mapping Skill

This skill defines exactly how to translate Figma MCP output into production React code using the AIOZ UI V3 design system.

> Rule #1: Never guess token names or class names. Always follow the mapping tables below.


How Figma MCP Returns Data

When the Figma MCP agent inspects a node, it returns values in these formats:

Data TypeFigma MCP ExampleAction
--------------------------------------------------------------------------------------------------------
Color / fillOnsf/Error/Default, Sf/Pri/Pri→ Look up in references/colors.md
TypographyButton/01, Body/02, Subheadline/01→ Look up in references/typography.md
Icon layericon/24px/outline/wallet-01→ Look up in references/icons.md
Component nameButton/Primary, Badge/Success, Fields/Default→ See Component Map below
Variant stringType=Primary, Size=Medium, Shape=Square→ See Variant → Prop Map below
Variable value"Onsf/Bra/Default": "#121212"Slash-path format, never CSS --var
Setup / configProject configuration questions→ Look up in references/setup.md

> ⚠️ Figma MCP always returns token names with slash separators like Onsf/Error/Default.

> It does NOT return CSS custom property format like --onsf-error-default.


⚠️ Two Import Paths — Never Mix Them

// Charts — @aioz-ui/core/components
import {
  LineChart,
  AreaChart,
  BarChart,
  DonutChart,
  CustomLegend,
  Separator,
  useSeriesVisibility,
} from '@aioz-ui/core/components'

// All other UI components — @aioz-ui/core-v3/components
import {
  Button,
  Input,
  Badge,
  Table,
  Header,
  Body,
  Row,
  HeadCell,
  Cell,
} from '@aioz-ui/core-v3/components'

// Icons — @aioz-ui/icon-react (always PascalCase + "Icon" suffix)
import { Search01Icon, Plus01Icon, Wallet01Icon } from '@aioz-ui/icon-react'

Component Map

Input: Figma MCP name field on a symbol/instance node

Output: React component to use

Figma Node Name PatternReact ComponentImport
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Button/*Buttonimport { Button } from '@aioz-ui/core-v3/components'
Fields/*Inputimport { Input } from '@aioz-ui/core-v3/components'
Badge/*Badgeimport { Badge } from '@aioz-ui/core-v3/components'
Tag/*Tagimport { Tag } from '@aioz-ui/core-v3/components'
Card/*Cardimport { Card, CardContent, CardHeader, CardTitle, CardDescription } from '@aioz-ui/core-v3/components'
Toggle/*Switchimport { Switch } from '@aioz-ui/core-v3/components'
Checkbox/*Checkboximport { Checkbox } from '@aioz-ui/core-v3/components'
Tooltips/*Tooltipimport { Tooltip, TooltipProvider, TooltipTrigger, TooltipContent } from '@aioz-ui/core-v3/components'
Tabs/*Tabsimport { Tabs, TabsList, TabsTrigger, TabsContent } from '@aioz-ui/core-v3/components'
Table/*Tableimport { Table, Header, Body, Row, HeadCell, Cell } from '@aioz-ui/core-v3/components'
Separator/*Separatorimport { Separator } from '@aioz-ui/core-v3/components'
Pagination item/*PaginationGroupimport { PaginationGroup } from '@aioz-ui/core-v3/components'
Progress bar/*Progressimport { Progress } from '@aioz-ui/core-v3/components'
Slider/*Sliderimport { Slider } from '@aioz-ui/core-v3/components'
Upload file/*UploadFileimport { UploadFile } from '@aioz-ui/core-v3/components'
Menu item/*MenuItemimport { MenuItem } from '@aioz-ui/core-v3/components'
Dropdown item/*DropdownMenuimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@aioz-ui/core-v3/components'
Modal/*Dialogimport { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter, DialogClose } from '@aioz-ui/core-v3/components'
Block/*Blockimport { Block } from '@aioz-ui/core-v3/components'
IconBadge/*IconBadgeimport { IconBadge } from '@aioz-ui/core-v3/components'
Message/*Messageimport { Message } from '@aioz-ui/core-v3/components'
Breadcrumb/*Breadcrumbimport { Breadcrumb } from '@aioz-ui/core-v3/components'
Date picker/*DatePickerimport { DatePicker } from '@aioz-ui/core-v3/components'

Variant → Prop Map

Figma MCP encodes variants as comma-separated Key=Value pairs in the node name:

"Type=Primary, Size=Medium, Icon Only=False, Shape=Square, Danger=False, State=Hover"
Figma VariantReact PropNotes
----------------------------------------------------------------------
Type=Primaryvariant="primary"
Type=Secondaryvariant="secondary"
Type=Neutralvariant="neutral"
Type=Textvariant="text"
Type=Danger / Danger=Truevariant="danger"
Size=Largesize="lg"
Size=Mediumsize="md"
Size=Smallsize="sm"
Shape=Circleshape="circle"
Shape=Squareshape="square"
Shape=Defaultshape="default"
State=Default_(no prop)_Default render state
State=Hover_(no prop)_CSS handles it
State=Focused_(no prop)_CSS handles it
State=Pressed_(no prop)_CSS handles it
State=Disableddisabled
State=Loadingloading
Icon Only=Truesize="icon"Button only

Full Translation Example

Given this Figma MCP output:

{
  "name": "Type=Primary, Size=Medium, Icon Only=False, Shape=Square, Danger=False, State=Default",
  "fills": [{ "token": "Sf/Pri/Pri" }],
  "textColor": "Onsf/Bra/Default",
  "typography": "Button/01"
}

Translate to:

import { Button } from '@aioz-ui/core-v3/components'
;<Button variant="primary" size="md" shape="square">
  Label
</Button>

> Colors and typography are handled by Button internally. Apply color/typography classes manually only when building custom layouts outside of component primitives.


Core Rules

  1. Token-first — Never use raw Tailwind colors or sizing.

```

❌ text-gray-500 bg-white border-gray-200 text-sm font-medium

✅ text-content-sec bg-sf-screen border-border-neutral text-body-02

```

  1. Component-first — Use design system primitives over custom divs. See Component Map above.
  1. Typography is atomic — Each text-* class already encodes font-size, line-height, weight, and font-family. Never stack additional font utilities on top.
  1. Icons only from @aioz-ui/icon-react — Never SVG literals, emoji, or other libraries.

```tsx

import { Search01Icon } from '@aioz-ui/icon-react'

;

```

  1. On-surface text — Text on a bg-sf- surface must use the matching text-onsf- class:

```

bg-sf-pri → text-onsf-text-pri

bg-sf-error-sec → text-onsf-text-error

bg-sf-neutral → text-onsf-text-neutral

```

  1. Charts — Always import from @aioz-ui/core/components (not -v3). Always wrap in the card shell. Always provide both categories and overwriteCategories. Read references/charts.md before writing any chart code.

Reference Files

Open the relevant file for deep-dive API docs, full token lists, and component examples:

FileOpen When
------------------------------------------------------------------------------------------------------------
references/colors.mdFull token → Tailwind class tables for text, background, and border tokens
references/typography.mdFull text-* class list with font-size, weight, and line-height specs
references/icons.mdIcon name transformation rule, size guide, and common icon import list
references/components.mdFull props, all variants, and ready-to-use code examples for every component
references/charts.mdLineChart, AreaChart, BarChart, DonutChart — APIs, variants, legend, hidden-series

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-03-29 13:33 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

content-creation

AdMapix

fly0pants
广告情报与应用数据分析助手,支持搜索广告素材、分析应用排名、下载量、收入及市场洞察,用于广告素材和竞品分析。
★ 295 📥 136,537
content-creation

YouTube

byungkyu
使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142 📥 41,106
content-creation

Baidu Wenku AIPPT

ide-rea
使用百度文库 AI 智能生成 PPT,自动根据内容选择模板。
★ 66 📥 46,237