二一
@TwoOne · 2026年08月23日 16:42 · 15 浏览

深度研究|taste-skill:用一份纪律给 AI 编程 Agent 补上审美

一、它是什么

taste-skill 是一个 "Anti-Slop Frontend Framework for AI Agents",定位是给 Claude Code / Cursor / Codex / Gemini CLI / v0 / Lovable 等编程 Agent 补上前端审美。它不是设计系统(不给组件)、不是组件库不是模型微调,而是一份 87KB 的纯文本军令,靠 62 项机械自检和一批零容忍禁令,把大模型从统计平均的泥潭里硬拽出来。

实测元数据(2026-08-24):

Stars79,595
Forks5,448
Open Issues56
许可MIT
建仓2026-02-19(距今约 6 个月)
作者Leon Lin(慕尼黑,X @lexnlin,GitHub 账号 2025-07-03 才注册,1,741 粉丝)
官网tasteskill.dev(Vercel,无付费墙)
仓库不是一个 skill,而是一个家族:共 13 个 SKILL.md。旗舰 skills/taste-skill/SKILL.md 1,206 行 / 87,253 字节 / 约 21,813 tokens,占全家族约 42%。其余为图像三件套(合计 113KB)与若干轻量风格皮肤。

二、病理:AI 前端为何千篇一律

把各编程 Agent 生成的落地页排开看,会浮现一组高度稳定的指纹。这不是主观感受,是可枚举、可正则匹配的模式集合。

编号维度指纹可机检的判据
01字体Inter 当展示字体,72/90/120px 配 line-height 1.0font-size > 64px 且 font-family: Inter
02颜色靛蓝到蓝的 135° 对角渐变linear-gradient 内命中特定 hex 对
03版式英雄区之后必是三张等高卡片,图标一律左上角grid-cols-3 且三张近似组件连排
04文案Beautiful experiences / Build something amazing渲染文本正则扫描
05动效全员 fadeInUp 0.3s ease-out,无错帧无层级兄弟节点重复同一 keyframes
根因分四层:L1 训练数据偏置(互联网 SaaS 模板占多数,众数即默认);L2 RLHF 与算力(对齐奖励"稳妥不出错",稳妥等于平庸);L3 认知捷径(选项列表永远取第一项,形成坍缩);L4 输出上限(长输出被截断,模型学会留占位符)。

诊断准在 L1 与 L3:大模型不是没有审美,而是有审美但取分布的众数。众数在训练集里就是 2021 年的 Tailwind 默认 SaaS 页。想改结果,得在生成前把众数从候选池剔除,这正是 taste-skill 的下手位置。

三、主刀:87KB 主文件的手术台解剖

旗舰文件十五章加三个附录。关键结构如下。

标题职能v2 新增
§0Brief Inference动手前先读场:行业、受众、情绪、动效、版式
§2Design System Map何时用 Material/Fluent/Carbon/Polaris/Primer/GOV.UK/USWDS
§3Stack & Motion技术栈与动效实现(React/Next/Motion/GSAP)
§4Visual Language调色板、版式、材质、交互态,含大量具名封禁
§7Dial Definitions三旋钮技术释义
§8Dark Mode Protocol默认双模,明暗两态对比度与层级对等
§9AI Tells负面指纹总清单,含 §9.G 破折号禁令强化
§11Redesign Protocol存量项目先审计后改,保全清单与现代化杠杆
§12Block Library Schema区块库增补契约
§13Out of Scope主动声明六类不适用场景
§14Final Pre-Flight62 项机械自检,逐条必须诚实通过
三旋钮:把形容词换成刻度。 这是全文最广为流传的设计,也是区别于同类的记忆点。原文前置:

DESIGN_VARIANCE: 8   · 1 = Perfect Symmetry, 10 = Artsy Chaos
MOTION_INTENSITY: 6  · 1 = Static, 10 = Cinematic / Physics
VISUAL_DENSITY: 4    · 1 = Art Gallery / Airy, 10 = Cockpit / Packed Data

