技能使用指南

atomic-design-atoms(原子设计原子组件)Skill 是什么?如何下载使用?

原子设计原子组件Skill 专注生成按钮、输入框、图标、标签等设计系统最小单元,内置设计令牌、无障碍属性与状态处理,并附最佳实践与反模式清单,可读写项目文件、参与存量组件治理。本文详解安装步骤、使用方法、竞品对比与典型场景,帮你快速搭建规范的组件原子层。

原子设计原子组件Skillatomic-design-atoms
8 个章节 约 20 分钟阅读 AI 智能生成

原子设计原子组件Skill:让按钮、输入框、图标从第一天起就符合设计系统规范

  • 它是什么:一个专注于「原子设计(Atomic Design)中最底层原子」的 AI 技能,技能英文名 atomic-design-atoms,技能中文名「原子设计原子组件Skill」,技能 ID 为 14099。它不产出页面,只产出按钮、输入框、标签、图标、头像、徽章、复选框、排版文字这类最小 UI 单元。
  • 它解决什么:把「随手写一个 button」变成「按设计系统规范产出可复用原子」,从源头避免样式硬编码、无障碍缺失、组件带业务逻辑、每次新项目都重写一遍基础组件的老问题。
  • 它怎么工作:该技能在配置中标记为 user-invocable: false,即它不是让用户手动敲命令调用的工具,而是一种「能力型」技能——当你在对话中提出「帮我做一个按钮原子组件」这类需求时被自动启用,并借助 Bash / Read / Write / Edit / Glob / Grep 等工具直接在你的项目里读写文件。
  • 它的差异化:不止给代码,还给判断标准——明确了原子的五条特征(不可分割、可重用、无状态、有样式、可访问),并附赠「最佳实践」与「反模式」两份清单,能反过来帮你审查现有组件是否「越界」。
  • 适合谁:正在搭建或治理设计系统的前端团队、中后台表单密集型项目、独立开发者、以及想把存量组件重构成规范原子的团队。

该技能叫什么?如何下载安装 AI 技能提升开发效率?

基础信息

项目 内容
技能中文名 原子设计原子组件Skill
技能英文名 atomic-design-atoms
技能 ID 14099
技能定位 设计系统最小构建块的创建与规范
调用方式 非用户直接调用(user-invocable: false),由 AI 在创建原子级 UI 组件时自动启用
可用工具 Bash、Read、Write、Edit、Glob、Grep

它解决的真正问题

大多数前端项目的组件库不是「设计」出来的,而是「长」出来的:第一个项目里手写了一个 button,第二个项目复制了一份改成蓝色,第三个项目又加了个 loading 状态,最后全站有七种不同的按钮圆角。原子组件层的失控,会向上污染分子、组织、模板、页面——越往上改,成本越高。

这个技能把「原子」这个概念落成了可执行的标准:原子必须是不可分割的、可重用的、无状态的、用设计令牌做样式的、从第一天就考虑无障碍的。它提供的不是一句口号,而是一整套可直接落地的 React + TypeScript + CSS Modules 参考实现。

一键安装的思路与步骤

AI 技能的安装通常遵循「找到 → 添加 → 启用 → 验证」四步,具体入口与命令因平台而异,以下为通用流程,具体命令与链接请以官方说明为准:

  1. 确认安装前提:你已经在使用支持 AI 技能(Skill)机制的客户端或开发环境,并且当前项目是一个前端工程(示例以 React + TypeScript 为准)。若团队有统一的设计令牌文件(CSS 变量或主题配置),提前准备好会更高效。
  2. 找到技能:在技能市场、技能库或团队内部的技能目录中,用英文名 atomic-design-atoms 或技能 ID 14099 进行搜索。
  3. 添加并启用:点击添加 / 安装 / 启用,将该技能加入当前会话或当前项目可用的技能列表。由于该技能标记为 user-invocable: false,通常不需要你记忆任何调用口令,它会在合适的任务中被自动加载。
  4. 验证是否生效:新建一个对话,直接提出需求,例如「请用原子设计规范帮我创建 Button 原子组件,支持 primary / secondary / tertiary / danger 四种变体和三种尺寸」。如果输出中出现了 forwardRef、ButtonHTMLAttributes 扩展、CSS 变量形式的颜色令牌、aria-busy 等特征,说明技能已生效。
  5. 确认文件写入权限:如果你希望它直接把文件写进项目(例如 atoms/Button/Button.tsx 与 atoms/Button/Button.module.css),需要确保当前环境允许 Write / Edit 操作;否则它会以代码块形式给出,由你手动落盘。

该技能的主要功能和特点

一、覆盖三类原子的完整清单

  • 交互式原子:按钮、链接、输入框(文本 / 复选框 / 单选 / 选择框)、开关、滑块。
  • 显示原子:排版(标题、段落、标签)、图标、图像与头像、徽章与标签、分隔线、加载指示器。
  • 表单原子:输入字段、文本域、复选框、单选按钮、下拉选择、标签。

