Community编程与开发github.com

design-arsenal

统一的前端设计工具,将11种能力整合为一个技能:设计系统提取、艺术指导、界面精修、动画、过渡效果、React组件、浏览器自动化,以及四个原创模块(RTL阿拉伯语、无障碍、设计令牌、Web性能)。一次安装,一个入口,一个工作流。

design-arsenal 是什么?

Design Arsenal 是一个集成了 11 种前端设计能力的单一 AI Agent 技能,旨在为开发者提供从设计提取到性能优化的一站式解决方案。它借鉴了 designlang、taste-skill、impeccable、GSAP、transitions.dev、react-bits 和 playwright-cli 等七个行业领先的开源工具,并添加了四个原创模块:rtl-arabic(处理阿拉伯语和 RTL 界面)、a11y(遵循 WCAG 2.2 AA 标准的无障碍检查)、design-tokens(DTCG 令牌架构与导出)以及 web-vitals(核心 Web 指标性能优化)。安装一次后,所有功能通过一个入口文件管理,避免了多技能安装带来的上下文膨胀和触发冲突。该技能通过模块分发表根据用户任务(如“提取设计”、“构建落地页”、“添加动画”、“审核性能”)自动选择核心模块,并读取相应的内部手册执行,支持 Claude、Cursor、Codex 等主流 Agent 平台。流水线工作流遵循“提取→艺术指导→构建→动效→精修→验证”的顺序,并内置反模式清单,确保输出质量。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/CTO-DRS/design-arsenal/tree/main

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Design Arsenal — الأداة الموحدة لتصميم الواجهات

一个工具。一个入口。十一个模块。 这是一个单一技能——所有操作都通过这个文件进行。七个世界级的上游工具和四个原创模块不再是独立的技能,而是内部的模块,每个模块通过从磁盘读取的 MANUAL.md 进行文档化,当任务需要时调用。

提取  →  艺术指导  →  构建  →  动效  →  精修  →  验证
 extract     taste     code     gsap /     impeccable   playwright-cli
 + design-tokens        react-bits  transitions
rtl-arabic(上下文层——任何阿拉伯语内容)
a11y(在每个阶段把关)         web-vitals(在每个阶段设定预算)

نظام أداة واحدة: تُنصَّب هذه المهارة مرة واحدة كأداة واحدة باسم design-arsenal,وكل ما تفعله يمر عبر هذا الملف。الأدوات السبع السابقة أصبحت وحدات داخلية (مع 4 وحدات أصلية: rtl-arabic وa11y وdesign-tokens وweb-vitals) — لا تُنصَّب منفردة ولا تظهر كأدوات مستقلة، بل تُقرأ أدلة استخدامها (MANUAL.md) من القرص عند الحاجة فقط。


🧭 模块分发——先阅读此表

从任务中识别一个模块,从磁盘读取其 MANUAL.md(路径相对于此文件目录),然后遵循其指示。单个任务不要加载超过两个模块。

#任务信号(用户要求)模块从磁盘读取
1复制网站设计:“从 stripe.com 提取设计”、“该网站使用哪些令牌/颜色/字体”、“将此 URL 转换为 Tailwind 主题”extract (designlang)skills/extract-design/MANUAL.md
2构建前的艺术指导与反模板:“构建一个落地页”、“不显模板化的设计”、“选择调色板/排版方向”taste (taste-skill v2)skills/taste/MANUAL.md
3精修、审查或强化现有 UI:“精修”、“审核”、“批评”、“更大胆”、“更安静”、“排版”、“上色”、“强化”、“提炼”polish (impeccable, 24 条命令)skills/impeccable/MANUAL.md
4高级程序化动画:“GSAP”、“滚动动画”、“时间线”、“ScrollTrigger”、“交错”、“固定”motion/gsap (8 个模块)skills/gsap/gsap-<module>/MANUAL.md
5现成的动画 React 组件:“动画英雄”、“文本效果”、“动画背景”、“强光悬停”、“分屏”components (react-bits, 218 个)skills/react-bits/CATALOG.md
6CSS 微交互与 UI 动效:“模态过渡”、“提示框”、“通知徽章”、“骨架加载器”、“成功勾选”、“AI 思考状态”motion/transitions (43+ 代码片段)skills/transitions/transitions-dev/MANUAL.md
7验证或自动化:“在浏览器中测试”、“截图”、“检查流程是否正常”、“录制视频”、“点击流程”verify (playwright-cli)skills/playwright-cli/MANUAL.md
8阿拉伯语/RTL 界面:“Arabic UI”、“RTL”、“عربي”、“right-to-left”、“bidi”,包含阿拉伯语的任何内容rtl-arabic (原创)skills/rtl-arabic/MANUAL.md
9无障碍:“a11y”、“accessible”、“WCAG”、“contrast”、“aria”、“screen reader”、“keyboard”a11y (原创)skills/a11y/MANUAL.md
10设计令牌:“design tokens”、“DTCG”、“theme tokens”、“CSS variables theme”、“将调色板转换为 Tailwind”、“令牌架构”tokens (原创)skills/design-tokens/MANUAL.md
11性能:“页面慢”、“Lighthouse”、“核心 Web 指标”、“LCP”、“INP”、“CLS”、“性能预算”、“渲染阻塞”、“أداء”、“بطيء”、“سرعة”web-vitals (原创)skills/web-vitals/MANUAL.md

