taste-skill 到底是什么:一个没有 src/ 的纯 Markdown 规则仓库

2026-08-09

本文所有仓库信息核对日为 2026-08-09,以上游仓库最新内容为准。

如果你是冲着「前端框架」四个字去克隆 taste-skill 的,第一件会让你愣住的事是:这个仓库里没有 src/,没有 npm 包,没有任何构建产物。它的全部核心资产是 skills/ 目录下十三份 SKILL.md —— 纯 Markdown。搞清楚这一点,你才能正确判断它对你有没有用。

一、先把定位说清楚

taste-skill 的 README 给自己的一句话定位是 “The Anti-Slop Frontend Framework for AI Agents”,横幅的 alt 文本写的是 “Anti-slop Agent Skills for premium frontends”。README 首段的意思是:这是一组可移植的 Agent Skills,用来提升 AI 生成界面的排版、字体、动效和间距,避开那种一眼就能看出是模板的 UI。仓库里还包含一类图像生成 skill,用来产出参考图板(web / mobile / brand kit),配合 ChatGPT Images 之类的生成器出图,再把画面交给 Codex、Cursor 或 Claude Code 去实现。

注意 “Framework” 这个词在这里的含义。它不是 React 那种意义上的框架,不提供组件、不提供运行时、不提供你可以 import 的任何东西。它约束的是模型在写前端代码时的决策倾向

官网是 https://tasteskill.dev,changelog 页在 https://www.tasteskill.dev/changelog。README 末尾标 MIT License · Copyright (c) 2026 Leonxlnx,许可条款以官方 LICENSE 原文为准,本文不解读。

二、仓库里到底有什么

我们实读了仓库顶层,只有这些目录和文件:

.claude-plugin/.github/assets/examples/research/scripts/skills/CHANGELOG.mdLICENSEREADME.mdskill.sh

就这些。没有 src/,没有 npm 包,也没有任何构建产物。

唯一容易让人误会的是 scripts/,里面躺着四个 .mjsbuild-emil-sponsor-row.mjsconvert-readme-assets-webp.mjsprocess-readme-buttons.mjsprocess-sponsor-badge.mjs。看名字就知道,它们处理的是 README 里的图片资源 —— 赞助商徽章、按钮图、WebP 转换,与 skill 的功能完全无关。你不需要跑它们,也不需要装它们的依赖。

所以这个仓库的正确心智模型是:一个规则文档集合,附带一份说明书

三、十三份 SKILL.md 的体量分布

skills/ 下有十三个 skill,分两类。README 的原话是,实现类 skill “output code”,图像生成类 skill “output reference images only”,后者不产代码。

它们的体量差得非常远。我们实读文件行数,几行有代表性的:

文件夹install name行数
imagegen-frontend-mobileimagegen-frontend-mobile1465
image-to-code-skillimage-to-code1228
taste-skilldesign-taste-frontend1206
taste-skill-v1design-taste-frontend-v1226
soft-skillhigh-end-visual-design98
output-skillfull-output-enforcement49

从 49 行到 1465 行,差了将近三十倍。这个跨度本身就说明了一件事:这十三个东西不是同一个粒度的产品。output-skill(install name full-output-enforcement)那 49 行做的是一件很窄的事 —— 模型交半成品时逼它输出完整代码;而默认的 taste-skill(install name design-taste-frontend)那 1206 行是一整套设计决策流程。把它们并排列在同一张表里看,很容易误判成「十三个平级的选项」。

完整的十三行花名册和怎么挑,我们另有专门一篇讲,这里不铺开。

另外,skills/llms.txt 是一份 13 行的一行式索引,给 LLM 读的,每个 skill 一行摘要。三个图像 skill 那三行的行尾都明写着 “Does not write code.”,brutalist-skill 那行标了 (Beta)。这份文件比 README 表格更省事,想快速扫一眼有哪些 skill 的话可以先看它。

四、装它就是一条命令

README 给的安装方式:

npx skills add https://github.com/Leonxlnx/taste-skill

这条命令会扫描仓库的 skills/ 目录,所以下面所有 skill —— 代码类的和图像生成类的 —— 装法完全相同。README 的 FAQ 里专门回答过「图像生成 skill 能不能用 npx skills add 装」,答案是 Yes,理由就是它们和代码类 skill 同在 skills/ 下,同一个 CLI 能发现。

只想装其中一个的话,要用它的 install name,也就是 SKILL.md frontmatter 里的 name: 字段:

npx skills add https://github.com/Leonxlnx/taste-skill --skill "design-taste-frontend"

这里是这个仓库最容易踩的坑--skill 后面要填的是 install name,不是文件夹名。上一节那张表里已经能看出问题 —— 文件夹叫 soft-skill,install name 却是 high-end-visual-design;文件夹叫 output-skill,install name 是 full-output-enforcement。你照着 GitHub 页面上看到的目录名填,大概率填不对。这一处不一致在十三个 skill 里相当普遍,我们另有一篇专门做对照表。