基线 8 / 6 / 4。关键不在旋钮存在,而在全篇规则都受旋钮门控,是真接线的。例如 DESIGN_VARIANCE > 4 时居中英雄区被禁;VISUAL_DENSITY > 7 时通用卡片容器被禁;MOTION_INTENSITY > 3 时必须响应 prefers-reduced-motion(原文标注 non-negotiable);MOTION_INTENSITY > 4 时页面必须真动起来,原文有句双向约束 "Motion claimed, motion shown":声称 7 却交静态页判为 broken,反之做不出动效就把旋钮降到 3 交干净静态页,绝不许半成品。

零容忍禁令:二值化的工程哲学。 §9.G 是全篇最值得研究的一节,因为它坦白交代了为什么要这么写。译文:

> Em-dash 完全禁用。它是大模型的招牌文体拐杖,是生产测试中第一位的视觉破绽。不存在"有限使用"许可,不存在"自然语言频率"许可,不存在"正文里没问题"许可。一个都没有。 > > 这条规则不可谈判。历史上,当这条限制被写成"酌情少用"时,Agent 会忽略它。此处的措辞是二值的:零个 em-dash。

这段话的分量远超一个标点。它揭示提示词工程的一条硬规律:程度副词在长上下文里会被稀释,二值判据不会。"少用"需要模型自行标定阈值,模型在压力下把阈值调到最省力处;"零个"可逐字符核验,无处可躲。禁令覆盖标题、眉标、药丸标签、正文、引语、署名、图注、按钮、alt 文本,连当分隔符的 en-dash 也一并封禁。

同类的二值锁还有若干处:Page Theme Lock(整页一个主题,各区块不许反色)、Shape Consistency Lock(整页一套圆角刻度)、Marquee Max-One(跑马灯每页最多一次)、No Fake Preview(英雄区禁用 div 堆假界面)、Scroll Listener Ban(禁用 window.addEventListener('scroll'),硬禁非建议)。

§14 预检:把品味降维成 checkbox。 62 项机械自检,交付前逐条勾。意义不在清单内容,而在它把"页面有没有品味"这个不可判定问题,换成 62 个可判定的小问题。破折号数量等于零、主题锁是否成立、圆角是否统一、版式是否重复、动效是否兑现,每项都能在不理解审美的前提下机械核对。

整份文件的结构比内容值钱:设计主张多为业内常识,真正的创造是那套"如何让不理解审美的系统执行审美纪律"的工程语法。这套语法与前端无关,可整体移植。

四、谱系:十三技的分工与体量

skill字节族群定位
taste-skill87,253核心主线通用设计纪律(v2 实验性重写)
imagegen-frontend-mobile40,326图像移动端参考图生成
imagegen-frontend-web36,854图像网页参考图生成
image-to-code-skill36,442图像先出参考图,分析后据图写码
taste-skill-v121,195核心原版,保留给依赖旧行为的项目
brandkit15,992图像品牌视觉板生成
redesign-skill15,060工序存量项目审计式改版
stitch-skill11,851工序翻译成 Google Stitch 的 DESIGN.md
soft-skill10,561流派Awwwards 级高端代理商风
brutalist-skill8,456流派瑞士印刷 + 军事终端
minimalist-skill7,901流派暖色编辑部风
gpt-tasteskill7,857核心针对 GPT/Codex 收紧,独有 Python 伪随机
output-skill2,592工序禁占位符,token 触顶时打 [PAUSED ... continue]
体量分布说明问题:旗舰一家独大,图像三件套合计 113KB,三个风格流派加起来才 27KB。所谓十三个 skill,实质是一个巨型旗舰、一套图像流水线,加若干轻量风格皮肤。output-skill 仅 2.6KB 却极实用,与审美无关也能用。

一处旁证:taste-skill-v1 留着德语词 Menüs,soft-skill 里双边框术语写作 "Double-Bezel (Doppelrand / Nested Architecture)"。残留与作者慕尼黑定位相互印证,说明文件是人手写的、迭代中未统一清洗,而非机器批量生成。对判断"是不是刷出来的空壳"是正面信号。

五、术法:七条可迁移的提示词工程法

以下七法与前端无关,是通用的"压制模型默认习性"的手艺,可整体搬进写作、研报、代码规范。

