Spec Kit 深度评测:13.7 万 Star 一年后长成插件市场,169 个社区扩展实测八成已休眠

Spec Kit 深度评测:13.7 万 Star 一年后长成插件市场,169 个社区扩展实测八成已休眠

过去一年,凡是劝人「先写规格再让 AI 动手」的文章,几乎都会引用同一个仓库:GitHub 的 spec-kit。它 2025 年 8 月上线,13 个月涨到 13.7 万星,成了「规格驱动开发(SDD)」这件事的代名词。

我把它从 PyPI 装进沙盒,跑完初始化、把支持的 41 种 coding agent 逐个初始化了一遍,又把社区目录里的扩展抽了两组样本。结论有点分裂:那套写规格的流程还在、也确实能用,但仓库的重心已经换人了——它现在更像一个给 coding agent 用的插件市场,而这个市场里八成的货架已经休眠

一年后,它已经不是当初那个模板仓库

2025 年 8 月 21 日的第一版命名很直白:把「Specify → Plan → Tasks → Implement」四步做成四段提示词模板,谁都能抄。一年后打开仓库,根目录躺着 src/extensions/presets/bundles/workflows/integrations/ 六个子系统,specify --help 里除了 init,还有 extensionpresetbundleworkflowartifacteventself 七个命令组。

它现在对外讲的是三条独立入口,而不是一条流水线:

  • 规格驱动开发(核心):constitution → specify → plan → tasks → implement → converge,另加三个可选质量闸门 clarify / analyze / checklist
  • Bug 修复(扩展):bug-assess → bug-fix → bug-test,产出落到 .specify/bugs//
  • 想法评估(扩展):intake → research → define → shape → decide,最后给出 go / needs-clarification / kill。

其中 converge 是这一年里补上的一环:它拿现有代码跟 spec、plan、tasks 对一遍,把还没做完的活追加回 tasks.md,解决「实现到一半断了怎么办」。这个命令对应的正是社区呼声最高的一个 issue(可以编辑、迭代已有规格,而不是每次都新开一个分支),它在 2026 年 4 月被关掉。

规模上的变化更直接:这个仓库现在有 59,078 行 Python 源码,测试 117,530 行,而真正承载「方法论」的核心命令模板加起来只有 2,440 行 Markdown——代码和方法的比例是 24 : 1。同一批作者还在用不到 48 小时一版的节奏迭代,从 v0.0.1 到 v1.0.7 一共发了 221 个 release,平均 1.8 天一个版本

实测:能用,但支撑它的是「结构」而不是「智能」

我把能跑的公开接口都跑了一遍。下面每一条都是沙盒里的真实输出,不是 README 复述。

