Spec-Kit

用 Claude Code 写代码有一段时间了,说实话大部分时候体验都挺好的。但遇到大项目的时候,问题就来了。

你跟它说「实现一个用户登录功能」,它直接就开写了。写到一半你发现,哎等等,密码加密方式还没定呢,JWT 的过期策略也没想清楚。然后它回头改,改着改着又引入新 bug。来回折腾几轮,你开始怀疑,到底是 AI 在帮我写代码,还是我在帮 AI 擦屁股。

Spec-Kit 就是为了解决这个问题来的。

这东西到底是什么

Spec-Kit 是 GitHub 官方出的 AI 编程工作流工具,核心开发者是 Den Delimarsky 和 John Lam。它的理念用一句话概括就是,规范不只是指导文档,规范是可执行的

你想想看,传统开发里我们写 PRD、写设计文档,写完就扔一边了,代码该怎么写还是怎么写。Spec-Kit 的思路是,规范本身就是开发流程的驱动力量,每一步都由规范来推动,最终直接生成代码。

听着有点玄乎对吧?来看看它具体怎么做的。

七个阶段,步步为营

Spec-Kit 的工作流是一条严格的流水线,七个阶段,每个阶段都是一道「门」,上一道门没过就别想进下一道。

constitution → specify → clarify → plan → tasks → analyze → implement
     ↓            ↓         ↓        ↓       ↓        ↓         ↓
   [门控]      [门控]    [门控]   [门控]  [门控]   [门控]    [门控]

每个阶段干什么呢?

constitution 是项目治理,定义项目的基本规则和约束。比如技术栈选择、代码规范、安全要求这些。这一步很多人会跳过,但我建议你别省。把规则 upfront 定好,后面能少很多扯皮。

specify 是写功能规范。不是写代码,是写清楚你要什么。用户故事、验收标准、技术约束,都在这一步定义好。

clarify 是消除歧义。AI 会帮你检查规范里有没有模糊的地方,有没有遗漏的边界条件。这一步是 Spec-Kit 最值钱的地方之一。你自己写的规范,你自己看不出问题,但 AI 能帮你挑出来。

plan 是技术计划,tasks 是任务分解,analyze 是一致性检查。这三步把规范翻译成可执行的任务清单,并且确保任务和规范之间没有冲突。

最后 implement 才是写代码。到这一步的时候,你已经非常清楚要写什么了。

像工厂流水线。听着有点重对吧?但对于大项目来说,这种「重」恰恰是你需要的。

怎么装

Spec-Kit 基于 Python,用 uv 做包管理器。

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

初始化项目

specify init my-project

然后就可以开始定义规范了。在 .specify/specs/features/ 下面创建规范文件

# User Login Feature

## User Story
As a user, I want to log in to access my account.

## Acceptance Criteria
- User can enter email and password
- System validates credentials
- User receives error message for invalid credentials
- Successful login redirects to dashboard

## Technical Constraints
- Use JWT for session management
- Password must be hashed with bcrypt

执行规范

/speckit.implement

Spec-Kit 会自动解析规范、生成计划、分解任务、然后执行实现。整个过程你只需要在关键节点做确认。

什么时候该用,什么时候不该用

说真的,Spec-Kit 不是万能的。我自己的感受是,它特别适合这些场景

场景 推荐度 原因
大型企业项目 ✅ 强烈推荐 GitHub 官方维护、阶段门控确保质量可控
需要规范生成代码 ✅ 强烈推荐 规范可执行化是核心定位、模板引擎支持代码生成
多人协作 ✅ 推荐 统一规范减少沟通成本
快速迭代项目 ⚠️ 不推荐 阶段门太严格,改个方向要过七道门
个人小项目 ⚠️ 不推荐 杀鸡用牛刀了

你可能觉得「我就想快速出个原型,搞这么复杂干嘛」。确实,Spec-Kit 不适合快速迭代。它的甜区是那些需要严格质量控制、多人协作的中大型项目。

如果你想找一个更轻量的方案,可以看看 [[OpenSpec 规格驱动开发工作流]],或者 [[Superpowers]]。

局限性

踩了段时间,有几个点我得说说。

环境配置有门槛。 需要 Python 3.11+ 和 uv,对于纯前端同学来说可能不太友好。我自己是 Java 后端出身,Python 环境搞得多了,但也花了不少时间配环境。

七个阶段学起来需要时间。 每个阶段的输入输出是什么,门控条件是什么,都得搞清楚。不像有些工具装上就能用,Spec-Kit 有个学习曲线。

灵活性不够。 项目做着做着方向变了?对不起,你得回到 specify 阶段重新走一遍。对于需求频繁变化的项目,这个成本有点高。

跟其他工具比一下

维度 Spec-Kit OpenSpec Superpowers
核心范式 规范可执行化 轻量规范层 技能组合
工作流 阶段门控式 流畅迭代式 技能触发式
TDD 强制
Brownfield 支持 ✅ 优先设计
出品方 GitHub 官方 Fission-AI 社区(obra)