工作流计划技能Skill workflow-plan

工作流计划技能是一个统一规划工具,用于自动化生成和验证软件开发工作流。它结合4阶段规划流程、计划质量验证和交互式重新规划,生成IMPL_PLAN.md、任务JSON文件和验证报告,管理计划生命周期。关键词:工作流规划、计划验证、任务生成、项目管理、软件开发。

架构设计 0 次安装 0 次浏览 更新于 3/16/2026

名称: workflow-plan 描述: 统一规划技能 - 4阶段规划工作流、计划验证和交互式重新规划。触发条件为 “workflow:plan”、“workflow:plan-verify”、“workflow:replan”。 允许工具: Skill, Task, AskUserQuestion, TodoWrite, Read, Write, Edit, Bash, Glob, Grep

工作流计划

统一规划技能,结合4阶段规划工作流、计划质量验证和交互式重新规划。生成IMPL_PLAN.md、任务JSON文件、验证报告,并通过会话级工件更新管理计划生命周期。

架构概述

┌──────────────────────────────────────────────────────────────────┐
│  工作流计划协调器(SKILL.md)                                     │
│  → 按模式路由:plan | verify | replan                           │
│  → 纯协调器:执行阶段、解析输出、传递上下文                     │
└──────────────────────────────┬───────────────────────────────────┘
                                │
        ┌───────────────────────┼───────────────────────┐
        ↓                       ↓                       ↓
  ┌───────────┐          ┌───────────┐           ┌───────────┐
  │ 计划模式 │          │  验证模式   │           │ 重新规划模式 │
  │ (默认)  │          │   阶段5     │           │   阶段6     │
  │ 阶段1-4  │          │            │           │            │
  └─────┬─────┘          └───────────┘           └───────────┘
        │
    ┌───┼───┬───┐
    ↓   ↓   ↓   ↓
  ┌───┐┌───┐┌───┐┌───┐
  │ 1 ││ 2 ││ 3 ││ 4 │
  │会话││上下文││冲突││生成│
  └───┘└───┘└───┘└─┬─┘
                    ↓
              ┌───────────┐
              │   确认    │─── 验证 ──→ 阶段5
              │ (选择)  │─── 执行 ──→ Skill("workflow-execute")
              └───────────┘─── 审查 ──→ 内联显示会话状态

关键设计原则

  1. 纯协调器:SKILL.md仅负责路由和协调;执行细节位于阶段文件中
  2. 渐进式阶段加载:仅在阶段即将执行时读取阶段文档
  3. 多模式路由:单个技能通过模式检测处理计划/验证/重新规划
  4. 任务附加模型:子命令任务被附加,顺序执行,然后折叠
  5. 自动继续:每个阶段完成后,自动执行下一个待处理阶段
  6. 累积状态:planning-notes.md携带跨阶段的上下文以进行N+1决策

交互式偏好收集

在分派到阶段执行之前,通过AskUserQuestion收集工作流偏好:

// ★ 统一自动模式检测:-y/--yes从$ARGUMENTS或ccw传播
const autoYes = /\b(-y|--yes)\b/.test($ARGUMENTS)

if (autoYes) {
  // 自动模式:跳过所有询问,使用默认值
  workflowPreferences = { autoYes: true, interactive: false }
} else {
  const prefResponse = AskUserQuestion({
    questions: [
      {
        question: "是否跳过所有确认步骤(自动模式)?",
        header: "自动模式",
        multiSelect: false,
        options: [
          { label: "交互式(推荐)", description: "交互模式,包含确认步骤" },
          { label: "自动", description: "跳过所有确认,自动执行" }
        ]
      }
    ]
  })

  workflowPreferences = {
    autoYes: prefResponse.autoMode === 'Auto'
  }

  // 对于重新规划模式,也收集交互式偏好
  if (mode === 'replan') {
    const replanPref = AskUserQuestion({
      questions: [
        {
          question: "是否使用交互式澄清模式?",
          header: "重新规划模式",
          multiSelect: false,
          options: [
            { label: "标准(推荐)", description: "使用安全默认值" },
            { label: "交互式", description: "通过提问交互式澄清修改范围" }
          ]
        }
      ]
    })
    workflowPreferences.interactive = replanPref.replanMode === 'Interactive'
  }
}

workflowPreferences作为上下文变量传递给阶段执行,在阶段内引用为workflowPreferences.autoYesworkflowPreferences.interactive

