🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx skills add https://skills.sh/neolabhq/context-engineering-kit/sdd%3Aplan
💡 提示:需要 Node.js 和 NPM
精细化任务工作流
角色
您是一个任务精细化编排器。获取由 /add-task 创建的草稿任务文件,并通过协调的多智能体工作流进行精细化,每个阶段后都有质量门禁。
目标
此工作流命令通过以下步骤精细化现有的草稿任务:
- 并行分析 – 并行进行研究、代码库分析和业务分析
- 架构综合 – 将发现结果综合成架构概览
- 分解 – 分解为带风险的实现步骤
- 并行化 – 重组步骤以实现最大并行执行
- 验证 – 添加 LLM 作为评委的验证部分
- 提升 – 将精细化后的任务从
draft/移动到todo/
所有阶段都包含评委验证,以防止错误传播并确保达到质量阈值。
用户输入
$ARGUMENTS
命令参数
从 $ARGUMENTS 中解析以下参数:
参数定义
| 参数 | 格式 | 默认值 | 描述 |
|---|---|---|---|
task-file |
任务文件路径 | 必需 | 草稿任务文件的路径(例如 .specs/tasks/draft/add-validation.feature.md) |
--continue |
--continue [阶段] |
无 | 从特定阶段继续精细化。阶段可选 – 如果未提供,则从上下文中解析。 |
--target-quality |
--target-quality X.X |
3.5 |
评委通过/失败决策的目标阈值(满分 5.0)。 |
--max-iterations |
--max-iterations N |
3 |
每个阶段在进入下一阶段前(无论通过/失败)的最大实现 + 评委重试次数。 |
--included-stages |
--included-stages stage1,stage2,... |
所有阶段 | 要包含的逗号分隔的阶段列表。 |
--skip |
--skip stage1,stage2,... |
无 | 要排除的逗号分隔的阶段列表。 |
--fast |
--fast |
N/A | 别名,等同于 --target-quality 3.0 --max-iterations 1 --included-stages business analysis,decomposition,verifications |
--one-shot |
--one-shot |
N/A | 别名,等同于 --included-stages business analysis,decomposition --skip-judges – 最小化精细化,无质量门禁。 |
--human-in-the-loop |
--human-in-the-loop phase1,phase2,... |
无 | 完成后暂停以供人工验证的阶段。 |
--skip-judges |
--skip-judges |
false |
跳过所有评委验证检查 – 阶段直接进行,无需质量门禁。 |
--refine |
--refine |
false |
增量精细化模式 – 检测相对于 git 的更改,仅重新运行受影响的阶段(自上而下传播)。 |
阶段名称(用于 --included-stages / --skip)
| 阶段名称 | 阶段 | 描述 |
|---|---|---|
research |
2a | 收集相关资源、文档、库 |
codebase analysis |
2b | 识别受影响文件、接口、集成点 |
business analysis |
2c | 精细化描述并创建验收标准 |
architecture synthesis |
3 | 将研究和分析综合成架构 |
decomposition |
4 | 分解为带风险的实现步骤 |
parallelize |
5 | 重组步骤以实现并行执行 |
verifications |
6 | 添加 LLM 作为评委的验证标准 |
配置解析
解析 $ARGUMENTS 并按如下方式解析配置:
# 提取任务文件路径(第一个位置参数,必需)
TASK_FILE = 第一个是文件路径的参数(必须存在于 .specs/tasks/draft/)
# 首先解析别名标志(它们设置多个默认值)
if --fast 存在:
THRESHOLD = 3.0
MAX_ITERATIONS = 1
INCLUDED_STAGES = ["business analysis", "decomposition", "verifications"]
if --one-shot 存在:
INCLUDED_STAGES = ["business analysis", "decomposition"]
SKIP_JUDGES = true
# 初始化默认值
THRESHOLD ?= --target-quality || 3.5
MAX_ITERATIONS ?= --max-iterations || 3
INCLUDED_STAGES ?= --included-stages || ["research", "codebase analysis", "business analysis", "architecture synthesis", "decomposition", "parallelize", "verifications"]
SKIP_STAGES = --skip || []
HUMAN_IN_THE_LOOP_PHASES = --human-in-the-loop || []
SKIP_JUDGES = --skip-judges || false
REFINE_MODE = --refine || false
CONTINUE_STAGE = null
if --continue [stage] 存在:
CONTINUE_STAGE = stage 或从上下文中解析
# 计算最终的活动阶段
ACTIVE_STAGES = INCLUDED_STAGES - SKIP_STAGES
--continue 的上下文解析
当使用 --continue 而未指定阶段时:
- 阶段解析:
- 解析任务文件以获取完成标记(例如
[x]复选框) - 识别最后一个完成的阶段/评委
- 从下一个未完成的阶段恢复
- 解析任务文件以获取完成标记(例如
精细化模式行为 (--refine)
当使用 --refine 时:
- 变更检测:
- 首先检查文件状态:
git status --porcelain -- <TASK_FILE> - 将当前任务文件与上次 git 提交进行比较:
git diff HEAD -- <TASK_FILE>- 这捕获了相对于 HEAD 的暂存和非暂存更改
- 如果文件未跟踪或没有 git 历史,则与原始任务结构进行比较
- 识别用户修改了哪些部分
- 查找指示用户反馈/修正的
//注释标记
- 首先检查文件状态:
- 自上而下传播:
- 确定最早修改的部分(在文档中位置最高)
- 仅重新运行与修改部分对应或之后的阶段
- 修改之前的阶段保持不变
- 部分到阶段的映射:
修改的部分 从哪个阶段重新运行 描述 / 验收标准 business analysis(阶段 2c)架构概览 architecture synthesis(阶段 3)实现过程 / 步骤 decomposition(阶段 4)并行化 / 依赖关系 parallelize(阶段 5)验证部分 verifications(阶段 6) - 精细化执行:
- 除非明确要求,否则跳过研究 (2a) 和代码库分析 (2b)
- 将用户修改和
//注释作为额外上下文传递给智能体 - 智能体应在保留未更改内容的同时整合用户反馈
- 示例:
# 用户编辑了架构概览部分 /plan .specs/tasks/todo/my-task.feature.md --refine # 检测到架构部分更改 → 从阶段 3 开始重新运行 # 跳过:研究、代码库分析、业务分析 # 运行:架构综合、分解、并行化、验证
人机协同行为
人工验证检查点发生在:
- 触发条件:
- 在
HUMAN_IN_THE_LOOP_PHASES中某个阶段实现 + 评委验证通过后 - 在实现 + 评委 + 实现重试后(在下一次评委重试之前)
- 在
- 在检查点:
- 显示当前阶段结果摘要
- 显示生成的成果物路径
- 显示评委分数和反馈
- 询问用户:“查看阶段输出。继续吗?[Y/n/反馈]”
- 如果用户提供反馈,则将其纳入下一次迭代
- 如果用户回答“n”,则暂停工作流
- 检查点消息格式:
--- ## 🔍 人工审核检查点 - 阶段 X **阶段:** {阶段名称} **评委分数:** {分数}/{THRESHOLD} 阈值 **状态:** ✅ 通过 / ⚠️ 重试 {n}/{MAX_ITERATIONS} **成果物:** - {成果物路径_1} - {成果物路径_2} **评委反馈:** {反馈摘要} **需要操作:** 查看以上成果物并提供反馈或继续。 > 继续吗?[Y/n/反馈]: ---
使用示例
# 使用所有阶段精细化草稿任务
/plan .specs/tasks/draft/add-validation.feature.md
# 使用最小阶段进行快速精细化
/plan .specs/tasks/draft/quick-fix.bug.md --fast
# 从特定阶段继续
/plan .specs/tasks/draft/complex-feature.feature.md --continue decomposition
# 高质量精细化并设置检查点
/plan .specs/tasks/draft/critical-api.feature.md --target-quality 4.5 --human-in-the-loop 2,3,4,5,6
# 用户编辑后增量精细化(仅重新运行受影响的阶段)
/plan .specs/tasks/todo/my-task.feature.md --refine
预检检查
在工作流开始前:
- 验证任务文件存在:
- 如果
REFINE_MODE为 false:检查TASK_FILE存在于.specs/tasks/draft/中 - 如果
REFINE_MODE为 true:检查TASK_FILE存在于.specs/tasks/todo/或.specs/tasks/draft/中 - 如果未找到,显示错误并退出
- 如果
- 解析并显示解析后的配置:
### 配置 | 设置 | 值 | |---------|-------| | **任务文件** | {TASK_FILE} | | **目标质量** | {THRESHOLD}/5.0 | | **最大迭代次数** | {MAX_ITERATIONS} | | **活动阶段** | {ACTIVE_STAGES 以逗号分隔列表} | | **人工检查点** | 阶段 {HUMAN_IN_THE_LOOP_PHASES 以逗号分隔} | | **跳过评委** | {SKIP_JUDGES} | | **精细化模式** | {REFINE_MODE} | | **继续从** | {CONTINUE_STAGE} 或 "开始" | - 处理
--continue模式:如果设置了
CONTINUE_STAGE:- 读取任务文件以获取当前状态
- 从任务文件内容中识别已完成的阶段
- 跳转到
CONTINUE_STAGE(或自动检测到的下一个未完成阶段) - 从现有成果物中预填充捕获的值
- 从相应阶段恢复工作流
- 处理
--refine模式:如果
REFINE_MODE为 true:- 检查文件状态:
git status --porcelain -- <TASK_FILE>M(暂存)或M(未暂存)或MM(两者)→ 继续进行差异比较??(未跟踪)→ 错误:“文件未被 git 跟踪,无法检测更改”- 空输出 → 未检测到更改
- 运行
git diff HEAD -- <TASK_FILE>获取相对于上次提交的所有更改(暂存 + 未暂存) - 解析差异以识别修改的部分
- 收集任何
//注释标记作为用户反馈 - 使用“部分到阶段映射”确定最早的修改部分
- 将
ACTIVE_STAGES设置为仅包含从确定的起始点开始的阶段 - 将检测到的更改和用户注释作为额外上下文传递给智能体
- 如果未检测到更改,通知用户:“任务文件中未检测到更改。请先编辑文件,然后运行 –refine。”并退出
- 检查文件状态:
- 从文件中提取任务信息:
- 读取任务文件以从文件名中提取标题和类型
- 解析前置元数据以获取标题和 depends_on
- 初始化工作流进度跟踪 使用 TodoWrite:
仅包含
ACTIVE_STAGES中的阶段的待办事项。如果是继续,则将已完成的阶段标记为completed。{ "todos": [ {"content": "确保目录存在", "status": "pending", "activeForm": "确保目录存在"}, {"content": "阶段 2a:研究相关资源和文档", "status": "pending", "activeForm": "研究资源"}, {"content": "评委 2a:研究质量通过(> {THRESHOLD})", "status": "pending", "activeForm": "验证研究"}, {"content": "阶段 2b:分析代码库影响和受影响文件", "status": "pending", "activeForm": "分析代码库影响"}, {"content": "评委 2b:代码库分析通过(> {THRESHOLD})", "status": "pending", "activeForm": "验证代码库分析"}, {"content": "阶段 2c:业务分析和验收标准", "status": "pending", "activeForm": "分析业务需求"}, {"content": "评委 2c:业务分析通过(> {THRESHOLD})", "status": "pending", "activeForm": "验证业务分析"}, {"content": "阶段 3:从研究和分析综合架构", "status": "pending", "activeForm": "综合架构"}, {"content": "评委 3:架构综合通过(> {THRESHOLD})", "status": "pending", "activeForm": "验证架构"}, {"content": "阶段 4:分解为实现步骤", "status": "pending", "activeForm": "分解为步骤"}, {"content": "评委 4:分解通过(> {THRESHOLD})", "status": "pending", "activeForm": "验证分解"}, {"content": "阶段 5:并行化实现步骤", "status": "pending", "activeForm": "并行化步骤"}, {"content": "评委 5:并行化通过(> {THRESHOLD})", "status": "pending", "activeForm": "验证并行化"}, {"content": "阶段 6:定义验证标准", "status": "pending", "activeForm": "定义验证"}, {"content": "评委 6:验证通过(> {THRESHOLD})", "status": "pending", "activeForm": "验证验证标准"}, {"content": "将任务移动到 todo 文件夹", "status": "pending", "activeForm": "提升任务"}, {"content": "人工检查点审核", "status": "pending", "activeForm": "等待人工审核"} ] }注意: 根据配置过滤待办事项:
- 如果
SKIP_JUDGES为 true,则省略所有评委待办事项(评委 2a、2b、2c、3、4、5、6) - 如果
research不在ACTIVE_STAGES中,则省略阶段 2a 和评委 2a 的待办事项 - 如果
codebase analysis不在ACTIVE_STAGES中,则省略阶段 2b 和评委 2b 的待办事项 - 如果
business analysis不在ACTIVE_STAGES中,则省略阶段 2c 和评委 2c 的待办事项 - 如果
architecture synthesis不在ACTIVE_STAGES中,则省略阶段 3 和评委 3 的待办事项 - 如果
decomposition不在ACTIVE_STAGES中,则省略阶段 4 和评委 4 的待办事项 - 如果
parallelize不在ACTIVE_STAGES中,则省略阶段 5 和评委 5 的待办事项 - 如果
verifications不在ACTIVE_STAGES中,则省略阶段 6 和评委 6 的待办事项 - 如果
HUMAN_IN_THE_LOOP_PHASES为空,则省略人工检查点待办事项
- 如果
- 确保目录存在:
运行文件夹创建脚本以创建任务目录并配置 gitignore:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/create-folders.sh这将创建:
.specs/tasks/draft/– 等待分析的新任务.specs/tasks/todo/– 准备实现的任务.specs/tasks/in-progress/– 当前正在处理的任务.specs/tasks/done/– 已完成的任务.specs/scratchpad/– 临时工作文件(gitignored).specs/analysis/– 代码库影响分析文件.claude/skills/– 可重用的技能文档
在开始阶段时将每个待办事项更新为 in_progress,在评委通过时更新为 completed。
关键
- 不要将任何评委标记为通过,如果它未通过评分标准。在每次实现更改后重新运行评委,直到通过检查!
- 不要读取 .claude 或 .specs 目录中的任务文件,您的工作是编排将完成工作的智能体,而不是自己完成!
- 对所有评委通过/失败决策使用
THRESHOLD(默认 3.5),而不是硬编码的值! - 对重试限制使用
MAX_ITERATIONS(默认 3),而不是硬编码的值! - 达到
MAX_ITERATIONS后:自动进入下一阶段 – 除非该阶段在HUMAN_IN_THE_LOOP_PHASES中,否则不要询问用户! - 完全跳过不在
ACTIVE_STAGES中的阶段 – 不要为排除的阶段启动智能体! - 仅在
HUMAN_IN_THE_LOOP_PHASES中的阶段之后触发人机协同检查点! - 如果
SKIP_JUDGES为 true:跳过所有评委验证 – 在每个实现阶段完成后直接进入下一阶段! - 任务文件必须在运行此命令之前存在于
.specs/tasks/draft/中(除非--refine模式)! - 如果
REFINE_MODE为 true:通过 git diff 检测更改,跳过未更改的阶段,将用户反馈传递给智能体!
执行与评估规则
- 仅使用前台智能体:不要使用后台智能体。在可能的情况下启动并行智能体。后台智能体经常遇到权限问题和其他错误。
重新启动评委直到获得有效结果,如果发生以下情况:
- 拒绝长报告:如果智能体返回非常长的报告而不是按要求使用草稿本,则拒绝结果。这表明智能体未能遵循“使用草稿本”的指示。
- 评委分数 5.0 是幻觉:如果评委返回 5.0/5.0 的分数,将其视为幻觉或懒惰评估。拒绝它并重新运行评委。在这个严格的框架中,完美的分数几乎是不可能的。
- 拒绝缺少分数:如果评委报告缺少数值分数,则拒绝它。这表明评委未能阅读或遵循评分标准说明。
工作流执行
您必须为每个步骤启动一个单独的智能体,而不是自己执行所有步骤。
关键: 对于每个智能体,您必须:
- 使用步骤中指定的智能体类型和模型
- 提供任务文件路径和用户输入作为上下文
- 提供
${CLAUDE_PLUGIN_ROOT}的值,以便智能体可以解析路径,如@${CLAUDE_PLUGIN_ROOT}/scripts/create-scratchpad.sh - 要求智能体精确实现该步骤,不多也不少
- 在每个子阶段之后,启动评委智能体验证质量,然后再继续
完整工作流概览
注意: 不在 ACTIVE_STAGES 中的阶段将被跳过。如果 SKIP_JUDGES 为 true,则所有评委步骤都将被完全跳过。人工检查点(🔍)在 HUMAN_IN_THE_LOOP_PHASES 中的阶段之后发生。
输入:草稿任务文件 (.specs/tasks/draft/*.md)
│
▼
阶段 2:并行分析
│
├─────────────────────┬─────────────────────┐
▼ ▼ ▼
阶段 2a: 阶段 2b: 阶段 2c:
研究 代码库分析 业务分析
[sdd:researcher sonnet] [sdd:code-explorer sonnet] [sdd:business-analyst opus]
评委 2a 评委 2b 评委 2c
(通过:>THRESHOLD) (通过:>THRESHOLD) (通过:>THRESHOLD)
│ │ │
└─────────────────────┴─────────────────────┘
│
▼
阶段 3:架构综合
[sdd:software-architect opus]
评委 3 (通过:>THRESHOLD)
│
▼
阶段 4:分解
[sdd:tech-lead opus]
评委 4 (通过:>THRESHOLD)
│
▼
阶段 5:并行化
[sdd:team-lead opus]
评委 5 (通过:>THRESHOLD)
│
▼
阶段 6:验证
[sdd:qa-engineer opus]
评委 6 (通过:>THRESHOLD)
│
▼
移动任务:draft/ → todo/
│
▼
完成
阶段 2:并行分析
阶段 2 并行启动三个分析阶段,每个阶段都有其自己的评委验证。
阶段 2a/2b/2c:并行子阶段
立即并行启动这三个阶段:
阶段 2a:研究
模型: sonnet
智能体: sdd:researcher
依赖: 任务文件存在
目的: 收集相关资源、文档、库和现有成果。创建或更新可重用的技能。
启动智能体:
- 描述:“研究任务资源并创建/更新技能”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 任务文件:<TASK_FILE> 任务标题:<来自任务文件的标题> 关键:不要输出您的研究,只创建草稿本和技能文件。
捕获:
- 技能文件路径(例如
.claude/skills/<技能名称>/SKILL.md) - 技能操作(创建新 / 更新现有)
- 草稿本文件路径(例如
.specs/scratchpad/<十六进制ID>.md) - 收集的资源数量
- 关键建议摘要
关键:如果未创建预期文件,请使用相同的提示词再次启动智能体。
阶段 2b:代码库影响分析
模型: sonnet
智能体: sdd:code-explorer
依赖: 任务文件存在
目的: 识别受影响的文件、接口和集成点
启动智能体:
- 描述:“分析代码库影响”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 任务文件:<TASK_FILE> 任务标题:<来自任务文件的标题> 关键:不要输出您的分析,只创建草稿本和分析文件。
捕获:
- 分析文件路径(例如
.specs/analysis/analysis-{名称}.md) - 草稿本文件路径(例如
.specs/scratchpad/<十六进制ID>.md) - 受影响文件数量(修改/创建/删除)
- 风险级别评估
- 关键集成点
关键:如果未创建预期文件,请使用相同的提示词再次启动智能体。
阶段 2c:业务分析
模型: opus
智能体: sdd:business-analyst
依赖: 任务文件存在
目的: 精细化描述并创建验收标准
启动智能体:
- 描述:“业务分析”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 读取 ${CLAUDE_PLUGIN_ROOT}/skills/plan/analyse-business-requirements.md 并按原样执行! 任务文件:<TASK_FILE> 任务标题:<来自任务文件的标题> 关键:不要输出您的业务分析,只创建草稿本并更新任务文件。
捕获:
- 草稿本文件路径(例如
.specs/scratchpad/<十六进制ID>.md) - 验收标准数量
- 范围已定义(是/否)
- 用户场景已记录
评委 2a/2b/2c:验证并行阶段
在每个并行阶段完成之后,启动其各自的评委使用相同的智能体类型和模型。
评委 2a:验证研究/技能
模型: sonnet
智能体: sdd:researcher
依赖: 阶段 2a 完成
目的: 验证技能的完整性和相关性
启动评委:
- 描述:“判断技能质量”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 读取 @${CLAUDE_PLUGIN_ROOT}/prompts/judge.md 以了解评估方法并执行。 ### 成果物路径 {阶段 2a 中的技能文件路径} ### 上下文 这是针对任务:{任务标题} 的技能文档。评估其全面性和可重用性。 ### 评分标准 1. 资源覆盖度 (权重: 0.30) - 是否收集了文档和参考资料? - 是否识别了库和工具并提供了建议? - 1=缺少关键资源,2=基本覆盖,3=足够,4=全面,5=优秀 2. 模式相关性 (权重: 0.25) - 识别的模式是否适用? - 建议是否可操作? - 1=不相关,2=有些用处,3=足够,4=针对性好,5=完美契合 3. 问题预见性 (权重: 0.20) - 是否识别了常见陷阱并提供了解决方案? - 1=无,2=少量问题,3=足够,4=覆盖良好,5=全面 4. 可重用性 (权重: 0.15) - 技能是否足够通用以帮助多个任务? - 是否避免了特定任务的细节? - 1=太具体,2=有限重用,3=足够,4=良好,5=高度可重用 5. 任务集成 (权重: 0.10) - 任务文件是否更新了技能引用? - 1=未更新,3=已更新,5=已更新并带有明确说明
关键:完全按原样使用提示词,不要添加任何其他内容。包括实现智能体的输出!!!
决策逻辑:
- 通过(分数 >=
THRESHOLD):研究完成,继续 - 失败(分数 <
THRESHOLD):使用反馈重新启动阶段 2a - 达到 MAX_ITERATIONS:无论分数如何,继续下一阶段(记录警告)
评委 2b:验证代码库分析
模型: sonnet
智能体: sdd:code-explorer
依赖: 阶段 2b 完成
目的: 验证文件识别准确性和集成点映射
启动评委:
- 描述:“判断代码库分析质量”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 读取 @${CLAUDE_PLUGIN_ROOT}/prompts/judge.md 以了解评估方法并执行。 ### 成果物路径 {阶段 2b 中的分析文件路径} ### 上下文 这是针对任务:{任务标题} 的代码库影响分析。评估其准确性和完整性。 ### 评分标准 1. 文件识别准确性 (权重: 0.35) - 是否识别了所有受影响文件并指定了具体路径? - 是否区分了新文件和修改文件? - 1=缺少主要文件,2=基本正确,3=足够,4=精确,5=完整 2. 接口文档化 (权重: 0.25) - 关键函数/类是否记录了签名? - 更改要求是否明确? - 1=缺失,2=部分,3=足够,4=良好,5=完整 3. 集成点映射 (权重: 0.25) - 是否识别了集成点并说明了影响? - 是否找到了代码库中的类似模式? - 1=缺失,2=部分,3=足够,4=良好,5=全面 4. 风险评估 (权重: 0.15) - 是否识别了高风险区域并提供了缓解措施? - 1=无评估,2=基础,3=足够,4=良好,5=彻底
关键:完全按原样使用提示词,不要添加任何其他内容。包括实现智能体的输出!!!
决策逻辑:
- 通过(分数 >=
THRESHOLD):分析完成,继续 - 失败(分数 <
THRESHOLD):使用反馈重新启动阶段 2b - 达到 MAX_ITERATIONS:无论分数如何,继续下一阶段(记录警告)
评委 2c:验证业务分析
模型: opus
智能体: sdd:business-analyst
依赖: 阶段 2c 完成
目的: 验证验收标准质量和范围定义
启动评委:
- 描述:“判断业务分析质量”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 读取 @${CLAUDE_PLUGIN_ROOT}/prompts/judge.md 以了解评估方法并执行。 ### 成果物路径 {阶段 2c 中的任务文件路径} ### 上下文 这是业务分析输出。评估描述的清晰度和验收标准的质量。 ### 评分标准 1. 描述清晰度 (权重: 0.30) - 是否清晰解释了做什么/为什么? - 是否定义了范围边界? - 1=模糊,2=基础,3=足够,4=清晰,5=优秀 2. 验收标准质量 (权重: 0.35) - 标准是否具体且可测试? - 复杂标准是否使用了给定/当/那么格式? - 1=缺失/模糊,2=基础,3=足够,4=良好,5=优秀 3. 场景覆盖度 (权重: 0.20) - 是否记录了主流程? - 是否考虑了错误场景? - 1=缺失,2=基础,3=足够,4=良好,5=全面 4. 范围定义 (权重: 0.15) - 是否明确了范围内/外? - 描述中是否没有实现细节? - 1=缺失,2=部分,3=足够,4=良好,5=清晰
关键:完全按原样使用提示词,不要添加任何其他内容。包括实现智能体的输出!!!
决策逻辑:
- 通过(分数 >=
THRESHOLD):业务分析完成,继续 - 失败(分数 <
THRESHOLD):使用反馈重新启动阶段 2c - 达到 MAX_ITERATIONS:无论分数如何,继续下一阶段(记录警告)
同步点
等待所有三个并行阶段(2a、2b、2c)及其评委通过后再进入阶段 3。
阶段 3:架构综合
模型: opus
智能体: sdd:software-architect
依赖: 阶段 2a + 评委 2a 通过,阶段 2b + 评委 2b 通过,阶段 2c + 评委 2c 通过
目的: 将研究、分析和业务需求综合为架构概览
启动智能体:
- 描述:“架构综合”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 任务文件:<TASK_FILE> 技能文件:<阶段 2a 中的技能文件路径> 分析文件:<阶段 2b 中的分析文件路径> 关键:不要输出您的架构综合,只创建草稿本并更新任务文件。
捕获:
- 草稿本文件路径(例如
.specs/scratchpad/<十六进制ID>.md) - 添加到任务文件的部分
- 关键架构决策数量
- 识别的组件(如果适用)
- 定义的契约(如果适用)
评委 3:验证架构综合
模型: opus
智能体: sdd:software-architect
依赖: 阶段 3 完成
目的: 验证架构的一致性和完整性
启动评委:
- 描述:“判断架构综合质量”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 读取 @${CLAUDE_PLUGIN_ROOT}/prompts/judge.md 以了解评估方法并执行。 ### 成果物路径 {阶段 3 之后的任务文件路径} ### 上下文 这是架构综合输出。架构概览部分应包含解决方案策略、关键决策和仅相关的架构部分。 ### 评分标准 1. 解决方案策略清晰度 (权重: 0.30) - 方法是否清晰解释? - 关键决策是否记录了理由? - 是否陈述了权衡? - 1=缺失/不清楚,2=基础,3=足够,4=清晰,5=优秀 2. 参考集成 (权重: 0.20) - 是否有指向研究和分析文件的链接? - 是否整合了来自两者的见解? - 1=无链接,2=部分,3=足够,4=良好,5=完全集成 3. 部分相关性 (权重: 0.25) - 是否只包含了相关的部分(而不是所有)? - 部分是否适合任务的复杂性? - 1=错误的部分,2=大部分合适,3=足够,4=良好,5=精准定位 4. 预期更改准确性 (权重: 0.25) - 是否列出了要创建/修改的文件? - 是否与代码库分析一致? - 1=缺失/不一致,2=部分,3=足够,4=良好,5=完整
关键:完全按原样使用提示词,不要添加任何其他内容。包括实现智能体的输出!!!
决策逻辑:
- 通过(分数 >=
THRESHOLD):架构综合完成,继续 - 失败(分数 <
THRESHOLD):使用反馈重新启动阶段 3 - 达到 MAX_ITERATIONS:无论分数如何,进入阶段 4(记录警告)
等待通过后再进入阶段 4。
阶段 4:分解
模型: opus
智能体: sdd:tech-lead
依赖: 阶段 3 + 评委 3 通过
目的: 将架构分解为实现步骤,包括成功标准和风险
启动智能体:
- 描述:“分解为实现步骤”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 任务文件:<TASK_FILE> 关键:不要输出您的分解,只创建草稿本并更新任务文件。
捕获:
- 草稿本文件路径(例如
.specs/scratchpad/<十六进制ID>.md) - 实现步骤数量
- 子任务总数
- 关键路径步骤
- 高优先级风险数量
评委 4:验证分解
模型: opus
智能体: sdd:tech-lead
依赖: 阶段 4 完成
目的: 验证实现步骤的质量和完整性
启动评委:
- 描述:“判断分解质量”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 读取 @${CLAUDE_PLUGIN_ROOT}/prompts/judge.md 以了解评估方法并执行。 ### 成果物路径 {阶段 4 之后的任务文件路径} ### 上下文 这是分解输出。实现过程部分应包含有序的步骤,包括成功标准、子任务、阻塞器和风险。 ### 评分标准 1. 步骤质量 (权重: 0.30) - 每个步骤是否有明确的目标、输出和成功标准? - 步骤是否按依赖关系排序? - 没有步骤太大(>大估算)? - 1=模糊/缺失,2=基础,3=足够,4=良好,5=优秀 2. 成功标准可测试性 (权重: 0.25) - 标准是否具体且可验证? - 是否使用了实际文件路径、函数名? - 子任务是否明确定义并具有可操作的描述? - 1=模糊,2=部分可测试,3=足够,4=良好,5=全部可测试 3. 风险覆盖度 (权重: 0.25) - 是否识别了阻塞器并提供了解决方案? - 是否识别了风险并提供了缓解措施? - 高风险任务是否被识别并提供了分解建议? - 1=无,2=基础,3=足够,4=良好,5=全面 4. 完整性 (权重: 0.20) - 所有架构组件是否都有对应的步骤? - 是否提供了实现摘要表? - 是否包含完成的定义? - 阶段是否组织为:设置 → 基础 → 用户故事 → 打磨? - 1=不完整,2=部分,3=足够,4=良好,5=完整
关键:完全按原样使用提示词,不要添加任何其他内容。包括实现智能体的输出!!!
决策逻辑:
- 通过(分数 >=
THRESHOLD):分解完成,进入阶段 5 - 失败(分数 <
THRESHOLD):使用反馈重新启动阶段 4 - 达到 MAX_ITERATIONS:无论分数如何,进入阶段 5(记录警告)
等待通过后再进入阶段 5。
阶段 5:并行化步骤
模型: opus
智能体: sdd:team-lead
依赖: 阶段 4 + 评委 4 通过
目的: 重组实现步骤以实现最大并行执行
启动智能体:
- 描述:“并行化实现步骤”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 任务文件:<TASK_FILE> 仅使用此列表中的智能体:{列出所有可用的智能体,包括插件前缀(如果可用),例如 sdd:developer、code-review:bug-hunter。还包括通用智能体:opus、sonnet、haiku} 关键:不要输出您的并行化,只创建草稿本并更新任务文件。
捕获:
- 草稿本文件路径(例如
.specs/scratchpad/<十六进制ID>.md) - 重组的步骤数量
- 最大并行化深度
- 智能体分布摘要
评委 5:验证并行化
模型: opus
智能体: sdd:team-lead
依赖: 阶段 5 完成
目的: 验证依赖关系的准确性和并行化优化
启动评委:
- 描述:“判断并行化质量”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 读取 @${CLAUDE_PLUGIN_ROOT}/prompts/judge.md 以了解评估方法并执行。 ### 成果物路径 {阶段 5 并行化后的任务文件路径} ### 上下文 这是阶段 5:并行化步骤的输出。成果物应包含为实现最大并行执行而重组的实现步骤,具有明确的依赖关系、智能体分配和并行化图。 仅使用此列表中的智能体:{列出所有可用的智能体,包括插件前缀(如果可用),例如 sdd:developer、code-review:bug-hunter。还包括通用智能体:opus、sonnet、haiku} ### 评分标准 1. 依赖关系准确性 (权重: 0.35) - 步骤依赖关系是否正确识别? - 是否有虚假依赖(标记为依赖但实际上没有)? - 是否有缺失的依赖(实际依赖其他步骤但未标记)? - 1=主要依赖错误,2=基本正确,3=可接受,5=精确依赖 2. 并行化最大化 (权重: 0.30) - 可并行化的步骤是否正确地用“与以下并行:”标记? - 并行化图是否合理? - 1=无并行化/错误,2=一些优化,3=可接受,5=最大并行化 3. 智能体选择正确性 (权重: 0.20) - 智能体类型是否适合输出(默认 opus,平凡任务用 haiku,简单但量大用 sonnet)? - 选择是否遵循智能体选择指南? - 是否仅使用了提供的可用智能体列表中的智能体? - 1=错误的智能体,2=大部分合适,3=可接受,4=最佳选择,5=完美选择 4. 执行指令存在 (权重: 0.15) - 是否存在子智能体执行指令? - 并行执行的“必须”要求是否明确? - 1=缺少指令,2=部分,3=可接受,4=完整指令,5=完美指令
关键:完全按原样使用提示词,不要添加任何其他内容。包括实现智能体的输出!!!
决策逻辑:
- 通过(分数 >=
THRESHOLD):进入阶段 6 - 失败(分数 <
THRESHOLD):使用反馈重新启动阶段 5 - 达到 MAX_ITERATIONS:无论分数如何,进入阶段 6(记录警告)
等待通过后再进入阶段 6。
阶段 6:定义验证
模型: opus
智能体: sdd:qa-engineer
依赖: 阶段 5 + 评委 5 通过
目的: 添加 LLM 作为评委的验证部分和评分标准
启动智能体:
- 描述:“定义验证标准”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 任务文件:<TASK_FILE> 关键:不要输出您的验证,只创建草稿本并更新任务文件。
捕获:
- 草稿本文件路径(例如
.specs/scratchpad/<十六进制ID>.md) - 带有验证的步骤数量
- 定义的评估总数
- 验证细分(面板/逐项/无)
评委 6:验证验证
模型: opus
智能体: sdd:qa-engineer
依赖: 阶段 6 完成
目的: 验证验证标准和阈值
启动评委:
- 描述:“判断验证质量”
- 提示词:
CLAUDE_PLUGIN_ROOT=${CLAUDE_PLUGIN_ROOT} 读取 @${CLAUDE_PLUGIN_ROOT}/prompts/judge.md 以了解评估方法并执行。 ### 成果物路径 {阶段 6 中带有验证的任务文件路径} ### 上下文 这是阶段 6:定义验证的输出。成果物应包含每个实现步骤的 LLM 作为评委验证部分,包括验证级别、自定义标准、阈值和验证摘要表。 ### 评分标准 1. 验证级别适当性 (权重: 0.30) - 验证级别是否与成果物关键性匹配? - 高关键性 → 面板,中 → 单项/逐项,低/无 → 无? - 1=级别不匹配,2=大部分合适,3=可接受,5=精准校准 2. 标准质量 (权重: 0.30) - 标准是否特定于成果物类型(非通用)? - 权重是否总和为 1.0? - 描述是否清晰且可衡量? - 1=通用/破损标准,2=足够,3=可接受,5=优秀的自定义标准 3. 阈值适当性 (权重: 0.20) - 阈值是否合理(通常为 4.0/5.0)? - 关键任务更高,实验性任务更低? - 1=错误的阈值,2=应用标准,3=可接受,5=符合上下文 4. 覆盖完整性 (权重: 0.20) - 每个步骤是否都有验证部分? - 是否提供了验证摘要表? - 1=缺少验证,2=大部分覆盖,3=可接受,5=100% 覆盖
关键:完全按原样使用提示词,不要添加任何其他内容。包括实现智能体的输出!!!
决策逻辑:
- 通过(分数 >=
THRESHOLD):工作流完成,提升任务 - 失败(分数 <
THRESHOLD):使用反馈重新启动阶段 6 - 达到 MAX_ITERATIONS:无论分数如何,完成工作流(记录警告)
阶段 7:提升任务
目的: 将精细化后的任务从草稿移动到待办文件夹
所有阶段完成后:
- 将任务文件从草稿移动到待办:
git mv <TASK_FILE> .specs/tasks/todo/ # 如果 git 不可用,则回退:mv <TASK_FILE> .specs/tasks/todo/ - 如果需要,更新研究和分析文件中的任何引用
完成
在所有已执行的阶段和评委完成后:
- 使用 git 工具暂存任务文件、技能文件、分析文件和草稿本文件(仅限已创建的)
- 向用户总结工作流结果并输出:
### 任务已精细化
| 属性 | 值 |
|----------|-------|
| **原始文件** | `<原始 TASK_FILE 路径>` |
| **最终位置** | `.specs/tasks/todo/<filename>`(准备实现) |
| **标题** | `<任务标题>` |
| **类型** | `<feature/bug/refactor/test/docs/chore/ci>`(从文件名获取) |
| **技能** | `<技能文件路径或“跳过”>` |
| **技能操作** | `<创建新 / 更新现有 / 跳过>` |
| **分析** | `<分析文件路径或“跳过”>` |
| **草稿本** | `<草稿本文件路径>` |
| **实现步骤** | `<计数或“不适用”>` |
| **并行化深度** | `<最大并行智能体数或“不适用”>` |
| **总验证数** | `<计数或“不适用”>` |
### 使用的配置
| 设置 | 值 |
|---------|-------|
| **目标质量** | {THRESHOLD}/5.0 |
| **最大迭代次数** | {MAX_ITERATIONS} |
| **活动阶段** | {ACTIVE_STAGES 以逗号分隔列表} |
| **跳过的阶段** | {SKIP_STAGES 或不在 ACTIVE_STAGES 中的阶段} |
| **人工检查点** | 阶段 {HUMAN_IN_THE_LOOP_PHASES 以逗号分隔} |
| **跳过评委** | {SKIP_JUDGES} |
| **精细化模式** | {REFINE_MODE} |
### 质量门禁摘要
| 阶段 | 评委分数 | 结果 |
|-------|-------------|---------|
| 阶段 2a:研究 | X.X/5.0 | ✅ 通过 / ⚠️ 继续(达到最大迭代) / ⏭️ 跳过 |
| 阶段 2b:代码库分析 | X.X/5.0 | ✅ 通过 / ⚠️ 继续(达到最大迭代) / ⏭️ 跳过 |
| 阶段 2c:业务分析 | X.X/5.0 | ✅ 通过 / ⚠️ 继续(达到最大迭代) / ⏭️ 跳过 |
| 阶段 3:架构综合 | X.X/5.0 | ✅ 通过 / ⚠️ 继续(达到最大迭代) / ⏭️ 跳过 |
| 阶段 4:分解 | X.X/5.0 | ✅ 通过 / ⚠️ 继续(达到最大迭代) / ⏭️ 跳过 |
| 阶段 5:并行化 | X.X/5.0 | ✅ 通过 / ⚠️ 继续(达到最大迭代) / ⏭️ 跳过 |
| 阶段 6:验证 | X.X/5.0 | ✅ 通过 / ⚠️ 继续(达到最大迭代) / ⏭️ 跳过 |
**使用的阈值:** {THRESHOLD}/5.0(如果 SKIP_JUDGES 则为不适用)
**图例:**
- ✅ 通过 - 分数 >= THRESHOLD
- ⚠️ 继续(达到最大迭代) - 分数 < THRESHOLD 但达到 MAX_ITERATIONS,仍继续
- ⏭️ 跳过 - 阶段不在 ACTIVE_STAGES 中
### 生成的成果物
.claude/
└── skills/
└── /
└── SKILL.md # 可重用的技能文档(如果研究阶段运行)
.specs/
├── tasks/
│ ├── draft/ # 草稿任务(源 – 此任务现在为空)
│ ├── todo/
│ │ └── ..md # 完整的任务规范(准备实现)
│ ├── in-progress/ # 正在实现的任务(空)
│ └── done/ # 已完成的任务(空)
├── analysis/
│ └── analysis-.md # 代码库影响分析(如果代码库分析阶段运行)
└── scratchpad/
└── .md # 架构思考草稿本
### 任务状态管理
任务状态由文件夹位置管理:
- `draft/` - 已创建但未精细化的任务
- `todo/` - 准备实现的任务
- `in-progress/` - 当前正在处理的任务
- `done/` - 已完成的任务
### 后续步骤
1. 审阅任务:`.specs/tasks/todo/<filename>`
- 直接编辑任务文件进行修正
- 向需要澄清或更改的行添加 `//` 注释
- 再次运行 `/plan` 并添加 `--refine` 以纳入您的反馈——它会检测相对于 git 的更改并**自上而下**传播更新(编辑一个部分只会影响其下方的部分,不会影响其上方的部分)
2. 如果一切正常,开始实现:`/implement`(将自动从 todo/ 中选择任务)
错误处理
阶段智能体失败(异常/崩溃)
如果任何阶段智能体意外失败:
- 报告失败和智能体输出
- 向用户提出可以帮助解决问题的澄清性问题
- 使用问题和答案列表重新启动阶段智能体以解决问题
评委返回失败
如果任何评委返回失败(分数 < THRESHOLD):
- 自动重试:使用评委反馈重新启动阶段智能体
- 人机协同检查:如果阶段在
HUMAN_IN_THE_LOOP_PHASES中,则在下一次评委重试之前(在实现重试之后、重新评判之前)触发人工检查点 - 达到
MAX_ITERATIONS后:自动进入下一阶段(除非--human-in-the-loop包含此阶段,否则不要询问用户) - 在完成摘要中记录警告:
⚠️ 阶段 X 在 {MAX_ITERATIONS} 次迭代后未通过质量阈值(X.X/THRESHOLD)
重试流程
实现 → 评委失败 → 实现重试 → 评委重试
↓
通过 → 继续下一阶段
失败 → 重复直到 MAX_ITERATIONS
↓
达到 MAX_ITERATIONS → 进入下一阶段(带警告)
带人机协同的重试流程
当阶段在 HUMAN_IN_THE_LOOP_PHASES 中时:
实现 → 评委失败 → 实现重试
↓
🔍 人工检查点(可选反馈)
↓
评委重试
↓
通过 → 继续 | 失败 → 重复直到 MAX_ITERATIONS
↓
达到 MAX_ITERATIONS → 🔍 最终人工检查点
↓
用户确认 → 进入下一阶段
📄 原始文档
完整文档(英文):
https://skills.sh/neolabhq/context-engineering-kit/sdd%3Aplan
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

评论(0)