spec-driven-development
在编码前创建规格说明。适用于开始新项目、功能或重大变更且尚无规格说明时。适用于需求不清晰、含糊不清或仅作为模糊想法存在时。适用于单个需求横跨多个可独立测试的能力,需要在制定规格前将其分解为模块能力图的情况。
技能说明addyosmani/agent-skills
在编码前创建规格说明。适用于开始新项目、功能或重大变更且尚无规格说明时。适用于需求不清晰、含糊不清或仅作为模糊想法存在时。适用于单个需求横跨多个可独立测试的能力,需要在制定规格前将其分解为模块能力图的情况。
技能简介
本技能在编写任何代码之前,先创建结构化的规格说明(Spec)。它定义了“要构建什么”、“为什么构建”以及“如何判断完成”,作为工程师与 AI Agent 之间共享的事实来源,避免在需求模糊时凭猜测编码。
使用场景
- 启动新项目、新功能或重大变更,且尚无规格说明
- 需求含糊不清、不完整,或仅存在于模糊的想法阶段
- 变更涉及多个文件或模块,需要明确边界与依赖关系
- 即将做出架构决策时
- 实现耗时超过 30 分钟的任务
不适用场景: 单行修复、错别字修正,或需求明确且自包含的改动。
使用方法
本技能以 Agent Skill 形式使用。在支持的 Agent 环境中(如 Claude Code),通过 skills add 命令或手动将技能目录加入 Skills 目录即可启用。
启用后,Agent 会遵循分阶段的门控工作流(Gated Workflow):
SPECIFY → PLAN → TASKS → IMPLEMENT
每个阶段完成后由人类工程师评审,通过后才进入下一阶段。整个流程由四个阶段组成,其中 Phase 0(范围检查)仅在单个需求包含多个可独立测试的能力时激活。
Phase 0 — 范围检查: 当一个需求捆绑了多个独立能力(如身份认证、计费、通知、报表)时,先提出模块能力图,列出模块表与构建顺序,经人类评审后再为每个模块单独走完整的四阶段流程。
Phase 1 — 规格说明: 先列出所有假设并要求人类确认,然后编写覆盖六个核心领域的规格文档:目标(Objective)、命令(Commands)、项目结构(Project Structure)、代码风格(Code Style)、测试策略(Testing Strategy)、边界(Boundaries)。
注意事项
- 不要跳过规格说明直接编码。没有规格的代码就是猜测,务必在每个阶段完成后等待人类评审确认。
- 能力图与模块规格需要人类评审通过后才可继续推进,模块 ID 一旦确定不要中途改名。
- 不适用于单行修复、错字修正等需求明确的小改动。