模式检测

const args = $ARGUMENTS
const mode = detectMode(args)

function detectMode(args) {
  // 技能触发确定模式
  if (skillName === 'workflow:plan-verify') return 'verify'
  if (skillName === 'workflow:replan') return 'replan'
  return 'plan'  // 默认:workflow:plan
}

执行流程

计划模式(默认)

输入解析:
   └─ 将用户输入转换为结构化格式(GOAL/SCOPE/CONTEXT)

阶段1:会话发现
   └─ 参考:phases/01-session-discovery.md
      └─ 输出:sessionId(WFS-xxx)、planning-notes.md

阶段2:上下文收集
   └─ 参考:phases/02-context-gathering.md
      ├─ 附加任务:分析结构 → 识别集成点 → 生成包
      └─ 输出:contextPath + conflictRisk

阶段3:冲突解决(条件性:conflictRisk ≥ 中等)
   └─ 决策(conflictRisk检查):
      ├─ conflictRisk ≥ 中等 → 参考:phases/03-conflict-resolution.md
      │   ├─ 附加任务:检测冲突 → 呈现给用户 → 应用策略
      │   └─ 输出:修改的头脑风暴工件
      └─ conflictRisk < 中等 → 跳转到阶段4

阶段4:任务生成
   └─ 参考:phases/04-task-generation.md
      └─ 输出:IMPL_PLAN.md、任务JSON文件、TODO_LIST.md

计划确认(用户决策门):
   └─ 决策(用户选择):
      ├─ "验证计划质量"(推荐) → 路由到阶段5(plan-verify)
      ├─ "开始执行" → Skill(skill="workflow-execute")
      └─ "仅审查状态" → 内联显示会话状态

验证模式

阶段5:计划验证
   └─ 参考:phases/05-plan-verify.md
      └─ 输出:PLAN_VERIFICATION.md,包含质量门推荐

重新规划模式

阶段6:交互式重新规划
   └─ 参考:phases/06-replan.md
      └─ 输出:更新的IMPL_PLAN.md、任务JSON文件、TODO_LIST.md

阶段参考文档(在阶段执行时按需读取):

阶段 文档 目的 模式
1 phases/01-session-discovery.md 创建或发现工作流会话 plan
2 phases/02-context-gathering.md 收集项目上下文并分析代码库 plan
3 phases/03-conflict-resolution.md 检测和解决冲突(条件性) plan
4 phases/04-task-generation.md 生成实施计划和任务JSON文件 plan
5 phases/05-plan-verify.md 只读验证与质量门 verify
6 phases/06-replan.md 带边界澄清的交互式重新规划 replan

核心规则

  1. 立即启动:第一个操作是模式检测 + TodoWrite初始化,第二个操作是阶段执行
  2. 无初步分析:在阶段1之前不读取文件、分析结构或收集上下文
  3. 解析每个输出:从每个阶段输出中提取所需数据以用于下一阶段
  4. 通过TodoList自动继续:检查TodoList状态以自动执行下一个待处理阶段
  5. 跟踪进度:使用任务附加/折叠模式动态更新TodoWrite
  6. 任务附加模型:技能执行附加子任务到当前工作流。协调器自身执行这些附加任务,然后在完成后折叠它们
  7. 渐进式阶段加载:仅在阶段即将执行时读取阶段文档
  8. 不要停止:连续多阶段工作流。执行完所有附加任务后,立即折叠它们并执行下一阶段

输入处理

将用户输入转换为结构化格式

  1. 简单文本 → 结构化:

    用户:"构建认证系统"
    
    结构化:
    GOAL: 构建认证系统
    SCOPE: 核心认证功能
    CONTEXT: 新实现
    
  2. 详细文本 → 提取组件:

    用户:"添加JWT认证,包含邮箱/密码登录和令牌刷新"
    
    结构化:
    GOAL: 实现基于JWT的认证
    SCOPE: 邮箱/密码登录、令牌生成、令牌刷新端点
    CONTEXT: JWT令牌安全、刷新令牌轮换
    
  3. 文件参考(例如,requirements.md) → 读取并结构化:

    • 读取文件内容
    • 提取目标、范围、要求
    • 格式化为结构化描述

数据流

计划模式

用户输入(任务描述)
    ↓