1. 二值化取代程度化:把"少用 X"改写成"X 数量为零"。抽象禁令会被模型解释成对自己有利的样子;具名禁令不能。 2. 具名封禁,禁到 hex 与字符:不写"避免俗套配色",而是列出被封禁的具体 hex 家族、字体名、文案句式、标点。代价是清单要长期维护。 3. 参数化旋钮门控规则:给三个 1-10 的刻度,让全篇规则受刻度门控。关键是旋钮必须真接线,不能当装饰。附带好处:用户表达需求从模糊形容词变成可对话的数字。 4. 机械式预检,把不可判定换成可判定:"有没有品味"不可判定,"破折号是否为零、圆角是否统一、主题是否一致"可判定。这个手法可直接搬到代码评审、文档质检、合规检查。 5. 伪随机破首项坍缩:gpt-taste 独有,写码前在 design_plan 块模拟执行一段 Python,以 prompt 字符数取模作种子,用 random.choice 从版式候选抽签。原文直言大模型天生偷懒、永远挑第一个选项。用一段假装执行的代码制造"外部裁决",是极妙的一招。 6. 跨模态绕行审美坍缩:image-to-code 的链路是先生成设计参考图,再深度分析,最后据图写码。绕开"文字直出代码"这条被训练数据严重污染的通路。换一个模态就换了一套先验分布。 7. 显式划界,主动认输:§13 明白写出六类不适用场景,并要求 Agent 遇到这类 brief 时"明确说出来,指向正确的工具"。一份规范敢于声明自己的失效边界,可信度反而更高。

七法之中,一、四、七三条含金量最高且完全与领域无关:禁令写成二值、把主观判据拆成可勾选清单、明确声明自己不适用的场景。

六、生态:八万星背后的江湖

增长曲线:建仓 2026-02-19,以第三方报道时点星数作路标,是一条相当陡的曲线。2026-05-28 约 25,202(ux-skill 团队横评),2026-05-30 约 28,500(dev.to 自述单日增两千余),约 2026-08 上 69,000+(ChooseAI),2026-08-24 实测 79,595。三个月内翻约 3.2 倍。fork 与 star 之比约 6.8%,对纯 markdown 仓库合理,但也意味着 star 里有相当比例是"收藏待看"而非"已在用"。

赛道全谱:中文报道多称其为该赛道第一,实测并非如此。2026-08-24 实时对标:

仓库Stars建仓方法论能否 CI 拦截
nextlevelbuilder/ui-ux-pro-max-skill120,1382025-11-30目录驱动 · Python 推荐器(50 风格/161 调色板/57 字体配对)
Leonxlnx/taste-skill79,5952026-02-19变体提示词 · 13 个 SKILL.md · 三旋钮
Nutlope/hallmark26,7102026-04-27精选提示词包 · 多 IDE(Hassan El Mghari)
Leonxlnx/unlazy1,3962026-08-09反偷懒 skill,核心 Depth Tree 方法
hardikpandya/stop-slop16,2492026-01-11文字去 AI 味(非前端,同源思路)
Laith0003/ux-skill632026-05-24推荐器 + 145 条 Python 正则 linter,违例 exit 1
另有 senlindesign/taste-skill(约 198 星,反推现有网站的 design token)、cory-hess/agave(约 13 星)、被中文报道提到的 Impeccable(41 条自动化检测)。社区里还长出 "Sharp Skills" 扩展,把 taste-skill 的减法哲学挪用到技术写作、数据可视化、API 设计等非前端领域。

商业化:官网 tasteskill.dev(Vercel)有 changelog、docs、skill 索引,全站未见 pricing/订阅/waitlist/购买按钮。变现走赞助商墙:金牌 Novamira;铜牌 interfaces.dev、React Bits、animations.dev(Emil Kowalski)、IMG.LY、Sent.dm、Kimi(月之暗面开源伙伴计划)。README 专门声明"没有官方 token、币或加密项目",说明真有人拿这个名头发过币,是热度的侧面证据,也是健康的防御性声明。

作者版图:Leon Lin,慕尼黑,自述 "I build cool stuff",39 个公开仓库。其他产出显示他在同一条路上持续下注:agentic-ai-prompt-research(2,514 星,逆向重建各家 Agent 提示词模式,是 taste-skill 的研究底座)、unlazy(1,396 星,反偷懒 skill,核心 Depth Tree 方法,等于把 research/laziness 独立成产品)、lumenshaders(339 星,WebGL2 生成式 shader)、prompt-library(135 星,提示词管理桌面应用)。

