GitHub Spec‑Kit 集成,用于规格驱动开发(SDD)。使用场景:(1) 初始化新的 Spec‑Kit 项目;(2) 创建/更新项目章程,...
Spec-Kit——Spec-Driven Development (SDD).
功能概述
Spec-Kit——Spec-Driven Development (SDD).是一项面向实际任务的技能,主要用于GitHub QQ(v0.4.3),QQAI 是一项面向实际任务的技能,主要用于Spec-Kit revers.;它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
- 实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
使用与执行
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
结果检查与注意事项
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Spec-Kit — 规格驱动开发(SDD)
GitHub 官方开源工具包(v0.4.3),将规格驱动开发引入 AI Agent 工作流程。 Repo: https://github.com/github/spec-kit | License: MIT
什么是规格驱动开发?
Spec-Kit 颠覆了传统的 AI 编码范式:规格为一等公民,代码是派生产物。 它摒弃了直接向 AI 发送模糊提示的“氛围编码”(vibe coding),转而采用结构化流水线:
Constitution → Specify → Clarify → Plan → Tasks → Implement
每个阶段均有明确的输入、输出及质量关卡(quality gates)。
前置条件
CLI 安装
# 安装 Specify CLI(需 uv) uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.4.3 # 验证安装 specify check
系统要求:Python 3.11+、uv、Git,以及一个受支持的 AI agent。
Agent 支持
Spec-Kit 支持 30+ 种 AI agent。我们技术栈中关键的几个如下:
| Agent | 集成方式 | 说明 |
|---|---|---|
| Claude Code | /speckit.* 斜杠命令 |
.claude/commands/speckit.*.md |
| Gemini CLI | .gemini/commands/speckit.*.toml |
标准集成 |
| opencode | /speckit.* 斜杠命令 |
标准集成 |
| Codex CLI | --ai-skills 标志 |
技能文件位于 .agents/skills/ |
| GitHub Copilot | /speckit.* 斜杠命令 |
VS Code 原生支持 |
工作流命令
核心流水线
| 步骤 | 命令 | 输出 | 适用场景 |
|---|---|---|---|
| 0. 初始化 | specify init |
.specify/ 目录 + 相关命令文件 |
新项目启动时 |
| 1. Constitution | /speckit.constitution |
memory/constitution.md |
新项目建立或原则更新时 |
| 2. Specify | /speckit.specify |
specs/ |
开始新功能开发时 |
| 3. Clarify | /speckit.clarify |
更新 spec.md 中的澄清项 |
规划前 |
| 4. Plan | /speckit.plan |
specs/ + 研究文档 |
规格经批准后 |
| 5. Tasks | /speckit.tasks |
specs/ |
计划验证通过后 |
| 6. Implement | /speckit.implement |
代码变更 | 任务已定义完毕 |
可选命令
| 命令 | 用途 | 适用场景 |
|---|---|---|
/speckit.analyze |
跨工件一致性与覆盖率分析 | 最终评审前 |
/speckit.checklist |
质量检查清单(规格的单元测试) | 验证完整性时 |
/speckit.taskstoissues |
将任务转换为 GitHub Issues | 需同步项目看板时 |
CLI 参考手册
specify init
# 新项目 specify init my-project --ai claude # 现有目录 specify init . --ai claude --force # 启用 Codex 技能 specify init my-project --ai codex --ai-skills # 跳过 git init specify init my-project --ai claude --no-git # 使用时间戳编号分支 specify init my-project --ai claude --branch-numbering timestamp
specify check
校验以下内容:git 及所有在 AGENT_CONFIG 中配置的 CLI agent。
扩展与预设管理
# 扩展 specify extension search # 浏览可用扩展 specify extension add# 安装扩展 # 预设 specify preset search # 浏览可用预设 specify preset add # 安装预设
项目结构
执行 specify init 后生成的目录结构如下:
project-root/ ├── .specify/ │ ├── memory/ │ │ └── constitution.md # 项目原则(Step 1) │ ├── scripts/ │ │ ├── check-prerequisites.sh │ │ ├── common.sh │ │ ├── create-new-feature.sh # 创建特性分支 + spec 目录 │ │ ├── setup-plan.sh │ │ └── update-claude-md.sh │ ├── templates/ │ │ ├── constitution-template.md │ │ ├── spec-template.md │ │ ├── plan-template.md │ │ └── tasks-template.md │ ├── extensions/ │ │ ├── catalog.json │ │ └──/templates/ │ └── presets/ │ └── /templates/ ├── specs/ │ └── 001-feature-name/ │ ├── spec.md # 功能规格(Step 2) │ ├── plan.md # 技术方案(Step 4) │ ├── research.md # Phase 0 研究输出 │ ├── data-model.md # 数据模型设计 │ ├── quickstart.md # 快速入门指南 │ ├── contracts/ # API 合约 │ │ ├── api-spec.json │ │ └── signalr-spec.md │ └── tasks.md # 任务拆解(Step 5) ├── .claude/commands/ │ ├── speckit.constitution.md │ ├── speckit.specify.md │ ├── speckit.plan.md │ ├── speckit.tasks.md │ └── speckit.implement.md └── [source code]模板详情
Constitution(
memory/constitution.md)定义项目的不可协商原则。所有规格必须符合该文件。
结构如下:
- 核心原则(I、II、III…)—— 每条均含清晰描述
- 附加约束—— 技术栈、合规性、安全性等要求
- 开发工作流—— 代码审查机制、测试关卡等
- 治理机制—— 修订规则、合规性验证方式
仅 CEO/CTO 可修订。版本号格式:
X.Y.Z | Ratified: YYYY-MM-DDSpec(
spec.md)关键章节包括:
- 特性分支名:
NNN-feature-name- 用户场景与测试—— 按优先级排序的用户故事(P1、P2、P3),每条均可独立测试
- 边界情况—— 边界条件、错误场景
- 需求—— 功能性需求 + 非功能性需求
- 评审与验收清单—— 验证关卡
Plan(
plan.md)
- 摘要—— 主要需求 + 技术路径
- 技术上下文—— 编程语言、依赖项、存储、测试框架、平台环境
- Constitution 校验—— 必须在 Phase 0 前通过
- 项目结构—— 文件树
- 实现细节—— 分阶段实现说明
Tasks(
tasks.md)格式:
[ID] [P?] [Story] Description
[P]= 可并行执行[Story]= 关联的用户故事(US1、US2…)- 按用户故事组织,支持独立实现
扩展与预设
模板解析优先级(从高到低)
项目本地覆盖项 (.specify/templates/overrides/) ↓ 预设 (.specify/presets//templates/) ↓ 扩展 (.specify/extensions//templates/) ↓ 核心模板 (.specify/templates/) 值得关注的社区扩展
扩展 用途 类型 spec-kit-jira 将规格同步至 Jira Epic / Story integration spec-kit-verify 校验代码与规格工件的一致性 code(只读) spec-kit-cleanup 实施后的质量关卡 code(读写) spec-kit-review 全面代码评审 code(只读) spec-kit-archive 归档已合并的功能 docs(读写) spec-kit-sync 检测并修复规格与代码间的漂移 docs(读写) spec-kit-doctor 项目健康诊断 visibility(只读) spec-kit-maqa-ext 多 agent QA 协调器 process 值得关注的预设
预设 用途 pirate-speak 趣味本地化演示 aide-in-place 原地技术迁移 Paperclip 集成
通过 API 重新指派(请使用此方式,而非 shell 脚本)
PAPERCLIP_API="http://localhost:3100/api" # 按 agent ID 重新指派 curl -s -X PATCH "$PAPERCLIP_API/issues/$ISSUE_ID" -H "Content-Type: application/json" -d "{"assigneeAgentId": "$TARGET_AGENT_ID"}" # 在 issue 下评论 curl -s -X POST "$PAPERCLIP_API/issues/$ISSUE_ID/comments" -H "Content-Type: application/json" -d "{"body": "已完成工作的描述"}"Issue 生命周期
Dev → implement → reassign code-reviewer → CTO review → reassign qa → PM confirms → done Bug: Dev → fix → reassign cto → reassign qa → done最佳实践
- 先写规格,再写代码—— 抵制“先写代码,后补文档”的倾向
- Constitution 即法律—— 所有 PR 必须验证其合规性
- 用户故事需分级优先—— P1 即 MVP,每条故事均可独立测试
- 保持规格持续有效—— 实现发生变更时及时更新规格,切勿视而不见
- 任务粒度合理—— 每个任务耗时不超过 2–4 小时,大任务应拆分
- 善用扩展—— 安装 verify + cleanup 扩展以启用自动化质量关卡
- 实施前务必验证—— 运行
/speckit.analyze+/speckit.checklist- 规划前先澄清——
/speckit.clarify可显著减少返工常见陷阱
- 跳过 Constitution 步骤 → Agent 做出不一致决策
- 规格过于笼统 → AI 幻觉生成功能或遗漏边界情况
- 省略 Clarify 步骤 → Plan 包含错误假设
- 任务过大 → AI 上下文丢失,产出有缺陷代码
- 变更后未更新规格 → 规格与代码出现漂移
- 规划阶段忽略 Constitution → 架构违规
升级
uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git@v0.4.3参考资料
- 官方仓库:https://github.com/github/spec-kit
- 方法论深度解析:仓库内
spec-driven.md- GitHub 博客:https://github.blog/ai-and-ml/generative-ai/spec-driven-development-with-ai-get-started-with-a-new-open-source-toolkit/
- 扩展目录:
extensions/catalog.community.json- 预设目录:
presets/catalog.community.json- Addy Osmani 的规格撰写指南:https://addyosmani.com/blog/good-spec/
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章