用途
Spec-Kit Skill 是 GitHub Spec-Kit 的集成技能,用于基于“宪法(constitution)”的规范驱动开发(spec-driven development)。它引导开发者按照结构化的 7 阶段工作流完成功能开发,从确立项目治理原则开始,到最终执行实现。
主要能力
该技能提供 7 个阶段的工作流:
- Constitution(宪法):建立治理所有开发决策的基础原则,创建 .specify/memory/constitution.md,包含项目价值观与原则、技术标准、决策框架、代码质量期望和架构指南。
- Specify(规范):定义需要构建什么以及为什么,避免涉及具体技术。创建功能规范文件,包含问题陈述、用户故事、验收标准、非功能需求、成功指标和范围外内容。
- Clarify(澄清):通过有针对性的提问解决规范中未充分说明的区域,每轮最多 5 个问题,聚焦影响架构的决策。
- Plan(计划):基于澄清后的规范创建技术实现策略,包括技术栈、架构、数据模型、API 契约、研究文档和快速开始指南。
- Tasks(任务):生成按依赖排序的可执行实现任务,每个任务引用需求编号、列出依赖关系,并可在 1-4 小时内完成。
- Analyze(分析):跨制品一致性与质量验证(只读),检查需求覆盖、宪法对齐、技术一致性和任务依赖。
- Implement(实现):系统化执行任务,遵循依赖关系和测试驱动开发。
存储方面,该技能在 .specify/specs/NNN-feature-name/ 目录下创建带编号的功能文件。
使用方式
前置条件
需要 Python 3.11+、Git 和 uv 包管理器。
检查 CLI 是否安装
command -v specify || echo "Not installed"
安装
持久安装(推荐):
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
一次性使用:
uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME>
项目初始化
在当前目录初始化:
specify init . --ai claude
初始化新项目:
specify init <project-name> --ai claude
可用选项包括 --force(覆盖非空目录)、--script ps(生成 PowerShell 脚本,Windows)、--no-git(跳过 Git 初始化)。
检测项目状态
技能会检测 CLI 是否安装、项目是否初始化、当前功能目录以及当前所处阶段。
各阶段脚本
- Specify 阶段:
.specify/scripts/bash/create-new-feature.sh --json "feature-name",输出 BRANCH_NAME 和 SPEC_FILE。 - Plan 阶段:
.specify/scripts/bash/setup-plan.sh --json,输出 FEATURE_SPEC、IMPL_PLAN、SPECS_DIR、BRANCH。 - Tasks 阶段:
.specify/scripts/bash/check-prerequisites.sh --json [--require-tasks] [--include-tasks],输出 FEATURE_DIR 和 AVAILABLE_DOCS。
适用场景
- 在项目中设置 spec-kit
- 创建基于宪法的功能规范
- 使用 .specify/ 目录
- 遵循 GitHub spec-kit 工作流
- 宪法驱动开发
限制
- 需要 Python 3.11+、Git 和 uv 包管理器。
- 任务生成排除部署任务、用户培训、营销活动和非编码工作。
- Analyze 阶段为只读,不修改文档。
- 关于收费、价格、平台支持范围等具体信息,资料中暂未提供。