Skill能否拯救软件工程
AI 的肆意流行在某种程度上导致了软件工程发展的停滞。新的开源项目、编程语言想要发展出成熟的生态越来越难,因为这些新轮子没有充足语料,AI 无法生成精准内容,导致开发者宁可选择更老的、更成熟的开发工具。
当这种迟滞性发展到极致,就会像《三体》中的智子锁死微观物理学一般,锁死软件工程的创新和发展。
Skill 是否能破壁
好在现在很多开源项目都在文档上更新了自己的 Skill 安装方式。用户可以在命令行中很方便地为当前 Agent 集成各种 Skill。

接下来我们一起看看,什么是 Skill,以及 Skill 能否像破壁人那样打破 AI 给软件工程造成的恶性循环。
开发者在使用 AI 编写代码时,为了提高生成代码的可用度,就得告诉它设计文档、代码规范、API 文档等等。但 AI 能记住的上下文有限,对话次数多了 AI 就容易忘记前面的文档和规范,这点跟人也一样,打开手机可能只是为了回复个信息,不知不觉就刷了半天短视频,忘了最初想干啥了。
那开发者就不得不一次次地重喂资料。这意味着会消耗大量 token,且容易出现幻觉。
如果把一次次地喂提示词的过程比喻成手敲代码,那 Skill 就是给提示词工程带来了包管理工具。你可以把它想象成 npm/pip/Maven 这类包仓库,里面放着各种好用的工具包,工具包里放着高手总结出来的提示词以及一些脚本。
让 AI 自己分析当前场景需要哪个趁手工具,需要运行哪个脚本,从而减少了 token 的使用。因为提示词是高度封装且复用的,所以总能产出风格统一、符合规范的代码。
那我们不难想到,可以给每个项目编写符合当前实际场景的 Skill,作为指导 AI 编程的行动纲领。这其实就是软件工程中最常用的封装思想。
我们可以先看看 Anthropic 自己开源的 Skill 库是怎么写的,特别是 Web 开发部分。

Skill 元信息
我们可以看到 Skill 本质上是一个 Markdown 文档。在元信息里简要概括了文档内容。比如当前这个 Skill 就指明了适用于构建现代前端项目,并把技术栈固定在 React、Tailwind CSS 和 shadcn/ui。
这体现了最主流、AI 语料最完善的现代前端技术栈,如果你还不熟悉可以先点波关注,博主一直致力于更新相关技术视频,帮助更多初级开发者跟上大部队。
文档内容
接下来看摘要部分:
用脚本去初始化项目。我们看脚本里都写了啥。
检查 Node.js 版本、检查 Vite 版本、根据操作系统设定 sed 命令(Stream Editor,流编辑器,用于文本操作)、检查 pnpm(如果没有就安装),后面脚本会用 pnpm 初始化一个 Vite 项目,并集成 Tailwind CSS、设定初始样式、安装依赖、安装 shadcn/ui、启动开发服务器等等。
生成代码、修改代码。
通过另一个脚本打包代码至单一 HTML。(即 SPA,脚本不带大家细读了,大意是用 Parcel 打包)
向用户展示项目成果。
(可选的)测试项目。
技术栈:React 18 + TypeScript + Vite + Parcel (bundling) + Tailwind CSS + shadcn/ui。
这里构建工具开发时用 Vite,打包时用 Parcel,可能是为了避免在脚本里写大量 Vite 的配置文件,Parcel 更倾向于零配置的一键生成。
这里用大写的 VERY IMPORTANT,告诉 AI 生成样式时一定要遵守的规则:
为避免被称为“AI 垃圾”,不要使用过多的居中布局、紫色渐变、统一圆角和 Inter 字体。
因为 AI 用了大量 Tailwind CSS 作为训练语料,而 Tailwind UI 作者为所有按钮都设计成了蓝紫色渐变就是“万恶之源”,间接导致当下处处蓝紫色的局面。
接下来文档详细说明了每一步 AI 该做什么。其实就是对前文摘要的细化,丰富 Skill 的细节。

最后还把 shadcn/ui 的文档网址添加进去,生怕 AI 这个傻儿子离了文档就胡说八道。
读这个有啥用
大厂开发者为了 KPI 喜欢造轮子,造出来的内部轮子要么文档不全、要么角度极其刁钻。我在这里说个暴论,这些轮子只要不开源、不接受广阔世界的拷打,就必定是个别人为满足一己私欲的玩具,并很快在 AI 时代因为没有语料被弃用。
如果你们公司有套屎山代码,它大量使用了内部轮子,并且堆积了大量反直觉的业务逻辑,那你想 vibe coding 肯定不容易,效率可能都不及你去问问坚持不换工作的老员工。
现在好了,你可以写个 Skill,指明内部轮子的文档地址(如果有的话),写清楚所有反直觉的设计缘由,帮助 AI 提高理解力。从而一次编写受益终身。
如果 AI 也理解不了,那要么是老员工写代码时用尽了防御性编程技巧,要么是业务开发过程中充满了“人定胜天”的时刻,通过一次次熬夜加班,攻克了项目上的“不可能”,让 AI 这个初出茅庐的毛头小子因为经验不够老道而无法融入、理解人情味业务。
似曾相识
如果你用过 Cursor 或者 Claude Code 就会发现这种 Markdown 提示词预制菜似曾相识。

Claude Code 通过定义 Claude.md 来为大模型定制提示词,里面也可以写针对项目架构的描述、代码生成标准的设定。
类似功能的还有 .cursor/rules。官方文档明确说明了用户可以在 .cursor/rules 中通过编写文档来沉淀代码库相关知识,设定自动化工作流和固定代码风格。
所以 Skill 和这些基于 Markdown 的提示词有什么区别呢?
个人体会是,别的提示词文档的抽象层级是当前项目、是当前开发环境。而 Skill 的抽象层级更多聚焦在开源项目上。如果你有开源项目应该着手编写 Skill 了。而且因为 Skill 往往是代码编写的最佳实践,对于新手开发者来说阅读 Skill 也是学习编程的现代化方案