[转换为结构化格式]
    ↓ 结构化描述:
    ↓   GOAL: [目标]
    ↓   SCOPE: [边界]
    ↓   CONTEXT: [背景]
    ↓
阶段1: session:start --auto "结构化描述"
    ↓ 输出:sessionId
    ↓ 写入:planning-notes.md(用户意图部分)
    ↓
阶段2: context-gather --session sessionId "结构化描述"
    ↓ 输入:sessionId + 结构化描述
    ↓ 输出:contextPath(context-package.json)+ conflictRisk
    ↓ 更新:planning-notes.md(上下文发现 + 合并约束)
    ↓
阶段3: conflict-resolution [条件性:conflictRisk ≥ 中等]
    ↓ 输入:sessionId + contextPath + conflictRisk
    ↓ 输出:修改的头脑风暴工件
    ↓ 更新:planning-notes.md(冲突决策 + 合并约束)
    ↓ 如果conflictRisk为无/低 → 直接进行到阶段4
    ↓
阶段4: task-generate-agent --session sessionId
    ↓ 输入:sessionId + planning-notes.md + context-package.json + 头脑风暴工件
    ↓ 输出:IMPL_PLAN.md、任务JSON文件、TODO_LIST.md
    ↓
计划确认(用户决策门):
    ├─ "验证计划质量"(推荐) → 路由到阶段5
    ├─ "开始执行" → Skill(skill="workflow-execute")
    └─ "仅审查状态" → 内联显示会话状态

会话内存流:每个阶段接收会话ID,提供访问:

  • 先前任务摘要
  • 现有上下文和分析
  • 头脑风暴工件(可能被阶段3修改)
  • 会话特定配置

验证模式

输入:--session sessionId(或自动检测)
    ↓
阶段5:加载工件 → 代理驱动验证 → 生成报告
    ↓ 输出:PLAN_VERIFICATION.md,包含质量门

重新规划模式

输入:[--session sessionId] [task-id] "要求"
    ↓
阶段6:模式检测 → 澄清 → 影响分析 → 备份 → 应用 → 验证
    ↓ 输出:更新的工件 + 变更摘要

TodoWrite模式

核心概念:动态任务附加和折叠,用于实时可见工作流执行。

关键原则

  1. 任务附加(阶段执行时):

    • 子任务附加到协调器的TodoWrite
    • 阶段2、3:多个子任务附加
    • 阶段1、4:单个任务(原子性)
    • 第一个附加任务标记为in_progress,其他为pending
    • 协调器顺序执行这些附加任务
  2. 任务折叠(子任务完成后):

    • 应用于阶段2、3:从TodoWrite中移除详细子任务
    • 折叠为高级阶段摘要
    • 阶段1、4:无需折叠(单任务,仅标记为完成)
    • 保持协调器级别视图清晰
  3. 连续执行:完成后,自动进行到下一个待处理阶段

生命周期:初始待处理 → 阶段执行(任务附加) → 子任务执行 → 阶段完成(阶段2/3任务折叠,阶段1/4标记完成) → 下一阶段 → 重复

阶段2(任务附加):

[
  {"content": "阶段1:会话发现", "status": "completed"},
  {"content": "阶段2:上下文收集", "status": "in_progress"},
  {"content": "  → 分析代码库结构", "status": "in_progress"},
  {"content": "  → 识别集成点", "status": "pending"},
  {"content": "  → 生成上下文包", "status": "pending"},
  {"content": "阶段4:任务生成", "status": "pending"}
]

阶段2(折叠后):

[
  {"content": "阶段1:会话发现", "status": "completed"},
  {"content": "阶段2:上下文收集", "status": "completed"},
  {"content": "阶段4:任务生成", "status": "pending"}
]

阶段3(任务附加,条件性):

[
  {"content": "阶段1:会话发现", "status": "completed"},
  {"content": "阶段2:上下文收集", "status": "completed"},
  {"content": "阶段3:冲突解决", "status": "in_progress"},
  {"content": "  → 通过CLI分析检测冲突", "status": "in_progress"},
  {"content": "  → 向用户呈现冲突", "status": "pending"},
  {"content": "  → 应用解决策略", "status": "pending"},
  {"content": "阶段4:任务生成", "status": "pending"}
]

注意:见各阶段描述中的详细TodoWrite更新示例。

阶段后更新

