Skill 学习篇(七)| 编排框架 · Spec Kit 专篇
- 1. 一句话定义
- 2. 它解决了什么问题
- 3. 概览
- 4. 核心亮点
- 4.1 可执行的规范
- 4.2 斜杠命令工作流
- 4.3 严格的门禁流程
- 4.4 跨 30+ AI 编程助手
- 4.5 扩展和预设
- 5. 安装方式
- 方式一:持久安装(推荐)(支持平台:macOS / Linux / Windows)
- 方式二:一次性使用(支持平台:macOS / Linux / Windows)
- 初始化项目
- 6. 实战示例:用 Spec Kit 开发一个用户管理 API
- 7. 优点 & 缺点
1. 一句话定义
Spec Kit是 GitHub 开源的一套"规范驱动开发(Spec-Driven Development)“工具包。它让规范(spec)成为可执行文件——你先写规格说明书,AI 根据规格自动生成代码。不再是"先写代码再补文档”,而是"先写规范,代码自动生成"。
和 Superpowers 的区别:Superpowers 也是 spec-driven 理念(brainstorming → writing-plans),但 Superpowers 是一个技能包,而 Spec Kit 是一个独立 CLI 工具,通过specify命令和斜杠命令来驱动流程,不依赖具体的技能系统。
2. 它解决了什么问题
大多数开发者(包括 AI)的惯常做法:拿到需求直接写代码。写到一半发现理解错了,或者漏掉了边界情况。返工比一次做好更费时间。
Spec Kit 强制你先写规范、再写代码,并且让规范本身就是可执行的——写完了规范,/speckit.implement就能生成代码,不需要手动翻译。
3. 概览
| 项目 | 数据 |
|---|---|
| 仓库 | github.com/github/spec-kit |
| Stars | 93K+ |
| 分叉 | 8.1K+ |
| 许可证 | MIT |
| 最新版本 | v0.8.6(2026-05) |
| 依赖 | Python 3.11+、uv或pipx |
⚠️ 理念提醒:Spec Kit 和 Superpowers 都强调"先写规范再写代码"的理念。区别在于 Superpowers 是 Claude Code 技能包,而 Spec Kit 是独立 CLI 工具,支持 30+ AI 编程助手,不限定平台。
4. 核心亮点
4.1 可执行的规范
Spec Kit 的核心创新:spec 不只是文档,还是输入。你写完 spec,系统能直接根据它生成代码。不再是"人读了文档再写代码",而是"文档本身就是代码的蓝图"。
4.2 斜杠命令工作流
| 命令 | 阶段 | 做什么 |
|---|---|---|
/speckit.constitution | 定规矩 | 项目原则、编码规范 |
/speckit.specify | 写规范 | 功能需求(what & why) |
/speckit.clarify | 澄清 | 澄清模糊的需求 |
/speckit.plan | 规划 | 技术实现方案 |
/speckit.tasks | 拆任务 | 拆成可执行的任务 |
/speckit.taskstoissues | 转 Issue | 将任务转为 GitHub Issues |
/speckit.analyze | 交叉检查 | 一致性检查 |
/speckit.checklist | 清单 | 生成质量检查清单 |
/speckit.implement | 实现 | 根据规范生成代码 |
4.3 严格的门禁流程
每个步骤完成后必须经过审核才能进入下一步,不能跳步。确保:
- 规范没写清楚 → 不能开始规划
- 规划没Review → 不能开始实现
- 实现没验证 → 不能提交
4.4 跨 30+ AI 编程助手
Spec Kit 不绑定 Claude Code,支持 Claude Code、Copilot、Gemini CLI、Cursor、Windsurf、Codex CLI、Qwen Code、Kilo Code、Roo Code、Amazon Q 等 30+ 编程助手。
4.5 扩展和预设
支持扩展机制(添加新能力)和预设(定制工作流),团队可以根据自己的开发流程自定义。
5. 安装方式
Spec Kit 是 Python 工具,通过uv或pipx安装。
方式一:持久安装(推荐)(支持平台:macOS / Linux / Windows)
终端执行:
uv toolinstallspecify-cli--fromgit+https://github.com/github/spec-kit.git或者用 pipx:
pipxinstallgit+https://github.com/github/spec-kit.git方式二:一次性使用(支持平台:macOS / Linux / Windows)
终端执行:
uvx--fromgit+https://github.com/github/spec-kit.git specify init<项目名称>初始化项目
specify init<项目名称>--integrationclaude--integration参数指定使用的 AI 编程助手(claude / copilot / cursor 等)。
6. 实战示例:用 Spec Kit 开发一个用户管理 API
假设你要开发一个用户管理的 REST API(Python + FastAPI),支持注册、登录、个人信息查看和更新。以下是完整的 spec-first 流程。
前置条件
先在终端执行安装和初始化(一次性操作):
# 终端执行uv toolinstallspecify-cli--fromgit+https://github.com/github/spec-kit.git# 终端执行specify init user-api--integrationclaude安装完成后,Claude Code 中就有了/speckit.*斜杠命令可用。后续所有命令都在 Claude Code 聊天框中操作。
Step 1:定规矩
在 Claude Code 聊天框输入:
/speckit.constitutionAI 引导你设定项目原则,你在对话框中逐条回答:
Spec Kit → 技术栈? 你 → Python 3.12 + FastAPI + SQLAlchemy + PostgreSQL Spec Kit → API 设计风格? 你 → RESTful,遵循 JSON:API 规范 Spec Kit → 编码规范? 你 → 使用 Black 格式化,mypy 类型检查,100% 测试覆盖自动产出文件:
CONSTITUTION.md— 项目原则、技术栈决策、编码规范
所有后续步骤的代码生成都会遵循这里定的规矩。
✅ 进入下一步。
Step 2:写规范
在 Claude Code 聊天框输入:
/speckit.specifyAI 引导你写出功能需求:
Spec Kit → 描述你要做什么功能? 你 → 用户注册、登录、查看个人信息、更新个人信息 Spec Kit → 详细说一下注册流程? 你 → 用户提供邮箱和密码,密码需要哈希存储, 注册成功后返回 JWT Token Spec Kit → 登录流程? 你 → 用户提供邮箱和密码,验证成功后返回 JWT Token, Token 有效期 24 小时 ...(继续补充个人信息 CRUD 的细节)自动产出文件:
SPECIFICATION.md— 完整功能规范,包含每个接口的输入/输出/业务规则
✅ 规范写完了。下一步澄清模糊点。
Step 3:澄清模糊点
在 Claude Code 聊天框输入:
/speckit.clarifyAI自动识别规范中模糊的地方并提问:
Spec Kit → 我注意到以下几个点需要澄清: 1. 密码强度要求? 你 → 至少 8 位,含大小写字母和数字 2. Token 过期后如何处理? 你 → 返回 401,前端跳转登录页 3. 邮箱需要验证吗? 你 → 初期不需要,后续版本再加 4. 更新个人信息时,邮箱可以修改吗? 你 → 不可以,邮箱一旦注册不可修改所有模糊点澄清后,SPECIFICATION.md自动更新,补充这些细节。你不需要手动编辑文件。
✅ 所有需求都已明确。下一步出技术方案。
Step 4:技术规划
在 Claude Code 聊天框输入:
/speckit.planAI自动生成技术方案:
Spec Kit → 生成实现方案: 目录结构: ├── app/ │ ├── models/ # SQLAlchemy 模型 │ ├── schemas/ # Pydantic 校验 │ ├── routers/ # API 路由 │ ├── services/ # 业务逻辑 │ └── core/ # 配置、数据库连接 ├── tests/ └── alembic/ # 数据库迁移 数据模型: - User: id, email, hashed_password, nickname, created_at, updated_at API 路由: - POST /api/v1/auth/register - POST /api/v1/auth/login - GET /api/v1/users/me - PATCH /api/v1/users/me自动产出文件:
PLAN.md— 完整技术实现方案
✅ 方案已出。下一步拆任务。
Step 5:拆任务
在 Claude Code 聊天框输入:
/speckit.tasksAI自动将方案拆成任务列表:
Spec Kit → 生成任务列表: 1. [core] 项目骨架:配置 FastAPI、数据库连接、Alembic 2. [model] 定义 User 模型和迁移脚本 3. [api] 注册接口 POST /api/v1/auth/register 4. [api] 登录接口 POST /api/v1/auth/login 5. [api] 查看个人信息 GET /api/v1/users/me 6. [api] 更新个人信息 PATCH /api/v1/users/me 7. [test] 为每个接口编写测试自动产出文件:
TASKS.md— 可执行任务列表,每个任务有明确的完成标准
✅ 任务就绪。开始生成代码。
Step 6:生成代码
在 Claude Code 聊天框输入:
/speckit.implementAI自动逐任务生成代码,你不用动手写一行:
Spec Kit → 开始实现... [1/7] 项目骨架 → 生成 main.py, config.py, database.py [2/7] User 模型 → 生成 models/user.py, 迁移脚本 [3/7] 注册接口 → 生成 routers/auth.py, schemas/auth.py [4/7] 登录接口 → 追加到 routers/auth.py [5/7] 个人信息 → 生成 routers/users.py [6/7] 更新个人信息 → 追加到 routers/users.py [7/7] 测试 → 生成 tests/test_auth.py, tests/test_users.py ✅ 全部任务完成。所有代码已生成到项目目录中,每个文件都符合 Step 1 定的编码规范。你不需要复制粘贴或手动创建文件。
✅ 代码已生成。最后做一次一致性检查。
Step 7:交叉检查
在 Claude Code 聊天框输入:
/speckit.analyzeAI自动检查实现是否完整覆盖了规范:
Spec Kit → 一致性检查结果: ✅ 注册接口 → 覆盖所有业务规则 ✅ 登录接口 → 覆盖所有业务规则 ✅ Token 24 小时过期 → 已实现 ✅ 密码 8 位+大小写+数字 → 已校验 ✅ 邮箱不可修改 → 已限制 ⚠️ 建议补充: - 注册时检查邮箱是否已存在(已在代码中,但缺少测试覆盖)🎉 全部完成。一个完整的用户管理 API,从规范到代码已全部就绪。整个过程中你只做了两件事:回答问题、输入命令,所有文件都是自动生成的。
关键区别:规范不是文档,是可执行的蓝图。写完规范/speckit.implement就能生成代码,不需要手动翻译。门禁流程确保不跳步——规范没写清楚不能开始实现。
7. 优点 & 缺点
| ✅ 优点 | ❌ 缺点 |
|---|---|
| 93K⭐,GitHub 官方出品 | 理念和 Superpowers 重叠 |
| 规范可执行,文档即蓝圖 | 需要 Python 3.11+ 环境 |
| 跨 30+ 编程助手,不限 Claude | 适合新项目,现有项目引入成本高 |
| 严格门禁流程,不跳步 | 版本还在 v0.8.x,未到 1.0 |
| 扩展和预设机制可自定义 | 简单任务用 Spec Kit 太重 |