🎨 Taste-Skill:终结AI生成"模板垃圾"UI的革命性技能框架
30,000+ Stars | MIT开源 | 让AI Agent生成真正有设计感的前端界面
一、痛点直击:为什么AI生成的UI总是"一眼假"?
如果你曾让ChatGPT、Claude或其他AI Agent帮你生成前端代码,大概率遇到过这样的场景:
- 🤦 千篇一律的紫色渐变Hero区
- 🤦 居中大标题+暗色mesh背景的经典模板
- 🤦 三张等宽Feature Card整齐排列
- 🤦 毫无灵魂的glassmorphism卡片
- 🤦 手写SVG图标丑到不忍直视
这就是所谓的**"AI Slop"(AI模板垃圾)**------LLM在设计上的懒惰Defaults,让生成物带有强烈的"AI味"。
Taste-Skill正是为终结这一痛点而生。
二、核心概念:什么是Taste-Skill?
2.1 项目定位
Taste-Skill 是GitHub用户@Leonxlnx开源的Claude Code Skill模块集合,专注于:
"Anti-Slop Frontend Framework for AI Agents"
为AI Agent提供可移植的技能模块,升级其生成的界面------更强的排版、动效、间距和设计系统纪律。
2.2 项目数据
| 指标 | 数值 |
|---|---|
| GitHub Stars | 30,202 ⭐ |
| Forks | 2,241 |
| 开源协议 | MIT |
| 创建时间 | 2026-02-19 |
| 当前版本 | v2 (experimental) |
| 官网 | tasteskill.dev |
2.3 设计哲学
Taste-Skill的核心哲学可概括为**"三拨盘 + 禁令清单 + 预飞检查"**:
三、三大核心机制详解
3.1 🔘 三拨盘系统(Three Dials)
这是Taste-Skill最具创新性的设计------用三个数值拨盘控制设计输出风格:
| 拨盘 | 范围 | 低值含义 | 高值含义 |
|---|---|---|---|
DESIGN_VARIANCE |
1-10 | 完美对称、网格纪律 | 艺术混乱、实验布局 |
MOTION_INTENSITY |
1-10 | 静态、无动效 | 电影级物理动效 |
VISUAL_DENSITY |
1-10 | 空灵艺术馆风格 | 密集数据仪表盘 |
场景预设对照表:
| 使用场景 | VARIANCE | MOTION | DENSITY |
|---|---|---|---|
| SaaS Landing | 7 | 6 | 4 |
| 创意 Agency | 9 | 8 | 3 |
| 设计师 Portfolio | 8 | 7 | 3 |
| 政府/公共部门 | 3 | 2 | 5 |
yaml
# SKILL.md中的配置示例
DESIGN_VARIANCE: 8 # 艺术感布局
MOTION_INTENSITY: 6 # 流畅物理动效
VISUAL_DENSITY: 4 # 适度信息密度
3.2 🚫 AI Slop禁令清单
Taste-Skill列出了LLM设计陋习的完整禁令,让AI生成物彻底摆脱"模板味":
Section 9.G Em-Dash禁令:
零容忍------标题、正文、按钮、Caption中禁止出现任何em-dash(---),改用hyphen或重构语句。
禁止模式清单:
| 禁止项 | 原因 |
|---|---|
Section编号眉标 (00 / INDEX, 06 · how it works) |
AI味太重 |
Hero区的版本标签 (V0.6, BETA) |
毫无必要 |
| 图片上的装饰性Photo Credit | 假专业 |
装饰文字条 (BRAND. MOTION. SPATIAL.) |
空洞堆砌 |
| 图片叠加的Pills/Labels | 设计偷懒 |
滚动提示 (Scroll, Scroll to explore) |
用户不需要教 |
| Div模拟的假产品UI(假Dashboard/终端) | 缺乏真实感 |
列表行同时使用 border-t + border-b |
视觉噪音 |
| 手写SVG图标 | 使用图标库替代 |
3.3 ✅ Pre-Flight Check(预飞检查)
Section 14定义了50+项强制性检查清单,在输出前逐一核对:
- Typography检查(Inter字体禁用、serif纪律)
- 色彩校验(LILA规则、高级消费者配色禁用)
- 动效合规(Reduced Motion、硬件加速)
- 无障碍(WCAG 2.1 AA、键盘导航)
- 性能指标(Core Web Vitals目标)
- ...
四、技能模块全景
4.1 实现类技能(输出代码)
| Skill文件夹 | 安装名称 | 用途 |
|---|---|---|
taste-skill |
design-taste-frontend |
v2主技能------Brief推断 + 拨盘驱动 + GSAP骨架 |
taste-skill-v1 |
design-taste-frontend-v1 |
v1原版(向后兼容) |
gpt-tasteskill |
gpt-taste |
GPT/Codex严格变体 |
image-to-code-skill |
image-to-code |
图像优先管线:生成参考→分析→实现 |
redesign-skill |
redesign-existing-projects |
审计现有UI后修复布局/间距/层级 |
soft-skill |
high-end-visual-design |
高端柔和UI( premium风格) |
minimalist-skill |
minimalist-ui |
极简编辑器风格(Notion/Linear感) |
brutalist-skill |
industrial-brutalist-ui |
粗野主义UI(Swiss Type、锐利对比) |
output-skill |
full-output-enforcement |
防止输出截断/不完整 |
stitch-skill |
stitch-design-taste |
Google Stitch兼容规则 |
4.2 图像生成类技能(仅输出图像)
| Skill文件夹 | 安装名称 | 用途 |
|---|---|---|
imagegen-frontend-web |
imagegen-frontend-web |
网站 comps(Hero、Landing、多Section) |
imagegen-frontend-mobile |
imagegen-frontend-mobile |
移动端屏幕和流程(iOS/Android) |
brandkit |
brandkit |
品牌板:Logo、配色、Identity |
五、技术栈与设计系统支持
5.1 推荐技术栈
| 层级 | 推荐 |
|---|---|
| 框架 | React / Next.js(Server Components默认) |
| 样式 | Tailwind v4(新项目)/ Tailwind v3(存量) |
| 动效 | Motion (motion/react,原Framer Motion) |
| 字体 | next/font 或 @font-face 自托管 |
| 图标 | Phosphor → HugeIcons → Radix → Tabler(优先级);Lucide不推荐 |
5.2 支持的官方设计系统
Taste-Skill强调**"设计系统诚实"**------有官方包就用官方包,不要伪造:
| 设计系统 | NPM包 |
|---|---|
| Microsoft Fluent | @fluentui/react-components |
| Google Material 3 | @material/web |
| IBM Carbon | @carbon/react |
| Shopify Polaris | polaris.js |
| Atlassian AtlasKit | @atlaskit/* |
| GitHub Primer | @primer/css / @primer/react-brand |
| 英国政府 | govuk-frontend |
| 美国政府 | uswds |
| Radix | @radix-ui/themes |
| shadcn/ui | npx shadcn@latest init |
六、核心SKILL.md架构(v2)
主技能文件约85KB、1207行,结构如下:
| Section | 内容 |
|---|---|
| Section 0 | Brief推断------编码前"读懂房间"(页面类型、氛围词、受众、品牌资产) |
| Section 1 | 三拨盘定义与推断表 |
| Section 2 | Brief → 设计系统映射(何时用官方包 vs 美学驱动) |
| Section 3 | 技术架构(RSC、Tailwind、Motion、字体托管、图标政策) |
| Section 4 | 设计指令(排版、色彩、布局、材质、交互态、数据模式) |
| Section 5 | 上下文感知主动行为(Liquid Glass、GSAP骨架) |
| Section 6 | 性能与无障碍(Core Web Vitals、WCAG、Reduced Motion) |
| Section 7-9 | 拨盘详解与AI特征禁令 |
| Section 10 | 参考词汇表(Hero范式、导航、卡片、滚动动效) |
| Section 11 | 重设计协议(Greenfield vs 重设计检测、审计规则) |
| Section 12 | Block库契约(迭代Block实现的前置元数据) |
| Section 13 | 超出范围声明(Dashboard、数据表格、多步表单、代码编辑器) |
| Section 14 | 预飞检查(50+强制checkbox) |
| Appendix A-C | 各设计系统安装命令、Canonical Sources、Apple Liquid Glass Web近似 |
七、GSAP动效骨架(Canonical Patterns)
Section 5定义了三种GSAP动效模式,避免AI乱写scroll监听:
7.1 StickyStack
卡片在滚动时pin住并堆叠
7.2 HorizontalPan
垂直滚动转换为水平平移
7.3 RevealStagger
轻量替代方案,使用Motion
whileInView
禁令:
- ❌
window.addEventListener('scroll')禁止在React中使用 - ❌ 自定义scroll计算放入React state
- ✅
MOTION_INTENSITY > 3时必须支持Reduced Motion
八、安装与使用
8.1 安装全部技能
bash
npx skills add https://github.com/Leonxlnx/taste-skill
8.2 安装单个技能
bash
npx skills add https://github.com/Leonxlnx/taste-skill --skill "design-taste-frontend"
8.3 锁定v1版本
bash
npx skills add https://github.com/Leonxlnx/taste-skill --skill "design-taste-frontend-v1"
8.4 使用建议
- 新项目:使用v2(experimental),体验Brief推断和设计系统映射
- 存量项目 :使用
redesign-existing-projects技能进行审计和修复 - 图像优先工作流 :先用
imagegen-frontend-web生成参考图,再用image-to-code实现代码
九、版本演进
| 版本 | 状态 | 说明 |
|---|---|---|
| v1 | 稳定 | 保留在 skills/taste-skill-v1/,向后兼容 |
| v2 | experimental | 当前默认,重大改版:Brief推断、设计系统映射、Em-Dash禁令、GSAP骨架、重设计协议、预飞检查 |
| v2.0.0 | 即将 | Stable版本,Breaking Changes将批量发布 |
十、相关研究
项目包含 research/laziness/ 目录,研究LLM懒惰的根因与修复策略:
- Root Causes:为何LLM倾向于生成模板化UI
- Remediation:如何通过技能约束改变行为
- Findings:实证发现与数据
十一、总结
Taste-Skill 不是一个简单的代码模板库,而是一套AI Agent设计纪律系统:
| 维度 | 传统AI生成 | Taste-Skill加持后 |
|---|---|---|
| 设计决策 | 模板Defaults | 三拨盘精确控制 |
| 设计陋习 | 大量AI味特征 | 禁令清单零容忍 |
| 输出质量 | 随机 | 50+预飞检查强制 |
| 设计系统 | 伪造shadcn风格 | 官方包诚实使用 |
| 动效实现 | 乱写scroll监听 | GSAP Canonical骨架 |
如果你厌倦了AI生成的"紫色渐变+居中Hero+三Feature Card",Taste-Skill是值得深入研究和应用的革命性工具。