Spec Kit
用可复用的规范化流程,引导编码代理从需求走到实现与验证。
- Star 数
- ★ 142k
- 最近更新
- 1 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 78/100 · 表现良好
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 开发团队希望在开始实现功能前先写清需求、技术方案和任务,可用 SDD 流程逐步产出规范、计划与代码。
- 不适合
- 不使用受支持 AI 编码代理的团队
- 需要纯图形界面完成流程的用户
- 源码审查
- 78/100 · 表现良好
这个 Agent 能做什么,适合哪些场景?
Spec Kit 是一套开源工具包,通过 Specify CLI 为编码代理提供结构化流程、可复用模板和文档化产物。核心流程是 Spec-Driven Development(SDD),依次定义项目原则、编写功能规范、制定计划与任务,再实现并反复收敛。用户也可安装 bug 修复和想法评估扩展,分别生成故障原因评估与验证记录,或形成有证据支持的继续、澄清或停止决策。团队可以通过扩展、预设、工作流、覆盖层和 bundle 定制或组合流程,并接入受支持的编码代理。首次使用需要 Python 3.11+、uv 和受支持的 AI 编码代理;仓库说明了 Linux、macOS 和 Windows 环境。
在终端安装 Specify CLI 并用 specify init 创建项目后,用户在项目目录中启动编码代理,以其支持的命令语法逐步运行 Spec Kit skills。SDD 流程生成规范、计划和任务,随后生成并改进代码,直到 /speckit-converge 报告 Converged。安装 bug 扩展后,/speckit-bug-assess、/speckit-bug-fix 和 /speckit-bug-test 会在 .specify/bugs/ 下记录评估、修复和验证结果。安装 assess 扩展后,/speckit-assess-intake、research、define、shape 和 decide 会在 .specify/assessments/ 下形成想法评估材料及 go、needs-clarification 或 kill 决策。扩展和预设可适配命令、模板与方法;工作流可自动化提示、命令、质量门和 shell 任务。
- 开发团队希望在开始实现功能前先写清需求、技术方案和任务,可用 SDD 流程逐步产出规范、计划与代码。
- 维护人员遇到可复现的故障,希望先记录原因、修复范围和验证结果,可安装 bug 扩展并检查其报告。
- 产品团队尚未决定是否投入某个想法,可用 assessment 扩展收集证据并记录 go、needs-clarification 或 kill 决策。
- 需要把组织标准加入开发流程的团队,可用 preset、项目级覆盖或 extension 调整模板、命令和质量门。
- 希望采用自有流程的工程团队,可通过 extension 暴露命令、workflow 自动化检查,并用 bundle 分享组合好的设置。
如何安装或部署这个 Agent?
需要 Python 3.11+、uv,以及受支持的 AI 编码代理;README 列出 Linux、macOS 和 Windows。以下示例安装 CLI 并以 GitHub Copilot 集成初始化项目:
uv tool install specify-cli
specify init my-project --integration copilot
cd my-projectbug 修复和想法评估是按需安装的扩展,可在项目目录中添加:
specify extension add bug
specify extension add assess如何使用这个 Agent?
进入项目目录后启动编码代理,在代理对话中逐条运行 skills,并逐步审阅输出。SDD 的简要流程如下:
/speckit-constitution Create principles focused on code quality, testing, and maintainability.
/speckit-specify Build a photo organizer with albums grouped by date and a tile preview of each album.
/speckit-plan Use Vite with vanilla JavaScript. Keep images local and store metadata in SQLite.
/speckit-tasks
/speckit-implement
/speckit-converge每项功能重复 implement 和 converge,直到结果为 Converged。不同编码代理需要使用各自的调用语法;故障修复和想法评估流程分别从其扩展命令开始。
这个 Agent 有哪些优点和局限?
- SDD、故障修复和想法评估是独立入口,不必先完成 SDD 功能流程才能使用后两者。
- 扩展、预设、工作流、覆盖层、工作流步骤和 bundle 可组合,支持从局部模板调整到团队设置分享。
- SDD 与故障修复流程有明确的收敛或验证结果,便于记录是否完成以及原症状是否解决。
- 文档说明可接入或切换编码代理,并列出 Linux、macOS 和 Windows 支持。
- 运行流程需要 Python 3.11+、uv 和受支持的 AI 编码代理;README 未说明代理服务的费用。
- 用户要在编码代理对话中逐项运行命令并审阅结果,不是独立的图形界面应用。
- bug 修复和想法评估需要在项目中另行安装扩展。
- README 提醒社区目录内容并非审计或背书,安装或运行前需要审查社区代码。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Spec Kit 当前 | 78 · 表现良好 | 命令行工具 | ★ 142k | 1 天前 | Python | — |
| Smart Ralph | 73 · 存在缺口 | Agent 插件 / 技能免费 + 模型费 | ★ 559 | 1 个月前 | Shell | Codex · Claude Code |
| OSpec | 50 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 396 | 1 个月前 | JavaScript | Codex · Claude Code |
| Autoprompt Skill | 69 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 1.2k | 16 天前 | JavaScript | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
文档说明认证默认关闭、凭据按主机匹配,并在重定向离开声明主机时剥离 Authorization;也建议令牌使用环境变量并将 auth.json 限为所有者访问。安装非空目录时需显式 --force,且文档要求先审阅并备份。外部 HTTP 请求、扩展下载、初始化脚本和实现任务仍会产生影响,材料未完整展示全部操作前确认、数据流或回滚机制,因此未给满分。项目提供安全漏洞披露渠道及明确版权信息。
README、安装指南和快速入门对 CLI 安装与聊天内技能调用的区分一致,并描述了多个流程及阶段。pyproject.toml 列出运行时依赖和 Python 下限,安装指南说明多个安装渠道、版本固定和离线安装。文档给出若干错误情形及升级排障方式,但没有足够证据证明所有依赖可用性、错误处理路径或各处描述完全一致,故扣分。
材料明确面向 AI 编码代理用户,并覆盖功能开发、修 bug、评估想法等不同场景;支持多种代理、脚本类型、交互与非交互初始化,以及既有项目和离线环境。文档区分 CLI、代理技能、可选扩展及其用途,但没有在所给材料中完整列出所有能力边界和触发规则,因此部分得分。
文档结构清楚,提供安装、快速入门、参考、扩展和排障入口;安装说明涵盖先决条件、渠道、集成选项、脚本类型、升级和校验。命令与目录名在文档中较稳定,并有分步骤示例及已知兼容行为说明。MIT 许可证明确;发布流程说明标签、版本、变更日志及维护操作。由于部分已知限制和命名迁移信息分散于文档,且未提供材料不足以核实全部文档间一致性,未全给满分。
流程产出规格、计划、任务及收敛报告,另有 bug 与想法评估流程,并明确建议逐步调用、检查结果;示例让常见使用方式可直接采用。工具包将模板和流程整理为可定制产物,显示出实际增益,但所给材料没有比较基线结果或投入成本数据,故边际价值和成本效益不评满分。
安装命令、前置条件、命令名称、产物路径、许可证和发布步骤均有具体文本依据;README、安装指南与快速入门对核心使用路径提供了交叉支持。文档也区分本地版本检查与来源证明,并说明验证缺失不代表修复成功。由于材料只包含部分代码和测试摘录,无法对所有主张进行源码级交叉核验,故前两项扣分;事实与推断边界说明较清楚。
- 这是基于所给静态材料的低置信度审阅;未执行 CLI、代理工作流或测试。
- 初始化、扩展下载和代理实施可能修改项目文件或访问网络;对非空目录使用 --force 前应审阅变更并备份。
- 认证配置可能包含高权限令牌;材料建议通过环境变量提供令牌并限制 auth.json 文件权限。
常见问题
使用 Spec Kit 是否需要先采用 SDD?
它支持哪些编码代理?
如何判断 bug 修复是否成功?
.specify/bugs/<slug>/ 中的报告;只有最终 verdict 为 verified 才表示修复成功,partial 或 failed 不代表已验证解决。评估结果为 needs-clarification 后该怎么做?
.specify/assessments/<slug>/ Markdown 材料来解决未知项,而不是重新运行整个阶段。