工作流技能设计器Skill workflow-skill-designer

这是一个用于设计Claude工作流技能的元技能,遵循orchestrator+phases模式,自动化生成完整技能包,包括SKILL.md协调器和详细相位文件,优化技能架构、数据流管理和执行效率,适用于工作流设计、技能开发和Claude自动化。

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

name: 工作流技能设计器 description: 用于设计orchestrator+phases结构化工作流技能的元技能。创建SKILL.md协调器,具有渐进式相位加载、TodoWrite模式和数据流。在“设计工作流技能”、“创建工作流技能”、“工作流技能设计器”时触发。 allowed-tools: Task, AskUserQuestion, TodoWrite, Read, Write, Edit, Bash, Glob, Grep

工作流技能设计器

用于创建遵循orchestrator + phases模式的结构化工作流技能的元技能。生成完整的技能包,SKILL.md作为协调器,phases/文件夹用于执行细节。

架构概述

┌─────────────────────────────────────────────────────────────────┐
│  工作流技能设计器                                                 │
│  → 分析需求 → 设计协调器 → 生成相位                               │
└───────────────┬─────────────────────────────────────────────────┘
                │
    ┌───────────┼───────────┬───────────┐
    ↓           ↓           ↓           ↓
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ 相位 1  │ │ 相位 2  │ │ 相位 3  │ │ 相位 4  │
│ 需求分析 │ │ 协调器设计 │ │ 相位设计 │ │ 验证与集成 │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
     ↓           ↓           ↓           ↓
  工作流配置    SKILL.md     phases/     完整技能包
              生成         0N-*.md

目标输出结构

此元技能生成的技能遵循此结构:

.claude/skills/{技能名称}/
├── SKILL.md                    # 协调器:协调、数据流、TodoWrite
├── phases/
│   ├── 01-{相位名称}.md      # 相位执行细节(完整内容)
│   ├── 02-{相位名称}.md
│   ├── ...
│   └── 0N-{相位名称}.md
├── specs/                      # [可选] 领域规范
└── templates/                  # [可选] 可重用模板

核心设计模式

从成功的工作流技能实现(workflow-plan、project-analyze等)提取的模式:

模式 1:协调器 + 渐进式加载

SKILL.md = 纯协调器。包含:

  • 架构图(ASCII)
  • Ref: phases/0N-xxx.md标记的执行流
  • 相位参考文档表(按需读取)
  • 相位间数据流
  • 核心规则和错误处理

相位文件 = 完整执行细节。包含:

  • 完整代理提示、bash命令、代码实现
  • 验证清单、错误处理
  • 输入/输出规范
  • 下一个相位链接

关键规则:SKILL.md通过Ref:标记引用相位文档。相位文档仅在执行该相位时读取,而非一次性全部读取。

模式 2:TodoWrite 附件/折叠

相位开始:
  → 子任务附加到TodoWrite(进行中 + 待处理)
  → 协调器顺序执行子任务

相位结束:
  → 子任务折叠回高级摘要(已完成)
  → 下一个相位开始

模式 3:相位间数据流

相位 N 输出 → 存储在内存/变量 → 相位 N+1 输入
                  └─ 或写入会话文件以持久化

每个相位通过以下方式接收先前相位的输出:

  • 内存变量(sessionId、contextPath等)
  • 会话目录文件(.workflow/active/{sessionId}/…)
  • 规划笔记(累积约束文档)

模式 4:条件相位执行

相位 N 输出包含条件标志
  ├─ 条件满足 → 执行相位 N+1
  └─ 条件未满足 → 跳转至相位 N+2

模式 5:输入结构化

用户输入(自由文本) → 相位 1 前结构化为格式:

目标: [目标]
范围: [边界]
上下文: [背景/约束]

模式 6:交互式偏好收集(SKILL.md责任)

工作流偏好(自动模式、强制探索等)必须在SKILL.md中通过AskUserQuestion收集调度到相位之前。相位引用这些作为workflowPreferences.{key}上下文变量。