这是一个真实运营中的单人项目,且运营水准相当高:官网、changelog、赞助商分级、防伪声明、v1 长期保留、npx 一键安装、多 Agent 兼容矩阵。但它在赛道里是第二名,且唯一具备 CI 拦截能力的对手只有 63 星。说明当前市场买的是"最省事的审美提升",而非"最可靠的质量闸门"。

七、审慎:六项质疑与实证

质疑一 · 学术底座是装饰。 research/laziness/findings/references.md 列五条引用,无一条带作者、链接或 arXiv 编号。逐条核查:EmotionPrompt 论文真实(arXiv:2307.11760),但仓库引述的 "+45% 来自 $200 小费" 实出自 thebes 的 X 实验,"34% 提升到 80% 来自 deep breath" 实为 OPRO 论文(arXiv:2309.03409),张冠李戴;LazyBench 确有(EMNLP 2024,arXiv:2410.11437),但它是多模态视觉问答基准,被过度拟人化;2025 Controlled Laziness(arXiv:2512.20662)存在,但仓库据以推出的"偷懒是对齐产物"原文未提,原文对 200 轮上下文表述是 surprisingly robust,方向相反;Compounding Error Avoidance 查无实据;Winter Break Hypothesis 确有其事,但性质是社区轶事(Rob Lynch 2023-12-11 的 X 观察,Ian Arawjo 复现失败,OpenAI 未确认)。技术数字断言里"Gemini 输出上限 8K"已过时(2.5 系为 65,536)。

裁定:research 目录是学术装饰(academic veneer)。它不影响 SKILL.md 本身的工程价值,因为那些规则的有效性来自作者的生产测试而非论文;但削弱了可信度,引用其"研究结论"须一律回溯原始论文。

质疑二 · Token 常驻成本高。 旗舰文件约 21,813 tokens 全量常驻;十三 skill 合计约 75,585 tokens。上下文压缩场景下,长指令块本身是被优先截断的对象,规则可能在不知情时失效。Issue #67 提议做渐进式披露,拆成约 12KB 核心加 references 按需加载(缩小约七倍),该 issue 开放零评论。

质疑三 · 框架耦合悖论。 Issue #86 指出 §3 技术栈明确绑定 React/Next/Motion/GSAP,而 README 与官网宣称 framework-agnostic,二者矛盾。同 issue 还指出单强调色锁定与语义状态色(成功/警告/错误)冲突。中文实测文补充:安装生态依赖 npx skills(Vercel 的 agent-skills CLI),纯 Python 或移动端要么手动复制 SKILL.md 要么跳过;动效重度依赖 GSAP 与 Motion,轻量项目过重。

质疑四 · 刷星争议确有其事。 Issue #48(phantomstars 机器人自动开)报告疑似虚假 star/fork 活动:抽检 297 个样本,11 个判疑似虚假(3.7%)、52 个标可疑;仓库最终被该机器人分类为 clean,issue 已闭合。另一条侧面数据:作者 1,741 粉丝对应 79,595 星,比例约 1:45.7,对病毒式传播的工具类仓库不罕见,但配合"账号 2025-07 才注册、六个月做出七万九千星"这一组事实,谨慎合理。中文报道已有人承认"刷星争议是真的,项目非常新是真的,一个人维护是真的"。证据不足以判定刷星,但足以判定 star 数不能当质量或采用率证据。

质疑五 · 没有强制力,纯提示词。 这是结构性缺陷。同行原话:"这些变体是品味的口味选择,不是强制执行。同一个 prompt 每次运行产出不同结果,因为规则活在大模型的判断里。不可能做 CI 闸门。无法断言某个指纹已从输出中消失。"(ux-skill 团队横评,但那篇把自家 63 星产品排到第 5 并在结论推荐"只装一个就装 ux-skill v2",属自家评测,偏向须扣,不过其中文独立实测同结论:"选择性忽略规则,技术上无法强制"。)该文最好的一句中立话值得抄:Taste lives in the model. Slop lives in the output. A prompt fights taste. A linter fights slop.(品味活在模型里,垃圾活在输出里。提示词斗品味,linter 斗垃圾。)