二、直接给出可运行的高质量参考实现

技能内置了八类组件的完整示例代码,包括 Button、Input、Label、Icon、Avatar、Badge、Checkbox,以及排版相关的 Text 与 Heading。每一份都是「组件 + 样式」成对出现,不是伪代码。

三、设计令牌驱动的样式体系

所有颜色、圆角、间距都通过 CSS 变量引用(如 var(--color-primary-500)、var(--color-neutral-300)),而不是写死十六进制色值。这意味着换主题、做暗色模式时只需要改令牌,不用逐个组件改样式。

四、无障碍与状态处理从第一天就在位

  • 按钮加载态使用 aria-busy,并用 aria-hidden 隐藏装饰性 spinner;
  • 输入框错误态使用 aria-invalid;
  • 图标支持 label 参数,有标签时 role="img",无标签时 role="presentation" 且 aria-hidden;
  • 所有交互元件都处理了 :focus-visible 焦点环;
  • 头像在图片加载失败时自动降级为首字母,再降级为占位符。

五、明确的工程规范约束

  • 统一使用 React.forwardRef 暴露 DOM 节点,方便父级做聚焦、测量、动画;
  • 接口继承原生 HTML 属性(如 ButtonHTMLAttributes<HTMLButtonElement>),避免「原生属性能用、组件里却传不进去」;
  • 提供合理默认值,例如按钮默认 type="button",防止在表单中被意外触发提交。

六、附赠「最佳实践 + 反模式」双清单,可当评审标准用

技能明确列出了三类反模式:原子管理内部状态、原子内做复杂校验或业务逻辑、硬编码样式。这三条几乎是所有失控组件库的共同病因。它可以直接当作团队 Code Review 的检查表——这是普通代码生成工具不会给你的东西:普通工具只负责「写出来」,它负责「判断这样写对不对」。

七、具备真实的项目文件操作能力

借助 Glob 与 Grep,它可以扫描项目中已有的 atoms/ 目录、查找重复的按钮样式定义;借助 Write 与 Edit,它能把新组件写入文件并对旧组件做重构。这使它能参与「存量治理」,而不只是「从零新建」。

如何使用该技能?

第 1 步:明确你要创建的原子

不要只说「帮我做个按钮」,而是说清三件事:这个原子是什么、它需要哪些变体、它受哪些令牌控制。

输入示例:

请用原子设计规范创建 Button 原子组件。要求:支持 primary、secondary、tertiary、danger 四种变体,sm、md、lg 三种尺寸,支持 isLoading、fullWidth、leftIcon、rightIcon;颜色一律使用项目现有的 CSS 变量令牌,不要硬编码色值;需要支持 ref 转发和原生 button 属性透传。

输出说明:你会得到 atoms/Button/Button.tsx 与 atoms/Button/Button.module.css 两个文件,前者导出 ButtonProps、ButtonVariant、ButtonSize 等类型,后者按「基础样式 / 变体 / 尺寸 / 修饰符」分区组织。

第 2 步:让技能先摸清项目现状(推荐用于存量项目)

