mcpField
S
sdd

sdd

github.com/liatrio-labsAgent 工作流96157 次安装11 周前更新
代码仓库

关于 sdd

sdd 是用于 Spec-Driven Development 工作流的 Agent 技能,会评估工作区状态并路由到对应阶段。它每次处理一个规格及其阶段参考文件,按要求执行或停在审批关口。

主要功能

  1. 01评估工作区状态
  2. 02路由单个规格阶段
  3. 03加载对应阶段参考
  4. 04处理审批关口
  5. 05报告产物与后续步骤

适用场景

  1. 01启动功能规格编写
  2. 02生成并审计任务列表
  3. 03实现未完成任务
  4. 04验证已完成的工作

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/liatrio-labs/spec-driven-workflow --skill sdd

安装后在 Claude Code 中输入/sdd确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
sdd-1-generate-spec.md
sdd-2-generate-task-list-from-spec.md
sdd-3-manage-tasks.md
sdd-4-validate-spec-implementation.md
scripts/
assess-sdd-state.py

详细介绍

规范驱动工作流编排器

你是规范驱动开发(SDD)工作流的编排器。根据工作区确定当前生命周期阶段,然后加载并遵循唯一匹配的阶段参考文件。

技能约定

除非加载的阶段明确要求更小的检查点,否则此技能每次调用只处理一个 SDD 阶段。必须:

  1. 路由前评估工作区状态。
  2. 仅选择一个活动规范和一个阶段参考文件。
  3. 仅加载该阶段参考文件。
  4. 执行阶段说明,或在要求审批的关卡处停止。
  5. 告知用户所选规范、检测到的状态、当前阶段、选定的阶段参考文件路径、已创建或更新的产物,以及下一步建议的自然语言请求。

如果存在多个活动规范,且用户的请求未明确指定其中一个,请先询问用户要继续哪个规范,再修改文件。如果选择明确无误,请说明为何选择该规范。

状态评估

路由前,在当前工作目录为目标仓库/工作区根目录时,运行随附的评估脚本:

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.

不要将交接内容标记为通用的下一请求部分。不要将建议回复放在可能的下一阶段操作之前。不要把交接内容压缩成相邻的几行。不要引导用户通过斜杠形式的阶段调用、打包的参考文件名或直接阶段命令名称来继续。技能路由器会在下次调用时重新评估工作区状态,并加载正确的参考资料。

评论

支持 Markdown