🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx @anthropic-ai/skills install supercent-io/skills-template/frontend-design-system
💡 提示:需要 Node.js 和 NPM
前端设计系统
一个用于生产级用户界面设计的技能。通过清晰的设计令牌、布局规则、动效指南和可访问性检查,支持一致、可扩展的前端开发。
何时使用此技能
- 需要生产质量的用户界面:根据提示生成高质量用户界面
- 一致的设计语言:在多个屏幕间保持统一的视觉语言
- 排版/布局/动效指导:系统化的设计系统
操作说明
步骤 1:定义设计令牌
// design-tokens.ts
export const tokens = {
// 颜色
colors: {
primary: {
50: '#EFF6FF',
100: '#DBEAFE',
500: '#3B82F6',
600: '#2563EB',
700: '#1D4ED8',
},
secondary: {
500: '#6366F1',
600: '#4F46E5',
},
accent: '#F59E0B',
success: '#10B981',
warning: '#F59E0B',
error: '#EF4444',
background: {
primary: '#FFFFFF',
secondary: '#F9FAFB',
tertiary: '#F3F4F6',
},
text: {
primary: '#1F2937',
secondary: '#6B7280',
tertiary: '#9CA3AF',
inverse: '#FFFFFF',
},
},
// 排版
typography: {
fontFamily: {
sans: ['Inter', 'system-ui', 'sans-serif'],
mono: ['JetBrains Mono', 'monospace'],
},
fontSize: {
xs: '0.75rem', // 12px
sm: '0.875rem', // 14px
base: '1rem', // 16px
lg: '1.125rem', // 18px
xl: '1.25rem', // 20px
'2xl': '1.5rem', // 24px
'3xl': '1.875rem', // 30px
'4xl': '2.25rem', // 36px
},
fontWeight: {
normal: 400,
medium: 500,
semibold: 600,
bold: 700,
},
lineHeight: {
tight: 1.25,
normal: 1.5,
relaxed: 1.75,
},
},
// 间距(8px 基础单位)
spacing: {
0: '0',
1: '0.25rem', // 4px
2: '0.5rem', // 8px
3: '0.75rem', // 12px
4: '1rem', // 16px
5: '1.25rem', // 20px
6: '1.5rem', // 24px
8: '2rem', // 32px
10: '2.5rem', // 40px
12: '3rem', // 48px
16: '4rem', // 64px
},
// 边框圆角
borderRadius: {
none: '0',
sm: '0.25rem', // 4px
md: '0.375rem', // 6px
lg: '0.5rem', // 8px
xl: '0.75rem', // 12px
'2xl': '1rem', // 16px
full: '9999px',
},
// 阴影
shadows: {
sm: '0 1px 2px 0 rgb(0 0 0 / 0.05)',
md: '0 4px 6px -1px rgb(0 0 0 / 0.1)',
lg: '0 10px 15px -3px rgb(0 0 0 / 0.1)',
xl: '0 20px 25px -5px rgb(0 0 0 / 0.1)',
},
// 断点
breakpoints: {
sm: '640px',
md: '768px',
lg: '1024px',
xl: '1280px',
'2xl': '1536px',
},
};
步骤 2:定义布局 + 用户体验目标
页面规格:
类型: "着陆页" | "仪表盘" | "表单" | "博客" | "电商"
层次结构:
主要操作: [主要行动号召按钮]
次要操作: [次要操作]
信息架构:
- 区块: 英雄区
优先级: 1
- 区块: 功能特点
优先级: 2
- 区块: 社会证明
优先级: 3
- 区块: 行动号召
优先级: 4
响应式:
移动优先: true
断点:
- 移动端: "< 640px"
- 平板: "640px - 1024px"
- 桌面端: "> 1024px"
堆叠行为: "移动端垂直堆叠,桌面端水平排列"
步骤 3:生成用户界面输出
按区块划分的组件结构:
// 英雄区
<section className="hero">
<div className="container">
<div className="hero-content">
<Badge>新品发布</Badge>
<Heading level={1}>
主要标题在此
</Heading>
<Paragraph size="lg">
用1-2句话解释价值主张的辅助文案。
</Paragraph>
<div className="cta-group">
<Button variant="primary" size="lg">
主要行动号召
</Button>
<Button variant="secondary" size="lg">
次要行动号召
</Button>
</div>
</div>
<div className="hero-visual">
<Image src="hero-image.png" alt="产品截图" />
</div>
</div>
</section>
动效/交互说明:
/* 动效指南 */
:root {
/* 持续时间 */
--duration-fast: 150ms;
--duration-normal: 300ms;
--duration-slow: 500ms;
/* 缓动函数 */
--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
--ease-out: cubic-bezier(0, 0, 0.2, 1);
--ease-in: cubic-bezier(0.4, 0, 1, 1);
}
/* 悬停状态 */
.button {
transition: all var(--duration-fast) var(--ease-in-out);
}
.button:hover {
transform: translateY(-1px);
box-shadow: var(--shadow-md);
}
/* 页面过渡 */
.page-enter {
opacity: 0;
transform: translateY(10px);
}
.page-enter-active {
opacity: 1;
transform: translateY(0);
transition: all var(--duration-normal) var(--ease-out);
}
步骤 4:验证可访问性
## 可访问性检查清单
### 颜色对比度
- [ ] 文本/背景:至少 4.5:1(普通文本)
- [ ] 文本/背景:至少 3:1(大号文本)
- [ ] 用户界面组件:至少 3:1
### 键盘导航
- [ ] 所有交互元素都可聚焦
- [ ] 焦点顺序符合逻辑(从左到右,从上到下)
- [ ] 焦点指示器可见
- [ ] 存在跳过链接
### 屏幕阅读器
- [ ] 使用语义化的 HTML
- [ ] 图片有替代文本
- [ ] 表单标签已关联
- [ ] 必要时使用 ARIA 标签
### 文本与可读性
- [ ] 正文字体最小 16px
- [ ] 行高 ≥ 1.5
- [ ] 段落宽度 < 80 字符
- [ ] 图片中不包含文本
步骤 5:移交
## 设计移交包
### 组件分解
| 组件 | 属性 | 变体 |
|-----------|-------|----------|
| 按钮 | 大小、变体、禁用 | 主要、次要、幽灵 |
| 输入框 | 大小、错误、占位符 | 默认、错误、成功 |
| 卡片 | 内边距、阴影 | 凸起、扁平、轮廓 |
### CSS/令牌摘要
- 颜色:[调色板链接]
- 排版:[字体比例链接]
- 间距:8px 基础单位
- 断点:640/768/1024/1280px
### 文件
- Figma:[链接]
- 令牌:design-tokens.ts
- 组件:/src/components/
示例
示例 1:软件即服务着陆页
提示词:
设计一个软件即服务着陆页,使用现代排版、
柔和渐变和微妙的动效。
包含英雄区、功能特点、定价和行动号召。
预期输出:
- 带有视觉指导的区块布局
- 排版比例(H1:48px → 正文:16px)
- 包含渐变定义的调色板
- 动效/交互规格说明
- 带有属性的组件列表
示例 2:管理仪表盘
提示词:
创建一个简洁的管理仪表盘,包含数据卡片、
筛选器和表格。注重清晰度和快速浏览。
预期输出:
- 网格布局(12列)
- 组件分解(卡片、表格、筛选器)
- 视觉层次文档
- 响应式行为说明
示例 3:移动优先表单
提示词:
设计一个为移动端优化的多步骤表单。
包含进度指示器、验证状态和成功确认。
预期输出:
- 分步流程图
- 表单字段规格
- 错误/成功状态设计
- 触摸友好尺寸(最小 44px 点击区域)
最佳实践
- 从内容层次开始:用户界面遵循内容优先级
- 一致的间距尺度:基于 8px 的系统,无临时间距
- 有意图的动效:仅对有意义的过渡进行动画
- 在移动设备上测试:验证布局完整性
- 可访问性优先:在设计阶段就考虑可访问性
常见陷阱
- 过度使用效果和渐变:保持简洁
- 排版比例不一致:使用定义的尺度
- 忽略可访问性:检查颜色对比度和键盘导航
故障排除
问题:用户界面感觉太通用
原因:未定义视觉方向或令牌
解决方案:提供样式参考和调色板
问题:布局在移动端错乱
原因:未定义响应式网格规则
解决方案:定义断点和堆叠行为
问题:组件不一致
原因:未使用设计令牌
解决方案:所有值都从令牌引用
输出格式
## 设计系统报告
### 已应用的令牌
- **颜色**:[主色、辅助色、强调色]
- **排版**:[字体族、比例]
- **间距**:[基础单位、比例]
- **阴影**:[级别]
### 区块布局
| 区块 | 网格 | 组件 |
|---------|------|------------|
| 英雄区 | 2列 | 徽章、标题、行动号召 |
| 功能特点 | 3列 | 卡片、图标 |
| 定价 | 3列 | 定价卡片 |
| 行动号召 | 1列 | 按钮 |
### 组件列表
- [ ] 按钮(主要、次要、幽灵)
- [ ] 卡片(凸起、扁平)
- [ ] 输入框(默认、错误)
- [ ] 徽章
- [ ] 图标
### 可访问性审核
- [x] 对比度通过
- [x] 焦点指示器可见
- [x] 语义化的 HTML
多代理工作流
验证与回顾
- 第一轮(协调者):视觉方向、区块完整性
- 第二轮(分析师):可访问性、层次结构审查
- 第三轮(执行者):移交清单验证
代理角色
| 代理 | 角色 |
|---|---|
| Claude | 令牌定义、组件设计 |
| Gemini | 可访问性分析、参考研究 |
| Codex | CSS/组件代码生成 |
元数据
版本
- 当前版本: 1.0.0
- 最后更新: 2026-01-21
- 兼容平台: Claude, ChatGPT, Gemini, Codex
相关技能
标签
#frontend #design #ui #ux #typography #animation #design-tokens #accessibility
📄 原始文档
完整文档(英文):
https://skills.sh/supercent-io/skills-template/frontend-design-system
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)