质疑六 · 二级传播的反讽。 dev.to 那篇《The Anti-Slop Framework That Gives Your AI 28.5K Worth of Taste》通篇编造:列出六个不存在的 skill 名(layout-skill/typography-skill/motion-skill/moodboard-skill/markdown-opus/dashboard-skill),把三旋钮取值范围写成 0-1(实际 1-10 整数),兼容工具列表与官方不符。一篇关于"反 AI 垃圾内容"的文章,本身是 AI 垃圾内容。中文侧同样有报道把它称赛道第一(实为第二)、星数与 skill 数量写错。引用任何关于此项目的二手数字,请一律回到仓库与 API。

综合裁定:这是一个真诚做事、工程手法出色、但被包装过度、且天生缺一条腿的项目。缺的那条腿叫确定性校验。六项质疑里,质疑二(token 成本)与质疑五(无强制力)真正影响使用决策;质疑一影响可信度不影响功效;质疑三可删减规避;质疑四证据不足但足以让人不再把星数当质量;质疑六是环境噪声。

八、落地:该怎么用

先判该不该装:

场景建议理由
落地页 / 官网 / 作品集 / 营销页正中靶心,单位时间审美收益最高
存量项目改版装 redesign-skill先审计后改、不许推倒重写、保 URL 与埋点,改造协议本身就值
要求输出完整、禁占位符装 output-skill仅 2.6KB,性价比全家族第一,与审美无关也能用
仪表盘 / 数据表 / 多步表单 / 代码编辑器不装§13 明确不适用,硬用会得漂亮但难用的后台
已有严格设计系统的企业项目不装会与既有 token 体系打架,取其术法弃其规则
对一致性要求极高、需锁版本等 v2.0.0 stablev2 明标 experimental,规则措辞随时可变
中文内容为主的页面装但打补丁见下
三种接法,推荐第二种(蒸馏装): ①全量装,零摩擦但约 21.8K tokens 常驻;②蒸馏装,按 issue #67 思路抽约 10-12KB 核心(留 §0 brief 推断、§9 负面清单、§14 预检,砍 §2 设计系统地图、§5 GSAP 骨架、§12 区块库契约),保九成效力、成本降到三成以下;③只取术法,把七法写进自家 CLAUDE.md,约 30 行即可。

中文场景必打补丁(所有报道都提但没人给清单):

空缺症状补丁
禁令失效破折号禁令对中文意义有限换成中文版二值禁令:全角引号统一、禁用英文省略号、禁用波浪号作范围符
排版缺失无避头尾,标点落行首;中英混排无间距补 text-spacing-trim、中英文之间插 0.15em 间隙、行首禁则字符表
字体栈缺失封禁 Inter/Roboto 但未给中文替代显式给出中文字体栈:标题用中文衬线(Songti SC / Source Han Serif SC)与拉丁展示字形成对比,正文用 PingFang SC。中文衬线做大字标题是极有效的去 AI 味手段,因训练集里几乎没有
度量失配拉丁字设定的字号行高,中文同字号视觉更重中文正文 line-height 上调到 1.8 以上,大标题字号相对拉丁下调约 10%
双层防线:与确定性校验叠加。 生成侧用蒸馏后的核心,把众数从候选池剔除;审计侧自建 20-40 条正则 linter 跑在 CI 的 PR 检查里,命中即 exit 1。不必用 ux-skill(63 星 alpha 阶段,引入风险高于自建),把 §9 负面清单里能正则化的条目手工翻成规则即可。§14 那 62 项预检,本身就是一份现成的 linter 需求文档。门槛设置:高危项(破折号、Inter 大字号、靛蓝渐变、grid-cols-3 三连近似卡片、fadeInUp 全员同参)设阻断级,其余警告级。

具体口径:数据恢复类官网属典型营销落地页,走蒸馏装加中文补丁,VARIANCE 压到 5-6(信任导向品类不宜出格),MOTION 压到 4,DENSITY 提到 6(要摆下硬指标)。后台管理界面不要装(§13 排除),真要提升走 §2 设计系统地图指向的正路:Fluent/Carbon/Atlassian/Polaris 择一。面试材料与研报的 HTML 化是被低估的用法:把 §9 负面清单加 §14 预检当成"文档去 AI 味"的检查表,效果比任何改写工具直接,因为它管生成前而非生成后。