实测项 结果
specify init(copilot 集成) 一次生成 30 个文件:10 个 SKILL.md + 5 个模板 + 6 个 bash 脚本 + 集成清单
41 种 agent 集成逐个初始化 40 个一次通过;generic 要求显式传 --commands-dir(报错信息给了完整示例,属设计如此)
直接装社区扩展(extension add <名字> 6 次全部被拒:社区目录是 discovery-only,不可直接安装
贴归档地址装(add <名字> --from 5 个真实地址全部成功,每个 4 到 6 秒
30 个随机社区扩展的下载链接 28 个存活(93%),归档中位体积 14 KB
20 个随机社区扩展的仓库活跃度 只有 4 个在 30 天内有提交;15 个停在 1 到 6 个月前;中位最后一次提交距今 136 天
13 个技能文件的上下文占用 总共 157,976 字符,其中常驻上下文的只有开头元信息,3,900 字符,占 2.5%

第 6 行是这次实测最刺眼的一条。169 个挂名社区扩展听起来像生态,抽 20 个查仓库,结果是 20% 还在动、75% 处于 1 到 6 个月的浅休眠、5% 超过 180 天没动,星数中位数只有 6。下载链接活着(因为 GitHub 的归档地址不会烂),但代码从四月起就没再变过——「链接可用」跟「项目在维护」是两件事,这正是扩展市场最容易给人的错觉。

第 7 行则是这一年里一次很成功的自我修补。2025 年 12 月有人统计过:spec-kit 生成的是 slash command,每次开会话都会被完整塞进上下文,约 18.6k token,在 Cursor 默认窗口里能吃掉 93%。现在默认产出的是 SKILL.md(按需加载,只有描述常驻),我实测常驻部分只有 3,900 字符。同一个 issue 至今还开着,但问题事实上已经被架构调整解决了。

翻车点

扩展市场默认是「只能看不能装」。 这对安全是好事(官方目录是任意第三方代码,139 个扩展里 138 个声明自己会读写文件),但对体验是硬门槛:搜索能搜到 173 条结果,点安装会被明确拒绝,提示你「自己贴归档地址,或者自己维护一个可信目录」。想装,得先自己核一遍压缩包、再敲一遍 URL、再输一次 y。这套流程走通 5 次都很快,但它默认假设你会审代码。

装了 preset 或扩展之后,脚本会开始依赖你系统里的 PyYAML。 我复现了三组对照:纯净项目 + 没有 PyYAML 的 python3,setup-plan.sh 正常;同一个项目装上 preset,同一条命令直接报 Error: PyYAML is required to resolve preset template compositionplan.md 不生成,而且错误信息里没有告诉你怎么装。考虑到 uv tool install 会把依赖装进隔离环境、而脚本调用的是 PATH 上的 python3,这个坑大概率会落到真实用户头上。命令本身是 SKILL.md 指示 agent 去跑的,所以翻车现场往往是「agent 说它按流程走了,但文件没出来」。

四条流水线里两条是空货架。官方每个子系统都配了目录,但内容差得很远:

子系统 官方自带 社区贡献
扩展 extensions 4 169
预设 presets 2 36
agent 集成 integrations 41 0
工作流 workflows 1 2
工作流步骤 steps 0 0
整合包 bundles 0 2

扩展和预设是真生态,另外三个基本是刚立起来的架子。工作流的步骤类型目录是空的,而它的 shell 步骤在自己的发布文档里被标成「没有沙箱,可以读环境变量、改项目外的文件、外传数据」——社区要求给 shell 步骤加显式确认的 issue 到现在还开着。

谁该用,谁先别碰

把 spec-kit 和站内评过的同类放在一起,它的位置其实很清楚。

它对标不了一年前宣传的「让 AI 自己想清楚」:create-new-feature.sh 生成的 spec.md 里有 11 处占位符,脚本只保证结构和文件名一致,内容一个字都不是它写的。它也解决不了 mattpocock/skills 那种「拒绝流程绑架」的诉求——后者是 37 个各干一件事的小工具,前者要你先签一份宪法、再按五个阶段走。它甚至不打算解决 Get Shit Done 关心的上下文工程问题,它选择让技能按需加载来避税。

适合谁:要在团队里推行「需求先落地成文档」这件事的人。它的价值不在代码,而在把一套无聊但有用的规矩变成了可版本控制、可审查的文件——spec、plan、tasks 三个产物能进 code review,这比提示词存在谁的收藏夹里强得多。41 种 agent 集成也意味着换工具不用换流程。

不适合谁:一个人的小项目,或者已经有一套自己跑得顺的 agent 工作流的人。再往仓库里塞 169 个扩展,你得到的大概率是 20% 在维护、80% 停在四月的目录,以及一个每次安装都要手工审一遍的安全流程。

判断

一年前它是「四段提示词模板」,现在它是一个有 221 个版本、59,000 行代码、287 位贡献者的 agent 插件平台——顺便还带着那套写规格的流程。这个转向不算失败,因为核心流程确实还在按社区的抱怨逐条修补(上下文税、规格迭代、规格过期这三个最大的坑都动了手),但它的重心已经不在「规格」上了。

要用就只用核心的 10 个技能,扩展市场先别碰:等那 169 个货架里能有一半在三个月内更新过,再回来逛也不迟。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

相关阅读

本文数据截至 2026 年 9 月 17 日:仓库 137,383 星、12,302 fork、MIT 协议;实测均在 Alpine Linux 沙盒中完成,specify-cli 版本 1.0.7。