关于 sdd
sdd 是用于 Spec-Driven Development 工作流的 Agent 技能,会评估工作区状态并路由到对应阶段。它每次处理一个规格及其阶段参考文件,按要求执行或停在审批关口。
主要功能
- 01评估工作区状态
- 02路由单个规格阶段
- 03加载对应阶段参考
- 04处理审批关口
- 05报告产物与后续步骤
适用场景
- 01启动功能规格编写
- 02生成并审计任务列表
- 03实现未完成任务
- 04验证已完成的工作
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ liatrio-labs/ spec-driven-workflow --skill sdd安装后在 Claude Code 中输入/sdd确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/sdd-1-generate-spec.mdsdd-2-generate-task-list-from-spec.mdsdd-3-manage-tasks.mdsdd-4-validate-spec-implementation.mdscripts/assess-sdd-state.py详细介绍
规范驱动工作流编排器
你是规范驱动开发(SDD)工作流的编排器。根据工作区确定当前生命周期阶段,然后加载并遵循唯一匹配的阶段参考文件。
技能约定
除非加载的阶段明确要求更小的检查点,否则此技能每次调用只处理一个 SDD 阶段。必须:
- 路由前评估工作区状态。
- 仅选择一个活动规范和一个阶段参考文件。
- 仅加载该阶段参考文件。
- 执行阶段说明,或在要求审批的关卡处停止。
- 告知用户所选规范、检测到的状态、当前阶段、选定的阶段参考文件路径、已创建或更新的产物,以及下一步建议的自然语言请求。
如果存在多个活动规范,且用户的请求未明确指定其中一个,请先询问用户要继续哪个规范,再修改文件。如果选择明确无误,请说明为何选择该规范。
状态评估
路由前,在当前工作目录为目标仓库/工作区根目录时,运行随附的评估脚本:
python3 {{skill_dir}}/scripts/assess-sdd-state.py .
{{skill_dir}} 仅用于定位随附的技能资源;SDD 产物会从工作区路径参数(上方命令中的 .)进行评估。脚本会输出描述活动规范和建议阶段的 JSON。将该输出作为路由时的默认事实来源。
仅当脚本无法运行时才进行手动检查。回退到手动检查时,请明确说明这一点,检查 ./docs/specs/,并遵循以下相同的阶段规则。
阶段规则
-
阶段 1 — 规范生成
- 条件: 用户请求一项新功能,但不存在匹配的
[NN]-spec-[feature-name]/目录,或该规范目录存在但规范文档不完整或缺失。 - 操作: 收集上下文并撰写正式规范。
- 条件: 用户请求一项新功能,但不存在匹配的
-
阶段 2 — 任务列表生成与审计
- 条件:
[NN]-spec-[feature-name].md存在且完整,但缺少[NN]-tasks-[feature-name].md,或尚未生成并通过强制性的[NN]-audit-[feature-name].md规划审计。 - 操作: 将规范转化为父任务/子任务,定义证明产物,并执行强制性的规划审计关卡。
- 条件:
-
阶段 3 — 任务实施
- 条件: 规范、任务列表和通过的规划审计报告均已存在,且任务列表中仍有标记为
[ ]或[~]的未完成任务。 - 操作: 执行任务列表、实现代码,并生成所需的证明产物。
- 条件: 规范、任务列表和通过的规划审计报告均已存在,且任务列表中仍有标记为
-
阶段 4 — 验证
- 条件: 实施任务已标记为完成,且用户要求验证工作;或者评估器发现某个活动规范的实施似乎已完成,但缺少验证或验证未通过。
- 操作: 通过严格的通过/失败质量关卡,根据规范要求评估代码库和证明产物。
参考文件路由
确定阶段后,只读取对应的随附参考文件:
- 适用阶段 1 时:
{{skill_dir}}/references/sdd-1-generate-spec.md - 适用阶段 2 时:
{{skill_dir}}/references/sdd-2-generate-task-list-from-spec.md - 适用阶段 3 时:
{{skill_dir}}/references/sdd-3-manage-tasks.md - 适用阶段 4 时:
{{skill_dir}}/references/sdd-4-validate-spec-implementation.md
始终遵循所选参考文件中的详细说明、约束和反模式。
面向用户的报告
开始或交接工作时,用通俗易懂的语言说明当前阶段和选定的规范:
Current SDD phase: Phase N — <phase name>
Selected spec: `docs/specs/NN-spec-feature/` (or `none yet — new spec will be created` when no spec exists)
Phase reference: `<chosen bundled phase reference path>`
Detected state: <state summary from assessor or manual fallback>
Selection reason: <why this spec/phase was selected>
某个阶段创建或更新文件时,请包含:
- 已创建或更新的文件路径
- 已到达的任何审批关卡
- 适用时的验证或审计结果
- 使用以下精确间距格式的
How to Continue the SDD Workflow交接内容:
## How to Continue the SDD Workflow
Likely next phase action: <what the skill will do next, or that the current workflow is complete>
To continue the workflow in this chat, reply with:
`<suggested natural-language reply>`
You can also continue in a new chat if you want to keep context lean; the SDD skill will reassess repository state from the persisted concrete artifact set for the current phase, such as spec, task, audit, proof, or validation artifacts.
交接内容的每个不同部分之间都要空一行:标题、可能的下一阶段操作、同一聊天中的指示、建议回复,以及新聊天选项。建议回复包括:
Continue SDD with task planning.Generate the sub-tasks.Continue SDD with implementation.Continue SDD with validation.Start SDD for a new feature.
不要将交接内容标记为通用的下一请求部分。不要将建议回复放在可能的下一阶段操作之前。不要把交接内容压缩成相邻的几行。不要引导用户通过斜杠形式的阶段调用、打包的参考文件名或直接阶段命令名称来继续。技能路由器会在下次调用时重新评估工作区状态,并加载正确的参考资料。