反模式:在相位文件中通过$ARGUMENTS.includes(...)解析命令行标志(--yes-e--explore)。

// 正确:在SKILL.md中(相位调度前)
const prefResponse = AskUserQuestion({
  questions: [
    { question: "是否跳过确认?", header: "自动模式", options: [
      { label: "交互式(推荐)", description: "交互模式" },
      { label: "自动", description: "跳过所有确认" }
    ]}
  ]
})
workflowPreferences = { autoYes: prefResponse.autoMode === 'Auto' }

// 正确:在相位文件中(仅引用)
const autoYes = workflowPreferences.autoYes

// 错误:在相位文件中(标志解析)
const autoYes = $ARGUMENTS.includes('--yes') || $ARGUMENTS.includes('-y')

模式 7:直接相位交接

当一个相位需要调用同一技能内的另一个相位时,直接读取和执行相位文档。不要通过Skill()路由回SKILL.md

// 正确:直接交接(executionContext已设置)
Read("phases/02-lite-execute.md")
// 使用executionContext执行(模式 1)

// 错误:技能路由(不必要的往返)
Skill(skill="workflow-lite-plan", args="--in-memory")

模式 8:相位文件卫生

相位文件是内部执行文档。它们不得包含:

禁止项 原因 正确位置
标志解析($ARGUMENTS.includes(...) 偏好收集在SKILL.md 通过AskUserQuestion在SKILL.md
调用语法(/skill-name "..." 非用户面向文档 移除或仅SKILL.md
转换来源(Source: Converted from... 实现细节 移除
技能路由用于相位间(Skill(skill="...") 使用直接相位读取 直接Read("phases/...")

执行流

相位 1:需求分析
   └─ Ref: phases/01-requirements-analysis.md
      ├─ 输入源:命令、描述、用户交互
      └─ 输出:workflowConfig(相位、数据流、代理、条件)

相位 2:协调器设计(SKILL.md)
   └─ Ref: phases/02-orchestrator-design.md
      ├─ 输入:workflowConfig
      └─ 输出:.claude/skills/{名称}/SKILL.md

相位 3:相位文件设计
   └─ Ref: phases/03-phase-design.md
      ├─ 输入:workflowConfig + 源内容
      └─ 输出:.claude/skills/{名称}/phases/0N-*.md

相位 4:验证与集成
   └─ Ref: phases/04-validation.md
      └─ 输出:已验证技能包

相位参考文档(按需读取):

相位 文档 目的
1 phases/01-requirements-analysis.md 从各种源分析工作流需求
2 phases/02-orchestrator-design.md 生成具有协调模式的SKILL.md
3 phases/03-phase-design.md 生成相位文件,保留完整执行细节
4 phases/04-validation.md 验证结构、引用和集成

输入源

此元技能接受来自多个源的工作流定义:

描述 示例
现有命令 转换.claude/commands/协调器 + 子命令 plan.md + session/start.md + tools/*.md
文本描述 用户用自然语言描述工作流 “创建一个3相位的代码审查工作流”
需求文档 结构化需求文件 requirements.md 包含相位/代理/输出
现有技能 重构/重新设计现有技能 将扁平技能重组为相位

Frontmatter转换规则

从命令格式转换到技能格式时:

命令字段 技能字段 转换
name name 添加组前缀:planworkflow-plan
description description 追加触发短语:Triggers on "xxx"
argument-hint (移除) 参数在输入处理部分处理
examples (移除) 示例移至内联文档
allowed-tools allowed-tools 扩展通配符:Skill(*)Skill,添加常用工具
group (移除) 嵌入在name前缀中

协调器内容映射

SKILL.md与相位文件的内容:

SKILL.md(协调器)

部分 内容
Frontmatter 名称、描述、allowed-tools 命令frontmatter(转换后)
架构概述 相位流ASCII图 从执行结构派生
关键设计原则 协调规则 从命令协调角色提取
执行流 Ref:标记的相位序列 + 相位参考表 命令执行过程
核心规则 协调约束 命令核心规则
输入处理 结构化格式转换 命令输入处理
数据流 相位间数据传递 命令数据流
TodoWrite模式 附件/折叠生命周期 命令TodoWrite部分
相位后更新 规划笔记 / 状态更新 命令相位间更新代码
错误处理 失败恢复 命令错误处理
协调器清单 相位前后动作 命令协调器清单
相关命令 先决条件和后续 命令相关命令

相位文件(执行细节)

内容 规则
完整代理提示 从源命令中保留逐字
Bash命令块 保留逐字
代码实现 保留逐字
验证清单 保留逐字
错误处理细节 保留逐字
输入/输出规范 如果源中不存在则添加
相位标题 添加# Phase N: {名称}
目标部分 添加## 目标与要点
下一个相位链接 添加## 下一个相位与链接

关键规则:相位文件必须忠实于源内容。不要总结、缩写或简化。相位文件是执行指令 - 每个bash命令、每个代理提示、每个验证步骤都必须保留。

SKILL.md模板

---
name: {技能名称}
description: {描述}. 在“{触发1}”、“{触发2}”时触发。
allowed-tools: {工具}
---

# {标题}

{一段描述此技能做什么以及产生什么。}

## 架构概述

{显示相位和数据流的ASCII图}

## 关键设计原则

1. **{原则}**:{描述}
...

## 交互式偏好收集

在调度到相位前通过AskUserQuestion收集工作流偏好:
{AskUserQuestion代码与偏好派生 → workflowPreferences}

## 自动模式默认值

当`workflowPreferences.autoYes === true`时:{自动模式行为}。

## 执行流

{带Ref:标记的相位序列}

**相位参考文档**(执行相位时按需读取):

| 相位 | 文档 | 目的 |
|------|------|------|
| 1 | [phases/01-xxx.md](phases/01-xxx.md) | ... |
...

## 核心规则

1. {规则}
...

## 输入处理

{如何将用户输入转换为结构化格式}

## 数据流

{相位间数据传递图}

## TodoWrite模式

{带示例的附件/折叠生命周期描述}

## 相位后更新

{相位间状态更新}

## 错误处理

{失败恢复规则}

## 协调器清单

{相位前后动作列表}

## 相关命令

{先决条件和后续}

相位文件模板

# Phase N: {相位名称}

{一句描述此相位目标的描述。}

## 目标

- {目标1}
- {目标2}

## 执行

### 步骤 N.1: {步骤名称}

{完整执行细节:命令、代理提示、代码}

### 步骤 N.2: {步骤名称}

{完整执行细节}

## 输出

- **变量**:`{变量名称}`(例如,`sessionId`)
- **文件**:`{输出文件路径}`
- **TodoWrite**:标记相位N完成,相位N+1进行中

## 下一个相位

返回到协调器,然后自动继续到[相位 N+1: xxx](0N+1-xxx.md)。

设计决策框架

设计新工作流技能时,回答这些问题:

问题 影响 示例
多少相位? 目录结构 通常3-7相位
哪些相位是条件的? 协调器逻辑 “仅当conflict_risk >= 中时相位3”
哪些数据在相位间流动? 数据流部分 sessionId、contextPath、configFlags
哪些相位使用代理? 相位文件复杂性 代理提示需要逐字保留
TodoWrite粒度是什么? TodoWrite模式 一些相位有子任务,其他是原子性
是否有规划笔记模式? 相位后更新 跨相位累积状态文档
错误恢复是什么? 错误处理 重试一次然后报告,vs 回滚
是否需要偏好收集? 交互式偏好收集 通过AskUserQuestion在SKILL.md收集,传递为workflowPreferences
相位N交接给相位M吗? 直接相位交接(模式 7) 直接读取相位文档,而非Skill()路由