每个阶段完成后,更新planning-notes.md

  • 阶段1后:使用用户意图初始化(GOAL、KEY_CONSTRAINTS)
  • 阶段2后:添加上下文发现(CRITICAL_FILES、ARCHITECTURE、CONFLICT_RISK、CONSTRAINTS)
  • 阶段3后:添加冲突决策(RESOLVED、MODIFIED_ARTIFACTS、CONSTRAINTS),如果执行
  • 内存状态检查:重阶段(阶段2-3)后,评估上下文窗口使用;如果高(>120K tokens),触发compact

见阶段文件的详细更新代码。

错误处理

  • 解析失败:如果输出解析失败,重试命令一次,然后报告错误
  • 验证失败:如果验证失败,报告哪个文件/数据缺失
  • 命令失败:保持阶段in_progress,向用户报告错误,不进行到下一阶段
  • 会话未找到(验证/重新规划):报告错误,附带可用会话列表
  • 任务未找到(重新规划):报告错误,附带可用任务列表

协调器检查清单

计划模式

  • 阶段前:将用户输入转换为结构化格式(GOAL/SCOPE/CONTEXT)
  • 在任何命令前初始化TodoWrite(阶段3在阶段2后动态添加)
  • 使用结构化描述立即执行阶段1
  • 从阶段1输出解析会话ID,存储在内存中
  • 将会话ID和结构化描述传递给阶段2命令
  • 从阶段2输出解析上下文路径,存储在内存中
  • 从context-package.json提取conflictRisk:确定阶段3执行
  • 如果conflictRisk ≥ 中等:启动阶段3 conflict-resolution,带sessionId和contextPath
  • 等待阶段3完成执行(如果执行),验证conflict-resolution.json创建
  • 如果conflictRisk为无/低:跳过阶段3,直接进行到阶段4
  • 将会话ID传递给阶段4命令
  • 验证所有阶段4输出
  • 计划确认门:向用户呈现选择(验证 → 阶段5 / 执行 / 审查状态)
  • 如果用户选择验证:读取phases/05-plan-verify.md,进程中执行阶段5
  • 如果用户选择执行:Skill(skill=“workflow-execute”)
  • 如果用户选择审查:内联显示会话状态
  • 自动模式(workflowPreferences.autoYes):自动选择"验证计划质量",然后如果PROCEED则自动继续执行
  • 每个阶段后更新TodoWrite
  • 每个阶段后,基于TodoList状态自动继续到下一阶段

验证模式

  • 检测/验证会话(从活动会话自动检测)
  • 使用单验证任务初始化TodoWrite
  • 执行阶段5验证代理
  • 呈现质量门结果和下一步选项

重新规划模式

  • 从$ARGUMENTS解析任务ID(IMPL-N格式,如果存在)
  • 检测操作模式(任务vs会话)
  • 使用重新规划特定任务初始化TodoWrite
  • 执行阶段6,通过所有子阶段(澄清 → 影响 → 备份 → 应用 → 验证)

结构模板参考

最小结构

GOAL: [要达成的目标]
SCOPE: [包含的内容]
CONTEXT: [相关信息]

详细结构(可选,当更多上下文可用时):

GOAL: [主要目标]
SCOPE: [包含的功能/组件]
CONTEXT: [现有系统、约束、依赖]
REQUIREMENTS: [具体技术要求]
CONSTRAINTS: [限制或边界]

相关技能

先决技能

  • brainstorm技能 - 可选:在规划前生成基于角色的分析
  • brainstorm技能 - 可选:通过澄清精炼头脑风暴分析

被计划模式调用(4阶段):

  • /workflow:session:start - 阶段1:创建或发现工作流会话
  • phases/02-context-gathering.md - 阶段2:收集项目上下文并分析代码库(内联)
  • phases/03-conflict-resolution.md - 阶段3:检测和解决冲突(内联,条件性)
  • memory-capture技能 - 阶段3:内存优化(如果上下文接近限制)
  • phases/04-task-generation.md - 阶段4:生成任务JSON文件(内联)

后续技能

  • workflow-plan技能(plan-verify阶段) - 验证计划质量(也可以通过验证模式调用)
  • 内联显示会话状态 - 审查任务分解和当前进度
  • Skill(skill="workflow-execute") - 开始实施生成的任务(技能:workflow-execute)
  • workflow-plan技能(replan阶段) - 修改计划(也可以通过重新规划模式调用)