重叠 → 规则优先级:

  • 构建新内容 → 先 taste(方向),然后在实现时使用 react-bits 或 gsap。
  • 重新设计现有内容 → 先 polish 审核/批评,如果需要新方向则再使用 taste。
  • 纯微交互(单个元素,打开/关闭状态)→ transitions(CSS,廉价)。完整场景编排、滚动或物理效果 → gsap。
  • 机器可读的令牌(JSON/DTCG 文件)→ tokens。来自活动网站的文本设计简报 → extract。截图 → 令牌 → 直接 tokens。
  • 任何阿拉伯语内容 → 无论哪个模块主导,在编写样式之前先读取 rtl-arabic。
  • 动效 + 无障碍问题 → a11y 的减少动效规则始终优先于动效丰富性。
  • 动效 + 性能问题 → web-vitals 主线程预算优先;动画仅通过 transform/opacity 进行。
  • “页面慢” → 先 web-vitals 静态 lint(结构性原因),然后进行测量(其手册第 8 节)— 永远不要猜测指标。
  • 在任意 UI 更改后 → 提供使用 verify 进行验证的选项(截图结果)。

🌳 决策树——通过四个问题路由

按顺序询问,并在第一个匹配处停止:

  1. 内容是否包含阿拉伯语(或其他 RTL 脚本)? → 添加 rtl-arabic 作为上下文层,然后继续下方。
  2. 输入是要消费的现有设计吗? URL → extract; 截图/线框图 → tokens; 调色板文件 → tokens。
  3. 任务是创建新内容,还是更改现有内容? 新内容 → taste → 构建(根据需要从 react-bits/gsap/transitions 中获取)。现有内容 → 先 polish 审核(/impeccable audit),然后仅在需要新方向时才使用 taste。
  4. 任务以什么结束? 发布 UI → 运行 a11y 关卡 + web-vitals 静态检查 + verify 截图。生成主题/令牌文件 → tokens 导出 + 颜色对的无障碍审核。

每个任务最多读取两个 MANUAL.md 文件;四个原创模块可以与一个上游模块堆叠(例如 rtl-arabic + taste)。


🚫 反模式注册表——切勿发布这些

跨模块禁令收集自手册。如果您的输出包含一个,则任务未完成:

  • 一个 <div onClick> 替代按钮(a11y §3)——键盘无法操作,屏幕阅读器不可见。
  • 颜色上的灰色文本,或任何低于 4.5:1 的前景/背景对(a11y §2, impeccable 禁令)——运行对比度脚本,而不是猜测。
  • 没有替代焦点环的 outline: none(a11y §5)。
  • 没有 prefers-reduced-motion 保护的动画(a11y §7, transitions 规则)——更严格的规则获胜。
  • 对阿拉伯语文本应用 letter-spacing(rtl-arabic §3)——它会破坏连笔书写。
  • RTL 页面中使用物理 left/right CSS 属性(rtl-arabic §1)——使用逻辑属性。
  • 当存在令牌文件时,在组件中硬编码 hex/px 值(tokens §7)——只有令牌文件携带原始值。
  • GSAP 用于单元素悬停(使用 transitions),或 CSS transitions 用于滚动编排场景(使用 gsap)。
  • react-bits 组件名称不在 catalog.json 中——切勿发明一个。
  • 卡片嵌套、UI 上的弹跳缓动以及其他 impeccable 反模式——/impeccable audit 能发现它们。
  • 对首屏/LCP 图像使用 loading="lazy"(web-vitals §2)——浏览器仅在布局后才发现请求。
  • 没有显式 width/height 的 <img> 或 <iframe>(web-vitals §3)——保证布局偏移。
  • 在 <head> 中使用经典 <script src> 而不带 defer/async,或任何 document.write(web-vitals §7)。
  • 不带 font-display 的 @font-face,或没有预先连接到 fonts.gstatic.com 的 Google-Fonts 样式表(web-vitals §6)。

📦 内部组件