九、金句十条

1. "少用"会被忽略,"零个"不会。(原文自陈:use sparingly 会被忽略,措辞必须二值) 2. 声称有动效,就必须真的动。(Motion claimed, motion shown) 3. 加动画前先问它传达什么。答"看着酷"无效。(有效答案只有层级/叙事/反馈/状态转换) 4. 用户不该在滚到一半时,感觉走进了另一个网站。(一致性是不让用户困惑的底线) 5. 英雄区里用 div 堆的假界面,是大模型设计的第一破绽。 6. 如果 brief 属于我管不了的六类,就明说,并指向正确的工具。(§13 主动认输) 7. 品味活在模型里,垃圾活在输出里。提示词斗品味,linter 斗垃圾。(出自竞品团队,全赛道最清醒一句) 8. 这份文件的结构比它的内容值钱。(设计主张多为常识,工程语法可移植) 9. 62 项预检不是清单,是一份现成的 linter 需求文档。 10. 七万九千颗星里,有多少是"收藏待看",fork 比例已经说了(6.8%)。

结论

taste-skill 做了一件其他项目没做过的事:把"设计品味"编码成 AI 可执行的规则。它不是设计系统、不是设计工具,而是一份给 Agent 看的设计行为规范:什么该做、什么禁做、怎么调参、怎么自检。它识别的病理(AI 前端同质化)是真痛点,三旋钮与二值化禁令的工程手法是真创造,62 项预检是可复用的需求文档。但它被一层高得可疑的热度数据、学术装饰与营销文包裹,且天生缺一条腿(确定性校验)。建议把它当作"前端 Agent 的审美纪律增强包"评估:原型与营销页值得按蒸馏装试一把,企业级与后台场景先等 v2 stable,任何严肃采用都该叠加自建 linter 作第二层防线。

--- *参考仓库:github.com/Leonxlnx/taste-skill | 官网 tasteskill.dev | 许可 MIT | 数据快照 2026-08-24*

👍 1

想参与讨论或点赞?登录后使用完整功能

💬 讨论回复(1)
✨步子哥 #1
taste-skill 速览 · 赛道与裂缝 taste-skill 速览 Anti-Slop 前端赛道真实排名 · 与那道提示词补不上的裂缝 | 数据快照 2026-08-24 一、赛道不是第一,是第二 ui-ux-pro-max-skill目录+Python推荐器 120,138 taste-skill变体提示词·三旋钮 79,595 Nutlope/hallmark精选提示词包 26,710 hardikpandya/stop-slop文字去AI味 16,249 Leonxlnx/unlazy反偷懒·Depth Tree 1,396 Laith0003/ux-skill145条正则linter 63唯一CI拦截 中文报道普遍称其赛道第一,实测第二。市场买的是"最省事的审美提升",而非"最可靠的质量闸门"——唯一能在 PR 里 exit 1 的对手只有 63 星。 二、三旋钮:把形容词换成刻度 DESIGN_VARIANCE81=完美对称 → 10=艺术混沌 MOTION_INTENSITY61=静止 → 10=电影/物理级 VISUAL_DENSITY41=画廊留白 → 10=驾驶舱密集 关键是旋钮真接线:VARIANCE>4 时居中英雄区被禁;DENSITY>7 时通用卡片容器被禁;MOTION>3 必须响应 prefers-reduced-motion。声称动效 7 却交静态页,判为 broken。 三、那道提示词补不上的裂缝 提示词派(taste-skill) 规则活在大模型的判断里。同一 prompt 每次产出不同结果,无法断言某指纹已从输出消失。不能做 CI 闸门。 确定性派(linter) 145 条正则,违例即 exit 1。可强制、可复现、可入流水线。但只能抓已枚举的破绽,抓不了"好不好看"。 Taste lives in the model. Slop lives in the output. A prompt fights taste. A linter fights slop. 品味活在模型里,垃圾活在输出里。提示词斗品味,linter 斗垃圾。| 出自竞品团队横评,全赛道最清醒一句 落地口径:生成侧用蒸馏版核心(剔众数)+ 审计侧自建 20-40 条正则 linter 跑 CI,双层防线。§14 那 62 项预检,就是现成的 linter 需求文档。
暂无表态
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens