mcpField
D
design-system

design-system

github.com/nicohodt设计与 UI1044 次安装12 周前更新
代码仓库

关于 design-system

面向设计师与前端开发者的设计系统技能,涵盖 Token 架构、组件规范和幻灯片生成。配套脚本可生成 CSS Token、检查硬编码值,并搜索与校验幻灯片。

主要功能

  1. 01三层设计 Token 架构
  2. 02生成 CSS Token
  3. 03校验代码中的硬编码值
  4. 04搜索并校验幻灯片
  5. 05支持 Tailwind 集成

适用场景

  1. 01建立可复用的设计 Token
  2. 02定义组件状态与变体
  3. 03将设计规范交接给开发
  4. 04生成符合品牌规范的演示文稿

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nicohodt/claude-code-ui-ux-skill --skill design-system

安装后在 Claude Code 中输入/design-system确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

data/
slide-backgrounds.csv
slide-charts.csv
slide-color-logic.csv
slide-copy.csv
slide-layout-logic.csv
slide-layouts.csv
slide-strategies.csv
slide-typography.csv
references/
component-specs.md
component-tokens.md
primitive-tokens.md
semantic-tokens.md
states-and-variants.md
tailwind-integration.md
token-architecture.md
scripts/
embed-tokens.cjs
fetch-background.py
generate-slide.py
generate-tokens.cjs
html-token-validator.py
search-slides.py
slide_search_core.py
slide-token-validator.py
validate-tokens.cjs
scripts/tests/
test_validate_tokens.py
templates/
design-tokens-starter.json

详细介绍

设计系统

Token 架构、组件规范、系统化设计、幻灯片生成。

适用场景

  • 设计 Token 创建
  • 组件状态定义
  • CSS 变量体系
  • 间距/排版刻度
  • 设计到代码的交付
  • Tailwind 主题配置
  • 幻灯片/演示文稿生成

Token 架构

加载:references/token-architecture.md

三层结构
Primitive (raw values)
       ↓
Semantic (purpose aliases)
       ↓
Component (component-specific)

示例:

/* Primitive */
--color-blue-600: #2563EB;

/* Semantic */
--color-primary: var(--color-blue-600);

/* Component */
--button-bg: var(--color-primary);

快速开始

生成 Token:

node scripts/generate-tokens.cjs --config tokens.json -o tokens.css

验证用法:

node scripts/validate-tokens.cjs --dir src/

参考资料

主题文件
Token 架构references/token-architecture.md
基础 Tokenreferences/primitive-tokens.md
语义 Tokenreferences/semantic-tokens.md
组件 Tokenreferences/component-tokens.md
组件规范references/component-specs.md
状态与变体references/states-and-variants.md
Tailwind 集成references/tailwind-integration.md

组件规范模式

属性默认悬停激活禁用
背景primaryprimary-darkprimary-darkermuted
文字whitewhitewhitemuted-fg
边框nonenonenonemuted-border
阴影smmdnonenone

脚本

脚本用途
generate-tokens.cjs从 JSON Token 配置生成 CSS
validate-tokens.cjs检查代码中的硬编码值
search-slides.pyBM25 搜索 + 上下文推荐
slide-token-validator.py校验幻灯片 HTML 的 Token 合规性
fetch-background.py从 Pexels/Unsplash 获取图片

模板

模板用途
design-tokens-starter.json包含三层结构的入门 JSON

集成

**与品牌集成:**从品牌色彩/字体中提取基础 Token **与 ui-styling 集成:**组件 Token → Tailwind 配置

**技能依赖:**brand、ui-styling **主要 Agent:**ui-ux-designer、frontend-developer

幻灯片系统

基于设计 Token、Chart.js 与上下文决策系统的品牌合规演示文稿。

事实来源
文件用途
docs/brand-guidelines.md品牌标识、语调、色彩
assets/design-tokens.jsonToken 定义(基础→语义→组件)
assets/design-tokens.cssCSS 变量(在幻灯片中导入)
assets/css/slide-animations.cssCSS 动画库
幻灯片搜索(BM25)
# Basic search (auto-detect domain)
python scripts/search-slides.py "investor pitch"

# Domain-specific search
python scripts/search-slides.py "problem agitation" -d copy
python scripts/search-slides.py "revenue growth" -d chart

# Contextual search (Premium System)
python scripts/search-slides.py "problem slide" --context --position 2 --total 9
python scripts/search-slides.py "cta" --context --position 9 --prev-emotion frustration
决策系统 CSV
文件用途
data/slide-strategies.csv15 种演示结构 + 情绪弧线 + Sparkline 节拍
data/slide-layouts.csv25 种布局 + 组件变体 + 动画
data/slide-layout-logic.csv目标 → 布局 + break_pattern 标记
data/slide-typography.csv内容类型 → 排版刻度
data/slide-color-logic.csv情绪 → 色彩处理
data/slide-backgrounds.csv幻灯片类型 → 图片类别(Pexels/Unsplash)
data/slide-copy.csv25 种文案公式(PAS、AIDA、FAB)
data/slide-charts.csv25 种图表类型及 Chart.js 配置
上下文决策流程
1. Parse goal/context
        ↓
2. Search slide-strategies.csv → Get strategy + emotion beats
        ↓
3. For each slide:
   a. Query slide-layout-logic.csv → layout + break_pattern
   b. Query slide-typography.csv → type scale
   c. Query slide-color-logic.csv → color treatment
   d. Query slide-backgrounds.csv → image if needed
   e. Apply animation class from slide-animations.css
        ↓
4. Generate HTML with design tokens
        ↓
5. Validate with slide-token-validator.py
模式打破(Duarte Sparkline)

高端演示文稿会在不同情绪之间交替切换,以提升参与度:

"What Is" (frustration) ↔ "What Could Be" (hope)

系统会在 1/3 和 2/3 位置计算模式打破点。

幻灯片要求

所有幻灯片必须:

  1. 导入 assets/design-tokens.css,作为唯一事实来源
  2. 使用 CSS 变量:var(--color-primary)、var(--slide-bg) 等
  3. 使用 Chart.js 绘制图表(不要仅用 CSS 绘制柱状图)
  4. 包含导航(键盘方向键、点击、进度条)
  5. 内容居中对齐
  6. 聚焦说服力与转化
Chart.js 集成
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.umd.min.js"></script>

<canvas id="revenueChart"></canvas>
<script>
new Chart(document.getElementById('revenueChart'), {
    type: 'line',
    data: {
        labels: ['Sep', 'Oct', 'Nov', 'Dec'],
        datasets: [{
            data: [5, 12, 28, 45],
            borderColor: '#FF6B6B',  // Use brand coral
            backgroundColor: 'rgba(255, 107, 107, 0.1)',
            fill: true,
            tension: 0.4
        }]
    }
});
</script>
Token 合规性
/* CORRECT - uses token */
background: var(--slide-bg);
color: var(--color-primary);
font-family: var(--typography-font-heading);

/* WRONG - hardcoded */
background: #0D0D0D;
color: #FF6B6B;
font-family: 'Space Grotesk';
参考实现

包含全部功能的可运行示例:

assets/designs/slides/acme-pitch-251223.html
命令
/slides:create "10-slide investor pitch for Acme Analytics"

最佳实践

  1. 组件中切勿直接使用十六进制颜色值,始终引用设计令牌
  2. 语义层支持主题切换(浅色/深色)
  3. 组件令牌支持按组件进行自定义
  4. 使用 HSL 格式以控制不透明度
  5. 为每个令牌记录其用途
  6. 幻灯片必须导入 design-tokens.css,并且只能使用 var()

评论

支持 Markdown