design-arsenal/                  ← 一个技能,安装一次
├── SKILL.md                     ← 单一入口点(本文件)
├── index.json                   ← 机器可读的模块索引
├── install.sh                   ← 一键安装程序(所有平台)
├── ATTRIBUTION.md               ← 来源与许可证
├── README.md                    ← الدليل الكامل بالعربية
├── demo/index.html              ← 动效栈的使用演示
├── examples/gsap/               ← GSAP 入门示例(react/vue/nuxt/vanilla)
└── skills/                      ← 内部模块(仅参考手册)
    ├── extract-design/          ← designlang:URL → 完整设计系统(17+ 个文件)
    ├── taste/                   ← taste-skill v2:13 条反模板规则 + 库 + 检查器
    ├── impeccable/              ← impeccable:24 条命令 + 60+ 检测器规则 + 脚本
    ├── gsap/                    ← 8 个 GSAP 模块:core/timeline/scrolltrigger/react/plugins/…
    ├── react-bits/              ← 218 个动画 React 组件(TS-CSS + TS-Tailwind)+ 目录
    ├── transitions/             ← transitions.dev:18 个过渡参考 + 令牌
    ├── playwright-cli/          ← 浏览器自动化模块 + 10 个参考
    ├── rtl-arabic/              ← 原创:阿拉伯语/RTL 界面(逻辑属性、排版、10 点审核)
    ├── a11y/                    ← 原创:WCAG 2.2 AA 关卡 + 零依赖对比度脚本
    ├── design-tokens/           ← 原创:DTCG 架构 + 多目标转换器
    └── web-vitals/              ← 原创:核心 Web 指标操作手册 + 静态 HTML 检查器

每个模块目录包含一个 MANUAL.md(以前是其自己的 SKILL.md)。由于仅存在此根 SKILL.md,您的 Agent 注册并加载恰好一个工具——没有技能膨胀,没有重复触发器,没有来自安装七个技能的上下文膨胀。


🚀 快速启动

从零到落地页(完整流水线):

  1. (可选探查)对 1-2 个竞争对手 URL 运行 extract → 令牌 + 模式。
  2. taste → 阅读简报,推断方向(类型/调色板/布局系列),执行禁令。
  3. 构建。从 transitions 获取动效,从 react-bits 获取现成组件,从 gsap 获取场景工作。
  4. polish → 在发布前运行 /impeccable polish + /impeccable audit。
  5. verify → 截图桌面和移动端宽度,确认没有破坏任何东西。

仅修复难看的 UI? → 仅使用 polish(开始:/impeccable audit <target>)。 仅添加动画? → 微交互使用 transitions,场景使用 gsap,切勿在同一个元素上同时使用两者。 页面慢 / 指标失败? → web-vitals:检查标记,应用 LCP/CLS/INP 操作手册,然后进行测量(第 8 节)。


⚙️ 一次性环境说明

  • extract 需要 Node 20+ 和 Playwright(npx designlang <url> 在首次运行时处理安装)。
  • polish 脚本是 skills/impeccable/scripts/ 中的自包含二进制文件;在没有 sh 的 Windows 上使用 impeccable.cmd。
  • taste 脚本是零依赖 Node 脚本(node skills/taste/scripts/lint.mjs src/)。
  • web-vitals 检查器是零依赖 Node 18+(node skills/web-vitals/scripts/webvitals.mjs page.html)。
  • verify 需要 npm install -g @playwright/cli + playwright-cli install-browser chromium。
  • components 本地源是普通文件——从 ts-tailwind/(Tailwind 项目)或 ts-default/(CSS 项目)复制,或使用实时注册表:在 components.json 中使用 {"registries":{"@react-bits":"https://reactbits.dev/r/{name}.json"}}。
  • GSAP 示例位于 examples/gsap/{vanilla,react,vue,nuxt}。

🧠 Agent 规则

  1. 一个工具,一个入口。 所有请求都通过此文件路由。如果任务匹配流水线,则按流水线顺序逐个模块工作——不要将模块视为已安装的独立技能;它们属于此工具的内部。
  2. 从磁盘读取。 模块路径相对于此文件目录。在操作前完整阅读模块的 MANUAL.md。
  3. 匹配,不要混合。 一个任务 → 一个主要模块。仅按上述流水线顺序堆叠模块。
  4. 尊重每个模块的禁令。 taste 禁止模板化外观;impeccable 禁止颜色上的灰色文本、嵌套卡片、弹跳缓动;transitions 和 a11y 要求 prefers-reduced-motion 保护;rtl-arabic 禁止对阿拉伯语文本使用字母间距,以及 RTL 页面中的物理 left/right 属性;web-vitals 禁止延迟加载首屏图像、无尺寸的媒体和渲染阻塞头部脚本。当规则冲突时,更严格的规则获胜——而 a11y 安全规则优先于所有审美偏好。
  5. 切勿发明组件名称。 对于 react-bits,仅使用 skills/react-bits/catalog.json 中存在的名称;否则在 taste 规则下从头开始构建。
  6. 测量,不要靠目测。 对比度声明来自 node skills/a11y/scripts/contrast.mjs;令牌导出来自 node skills/design-tokens/scripts/convert.mjs;结构性性能声明来自 node skills/web-vitals/scripts/webvitals.mjs。如果脚本与您的目测结果不符,以脚本为准。
  7. 阿拉伯语内容通过 rtl-arabic 路由。 一旦任务包含阿拉伯语或 RTL 内容,在编写任何 CSS 之前读取 skills/rtl-arabic/MANUAL.md——即使另一个模块主导。
  8. 归属。 七个上游模块来自独立的开源项目——保留其许可证(见 ATTRIBUTION.md)。四个原创模块(rtl-arabic、a11y、design-tokens、web-vitals)属于此捆绑包的一部分。

相关技能