请先用 Glob 找出项目里所有 atoms/** 下的组件文件,用 Grep 搜索是否存在硬编码的颜色值(如 # 开头的十六进制),然后告诉我哪些组件违反了「原子不应硬编码样式」的规则。

输出说明:一份清单,列出可疑文件与其违规位置,便于你按优先级逐个重构。

第 3 步:逐个生成其余原子

按同样的方式依次创建 Input、Label、Checkbox、Badge、Avatar、Icon、Text / Heading。建议一次只做一个,便于逐个验收——原子虽小,但全站复用,出错成本极高。

第 4 步:按检查表验收

对照技能给出的标准逐条自查:

  • 是否无状态(value、open、checked 均由父级传入)?
  • 是否不含业务逻辑(不发请求、不做复杂校验)?
  • 是否全部使用设计令牌,没有写死色值?
  • 是否支持 ref 转发与原生属性扩展?
  • 是否有可见的焦点态、错误态、禁用态?

第 5 步:向上组合到分子

原子只是起点。当按钮、输入框、标签都就位后,可以继续使用相关的 atomic-design-molecules 技能,把它们组合成搜索框、表单行、卡片头部等分子。此时你会发现组合成本极低——因为原子的接口已经被约束得很规整。

第 6 步:修正,而不是重写

如果某个原子行为不符合预期,直接描述现象让它用 Edit 局部修改,例如:「Checkbox 的 indeterminate 状态在数据更新后没有同步,请修复」。这比重新生成整个文件更安全。

同类型竞品对比分析

方案名称 定位 核心功能 安装 / 使用门槛 适用场景 优势与不足
atomic-design-atoms Skill(本技能) 原子层组件「生成 + 规范」助手 八类原子的 React + TS + CSS Modules 参考实现、设计令牌驱动、无障碍与状态处理、最佳实践与反模式清单、可读写项目文件 在支持技能机制的环境中添加启用;无需记忆调用口令(user-invocable: false);需具备前端工程基础 搭建自有设计系统、存量组件治理、统一团队组件规范 优势:贴合项目自有令牌与目录结构,产出的是「你自己的组件库」而非第三方依赖,且附带评审标准。不足:示例以 React + TypeScript + CSS Modules 为主,其他技术栈需自行迁移,具体支持范围以官方说明为准
shadcn/ui 可复制粘贴的组件集合 一批预制的、基于 Radix 的无障碍组件源码 通过 CLI 或手动复制,需要配置 Tailwind 与相关依赖 希望拥有组件源码所有权、且使用 Tailwind 的项目 优势:开箱即用、无障碍扎实、源码可控。不足:本质是「拿来再改」,样式体系与令牌强绑定 Tailwind,原子层的规范约束(如无状态、反模式)不构成显式规则
Material UI(MUI) 完整第三方组件库 全套组件 + 主题系统 + 大量现成交互 包管理器安装依赖即可,上手快 追求开发速度、接受 Material 视觉语言的项目 优势:成熟稳定、文档完善、组件齐全。不足:引入较重的外部依赖,深度定制视觉需与主题系统对抗,设计令牌以库的体系为准而非团队自有体系
Ant Design 面向中后台的企业级组件库 完整组件体系 + 设计语言 + 表单方案 包管理器安装,配置主题较简单 中后台管理系统、快速交付的企业内部应用 优势:中后台场景覆盖极全,表单能力强。不足:视觉同质化明显,原子层被封装在库内部,团队难以形成自己的原子规范,升级时受制于库的版本节奏
通用 AI 对话(不启用该技能) 直接让大模型写组件 能生成任意组件的代码片段 零门槛 临时补一个组件、做原型验证 优势:随时可用、无配置成本。不足:产出质量随机,常见问题是写死色值、缺 forwardRef、漏掉无障碍属性、把业务逻辑塞进原子——正是本技能要系统性规避的三类反模式

选择建议:如果你只想尽快有界面,选 MUI 或 Ant Design;如果你想拥有源码并且用 Tailwind,选 shadcn/ui;如果你要建立属于自己团队、可长期演进的原子层,或者要治理一个已经混乱的组件目录,这个技能更对症。

该技能的典型应用场景与实际体验情况

场景一:设计系统工程师从零搭建原子层

角色:负责设计系统的前端工程师。痛点:设计稿里定义了颜色、圆角、字号,但落到代码里每个人理解不同,令牌形同虚设。使用方式:先让技能确认令牌命名约定,再逐个生成八类原子,全部强制走 CSS 变量。实际体验:上手难度低,因为技能给出的接口设计(变体 + 尺寸 + 修饰符的正交组合)本身就是行业通行的做法,不需要重新学习一套心智模型。注意事项:一定要先确定令牌命名,否则生成的组件虽然结构对、变量名却对不上,仍需要一轮替换。

场景二:中后台项目的表单密集型页面

角色:业务前端。痛点:一个中后台系统里可能有几十个表单,每个表单的输入框边框色、错误态红、聚焦环都不一致,用户在不同页面看到的交互反馈不统一。使用方式:用技能先生成 Input、Label、Checkbox、Text 四个表单原子,再向上组合。实际体验:效果最直接——Input 的错误态、禁用态、聚焦态、前缀后缀插槽一次性定义清楚,后续所有表单直接复用,不会再有「这个页面输入框聚焦没蓝边」的问题。注意事项:错误信息的展示文案与国际化属于分子层职责,别让原子越界接管。

场景三:存量项目的组件治理

角色:接手历史项目的前端负责人。痛点:components/ 目录下有 40 多个文件,分不清哪些是原子、哪些是分子,还存在同一功能的多份实现。使用方式:让技能用 Glob 列出全部组件文件,用 Grep 找出硬编码色值与重复样式,输出分类与违规清单,再逐个重构为规范原子。实际体验:这一步是本技能区别于普通代码生成的核心价值——它提供的是「判断标准」,所以能对既有代码给出评价意见,而不只是继续往上堆代码。注意事项:重构建议先做覆盖面最广的 Button 和 Input,收益最高;同时保留旧组件别名过渡,避免一次性改动牵连全站。

场景四:独立开发者快速起一个规范起步的项目

角色:一个人负责全部前端的独立开发者。痛点:没有时间从零设计组件体系,但又不想一开始就背上庞大第三方库的包袱。使用方式:用技能一次性生成八类原子,形成自己的轻量 atoms/ 目录。实际体验:产出体量很小(每个原子一两百行),没有外部依赖,后续想改就改,完全自主可控。注意事项:无障碍属性虽然已经写好,但真实键盘操作仍需自己走一遍 Tab 顺序验证;同时要留意技能输出的样式是用 CSS Modules 组织的,如果你的项目用别的方案,需要做一轮迁移。

该技能能为用户带来的价值

一、把「写组件」变成「定标准」

普通工具帮你更快地写出代码,这个技能帮你写出能长期存在的代码。原子是全站复用的最小单元,一个原子的接口设计失误,会被放大到每一个页面。技能内置的「最佳实践 + 反模式」清单,本质上是一份可执行的组件设计规范,让团队在评审时有据可依,而不是靠个人经验拍板。

二、显著压缩基础组件的重复劳动

八类常见原子、每类都带完整的 TypeScript 类型定义、状态处理和配套样式,等于跳过「查文档、想变体、补焦点态、调间距」这一整套琐碎环节。尤其对于新项目启动阶段,原本需要一两天反复打磨的基础组件层,可以在一次对话里完成初版,然后进入真正的业务开发。

三、降低设计系统落地的门槛

设计系统最难的部分不是画 Figma,而是「设计令牌能不能真的进到代码里」。技能强制使用 CSS 变量而非硬编码色值,等于把令牌化这件事写进了生成规则里。小团队没有专职设计系统工程师,也能靠这个技能获得一份结构合理、可演进的原子层起点。

四、从源头降低无障碍与合规风险

焦点环、aria-busy、aria-invalid、role 与 aria-hidden 的取舍、图片加载失败的降级路径——这些最容易被「先上线再说」牺牲掉的细节,在技能里是默认项而不是可选项。对于需要面对无障碍审计或内部质量红线的产品,这部分收益往往比省下的编码时间更值钱。

五、长期价值:让组件库具备可持续演进的能力

当原子无状态、无业务逻辑、全部走令牌,它就有了三件宝贵的性质:可以安全地被任意业务复用、可以整体换主题而不动业务代码、可以在重构时被批量替换。这意味着你的组件库不会随着业务增长而腐化——而腐化恰恰是大多数自研组件库三五年后推倒重来的根本原因。

常见问题 FAQ

Q1:这个技能怎么安装?我是新手,会不会很复杂?

安装流程本身不复杂,通常是「在技能市场或技能目录中搜索 atomic-design-atoms 或技能 ID 14099 → 添加 → 启用」三步。具体入口位置、是否支持命令行安装、是否需要管理员权限,因所用平台而异,请以官方说明为准。需要注意的是,该技能标记为 user-invocable: false,意味着你不需要记忆任何调用命令——启用后在对话里正常提需求即可,它会在涉及原子级 UI 组件的任务中被自动使用。

Q2:它是收费的吗?

技能详情内容中没有包含任何定价信息,因此无法确认其收费模式。可能是随平台订阅提供、可能是免费开放、也可能存在企业版差异,请以官方说明为准。建议在安装前先确认所在平台对该技能的计费规则。

Q3:既然 user-invocable: false,我还能主动让它干活吗?

可以。这个字段的含义是「它不作为独立命令暴露给用户直接调用」,而不是「你无法使用它」。实际方式是在对话中提出符合它职责范围的需求,例如「按原子设计规范创建 Button 原子组件」「帮我审查 atoms/ 下的组件是否违反无状态原则」,模型在识别到这是创建原子级组件的任务时会启用对应能力。

Q4:我已经在用 Ant Design / MUI 了,还需要它吗?

取决于你的目标。如果你只需要快速出界面、且接受组件库的视觉与令牌体系,直接用现成库更省事。但如果你需要自己团队的原子层——独立于第三方库版本节奏、使用自有设计令牌、可按需裁剪——那这个技能补的正是第三方库覆盖不到的那一段。两者也可以并存:用技能生成自己的基础原子,仅在复杂组件(表格、日期选择器)上依赖成熟库。

Q5:它支持 React 以外的框架吗?

从技能内容看,所有示例实现都基于 React + TypeScript + CSS Modules,未提供 Vue、Svelte、Angular 或原生 Web Components 的示例。这不代表它完全无法协助其他技术栈,但其规范约束(如 forwardRef、ButtonHTMLAttributes 扩展)是 React 语境下的表达。如果你用的是别的框架,建议先小范围试用,确认产出质量是否满足要求,具体支持范围以官方说明为准。

Q6:它生成的组件能直接用在生产环境吗?

结构与规范层面可以直接用,但仍建议做三件事:一是把样式变量替换成你项目真实的令牌名;二是走一遍真实键盘操作,验证 Tab 顺序与焦点可见性;三是根据项目约定补齐测试和文档。技能给的是高质量的起点和判断标准,最终验收责任仍在团队。