还有两条 README 提到的用法值得知道:你可以直接把任意一份 SKILL.md 复制进自己项目,也可以整个粘进 ChatGPT / Codex 的对话里。这正是「纯 Markdown」带来的好处 —— 没有安装这一步也能用。

顺带说一句,npx skills add 这个 CLI 本身不是这个仓库的东西,它指向的是 https://github.com/vercel-labs/agent-skills

五、★ 最关键的一点:规则文本不等于效果保证

这是全篇最需要你带走的判断依据。

因为仓库里没有 src/、没有构建、没有运行时,所以没有任何东西会在你的项目里执行这些规则。SKILL.md 里写的每一条 —— 无论是禁用某个字符、限制某个元素的数量、还是规定动效参数 —— 本质上都是写给模型看的提示词约束,不是 lint 规则,不是 CI 检查,不是类型系统。

举个最直白的例子:默认 skill 里有一条硬性的 em-dash 禁令。这条规则的性质是「告诉模型不要用」,而不是「装了之后你的代码里就不会出现 em-dash」。前者是指令,后者是结果,中间隔着一个模型会不会听话的问题。

所以判断这类仓库有没有用,标准应该是:你能不能接受一个「提高概率」的东西。如果你的场景需要确定性保障(比如交付前必须机械校验某项规范),那真正该做的是在自己的构建链里加检查,skill 只能作为前置的倾向调节。反过来,如果你的痛点是「模型每次生成的落地页都长一个样」,那这类规则文档确实是直接对着这个问题去的。

这也是为什么本文不会写「装上就能做出高级设计」「用了就没有 AI 味」这种话 —— 那是把指令当成了结果。

六、两个版本号说的不是一件事

.claude-plugin/plugin.json 里,nametaste-skillversion1.0.0author.nameleonxlnxlicense 是 MIT,keywords["skills","frontend","design","taste","ui"]marketplace.json 里描述自己是 “Taste skill library for Claude Code”,plugins 数组只有一项,source"./"version 同样是 1.0.0

而 README 和 CHANGELOG 说,默认的 taste-skill(install name design-taste-frontend)现在是 v2 (experimental),是对原始 v1 的一次 substantial rewrite。

1.0.0v2 不是一回事:前者是插件包的版本号,后者是 skill 内容的版本代号。看到这两个数字对不上,不用怀疑自己装错了。

还有一处可核实的细节:plugin.jsonhomepagerepository 都写成 https://github.com/leonxlnx/taste-skill(小写 l),与仓库实际路径 Leonxlnx 大小写不一致。两处写法不同,以仓库当前状态为准。

关于 v1 与 v2 怎么升、怎么钉回去,README 说已装 v1 的人重跑同一条 install 命令就能升级,install name 没变所以脚本不用改。要钉死在 v1,则用 --skill "design-taste-frontend-v1",README 说这会装上原封不动的原始 SKILL.md。这条线我们另有一篇细讲。

七、决定要不要用之前,先看这几件事

它是框架无关的。 README 的 FAQ 里明确回答支持 React / Vue / Svelte,理由是规则针对的是设计意图,不是某个框架的 API。这个说法和仓库结构是自洽的 —— 一堆 Markdown 本来也绑不了框架。

它自己标着还在动。 README 原文说 “It is still iterating”,默认 skill 自标 v2 (experimental),目标是 v2.0.0 stable;skills/llms.txtbrutalist-skill 那行标着 (Beta)。这些是项目方自己留的余地,采纳前该按这个前提评估。

star 数不说明它好不好用。 截至 2026-08-09,Leonxlnx/taste-skill 的公开数据是 74664 star、5113 fork、53 个 open issue,许可 MIT,主语言标注是 JavaScript。star 只说明被收藏过多少次,推不出质量、稳定性或者适不适合你的结论。

README 里有一节 Disclaimer。 原文声明项目没有任何官方 token / coin / 加密项目,任何使用其名字、形象的 token 都与作者无关、未获背书。如实转述一下,需要的人自己会用得上。

八、一句话收尾

taste-skill 是一个规则仓库,不是一个库。它的交付物是文本,作用对象是模型,生效路径是提示词。想清楚这三点,你就不会对它抱错期待 —— 也不会因为找不到 src/ 而以为自己克隆错了地方。


本文依据 taste-skill 官方仓库(github.com/Leonxlnx/taste-skill)的 README、CHANGELOG、 skills/ 下的 SKILL.md 与 .claude-plugin/ 清单整理,核对日 2026-08-09。 本文内容为仓库文档口径,我们没有安装或运行过其中任何一个 skill, 文中所有规则均为写给模型的提示词约束,不构成对输出结果的保证。 skill 内容随上游更新而变动,默认 skill 当前自标为 v2 (experimental) 且仍在迭代,请以仓库最新内容为准。 许可条款请以官方 LICENSE 原文为准,本文不构成法律意见。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。