12 万星这个数字先放着。它听起来比 taste-skill 的 7.9 万多一半——但更重要的是,这 12 万星背后跑的不是一段纯文本提示词,而是一个真在跑的 Python 引擎。
前些天研究 taste-skill,我以为它是 anti-slop 前端赛道的第一名。错了。排在它前面的是 nextlevelbuilder/ui-ux-pro-max-skill,12 万星,比 taste-skill 的 7.9 万多出 50%,建仓还更早(2025-11-30)。中文圈几篇讲 taste-skill 的稿子都把它写成第一,这个错传得挺广。
更值得说的不是名次,是这俩根本不是同一种东西。taste-skill 是一份 87KB 的审美纪律提示词,全部知识塞进上下文常驻。ui-ux-pro-max 是一个真在跑的产品:Python 写的检索引擎、37 个 CSV 数据集、54 个真实字体二进制、11 个单元测试文件、npm 上的 CLI 安装器。我把仓库整棵树扒下来,核了它宣称的每一个数字,读了核心代码。有几件事值得记一笔。
等等,让我把这俩的形态差异先讲清楚:taste-skill 是 SKILL.md 一个文件,全靠大模型临场审美判断;ui-ux-pro-max 是 Python 加 BM25 加正则加 37 个 CSV 的混合检索系统,返回的是确定的几行结果,零命中会明确标注回退。这一步完全不经过模型的临场审美判断。
骨架先摆出来。全仓库 662 个文件、20.5MB,分成 7 个 skill 目录:
| skill 目录 | 文件数 | 体量 | 构成 |
|---|---|---|---|
| ui-styling | 98 | 5.6MB | 4 个 py,8 个 md,含 54 个 TTF 字体(5.2MB) |
| ui-ux-pro-max(旗舰) | 70 | 3.4MB | 37 个 CSV,15 个 py,3 个 md |
| design | 35 | 236KB | 8 CSV,8 py,19 md |
| design-system | 27 | 175KB | 8 CSV,7 py,8 md |
| brand | 18 | 87KB | 13 md,1 py,无 CSV |
| slides | 6 | 19KB | 6 md,无 py 无 CSV |
| banner-design | 2 | 13KB | 2 md |
引擎:BM25 加正则,不是让模型凭感觉。core.py 是混合检索:BM25 打分加正则匹配,从 CSV 里按相关性返回排序行。输一个查询,它给你几行确定的结果,零命中会明确标注回退。这一步完全不经过模型的临场审美判断。
数据分两层。data/ 根目录 35 个 CSV 是横向知识(styles、colors、typography、products、ui-reasoning、ux-guidelines、icons、motion、charts、google-fonts);stacks/ 目录 22 个 CSV 是技术栈专属指导:angular、astro、avalonia、flutter、html-tailwind、javafx、jetpack-compose、laravel、nextjs、nuxt-ui、nuxtjs、react、react-native、shadcn、svelte、swiftui、threejs、uno、uwp、vue、winui、wpf。注意这个栈清单的分布:不光有 Web,还有 JavaFX、Avalonia、UWP、WinUI、WPF、Uno 这些桌面框架,和 SwiftUI、Jetpack Compose、Flutter、React Native 这些原生移动端。taste-skill 那边 §3 硬绑 React 和 Next,还被 issue 批评过和自己宣称的 framework-agnostic 自相矛盾。这里是真铺开了。
九项宣称,九项全中。SKILL.md 头部原文写着:79 searchable styles (50 active), 192 product palettes and exact reasoning profiles, 74 font pairings, 119 UX guidelines, 105 curated icons, 17 GSAP presets, 25 chart types, and 22 technology stacks。我去数了每一个 CSV 的行数:styles.csv 79 行(88 总,含 inactive),colors.csv 192 行,products.csv 192 行,ui-reasoning.csv 192 行,typography.csv 74 行,ux-guidelines.csv 119 行,icons.csv 105 行,motion.csv 17 行,charts.csv 25 行,stacks/ 目录 22 个 CSV。十项核对,十项全中,一个字不差。
在这个满地编造数据的赛道里,这种「你能自己数一遍验证」的诚实相当稀有。对照一下:taste-skill 的 research/laziness 目录列了五条学术引用,无一带作者、链接或 arXiv 编号,逐条回溯后发现 EmotionPrompt 的数据张冠李戴(把 OPRO 论文的结果安到它头上)、LazyBench 是多模态视觉问答基准被过度拟人化、还有一条查无实据。那边是学术装饰,这边是能数的行数。
还有一层更硬的:它把「数据会过时」写成了会失败的测试。我原本准备批它一句:BM25 检索的质量上限就是数据集的质量,如果 styles.csv 里塞满 2021 年的 SaaS 套路,搜出来的也就是 2021 年的 SaaS 套路。然后我读到了 test_web_stack_freshness.py。它硬编码了一张当前版本适用表:react 19.2.x, nextjs 16.2, vue 3.5.x, svelte 5, astro 7.1.6, angular 22.x, html-tailwind 4.3, shadcn cli 4, nuxtjs 4.5, nuxt-ui 4.10。配合 validate_data.py 里的 STACK_OFFICIAL_HOSTS,校验引用链接必须指向官方域名。也就是说,技术栈数据一旦落后于框架版本,或者引用了野链接,测试直接失败。这是把「知识库腐烂」这个所有静态数据集的通病,变成了可以在 CI 里红掉的具体判据。
16KB 对 87KB:真正的分水岭在上下文策略。这是全篇最值钱的一条,也是两个项目最根本的差别。旗舰 SKILL.md 只有 15,969 字节,约 16KB。taste-skill 的旗舰是 87,253 字节,约 21,813 tokens 全量常驻。差在哪?ui-ux-pro-max 的 SKILL.md 只当调度器。它原文这么写:The full rule text for every category lives in references/quick-reference.md, read it on demand rather than loading it every time。规则全文在 quick-reference.md(24.5KB)和 pro-rules.md(10.9KB),按需读;知识在磁盘 CSV 里,用 BM25 检索取几行。上下文里常驻的只有一张优先级调度表。
taste-skill 那边正好相反:87KB 全量进上下文,上下文压缩时长指令块又是被优先截断的对象,规则可能在你不知情时就失效了。它的 issue #67 提议做渐进式披露,拆成约 12KB 核心加 references 按需加载,缩小约七倍。那条 issue 至今开放,零评论。也就是说:taste-skill 社区里有人提出的架构改进方案,ui-ux-pro-max 一开始就是那么建的。
商业结构:你拉的是销售漏斗的免费层。taste-skill 全免费,靠赞助商墙活着。这边不一样,README 里有一节明写 Basic 和 Premium 对比,官网 uupm.cc 有 pricing 页,还挂了 PayPal 捐赠。原文分层是这样的。Basic(就是这个仓库):79 可搜风格、192 产品类型、调色板、字体配对、BM25 引擎、22 框架栈、CLI 生成设计系统。Premium:品牌识别与 Logo 设计、企业识别系统(CIP)、Banner、演示幻灯片、定制图标;深度集成 AI 图像生成来产出真实视觉资产而非占位符;更完整的企业级 Design Token 架构;优先技术支持。
下一根钉子:ui-ux-pro-max 是这个赛道里工程完成度最高的一个。检索引擎真在跑,宣称的十项数字逐项核对全中,数据保鲜写成了会失败的测试,SKILL.md 只 16KB 靠按需加载扛住了上下文预算,22 个技术栈铺到桌面和原生移动,还能生成并持久化设计系统。但它不治同质化——它没有负面指纹清单,不主动压制模型的默认审美。它解决的是「我不知道该用什么风格配什么色」,不是「为什么我的页面一看就是 AI 做的」。想治后者,还得回 taste-skill 那套禁令。
参考仓库:github.com/nextlevelbuilder/ui-ux-pro-max-skill|官网 uupm.cc|对照仓库 github.com/Leonxlnx/taste-skill|数据快照 2026-08-24。
#UI设计 #AI前端 #BM25