关于 workflow-creator
用于创建工作流技能包的技能,负责编排现有技能而非复制其说明。它会制定并验证规范、检查技能依赖,并生成带可恢复产物及先计划后确认执行策略的文件。
主要功能
- 01头脑风暴并编写工作流规范
- 02发现并验证技能依赖
- 03缺少必需技能时停止
- 04生成工作流技能文件和参考资料
- 05执行前要求审批
适用场景
- 01将现有技能组合成工作流
- 02检查本地及外部技能选项
- 03生成可恢复的工作流定义
- 04为生成的工作流添加审批关卡
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ heyvhuang/ ship-faster --skill workflow-creator安装后在 Claude Code 中输入/workflow-creator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/example-workflow-skill.mdexample-workflow-spec.mdprompt-pack.mdREADME.mdworkflow-spec-template.mdscripts/validate_skill_md.pyvalidate_workflow_spec.py详细介绍
工作流创建器
创建新的 workflow-<slug>/ 技能包,用 Ship Faster 标准工件串联现有技能。
硬性规则(不得跳过)
- 组合技能,不要复制:工作流的职责是编排。不要把其他技能中的大量最佳实践内容粘贴到工作流中,而应将每个步骤映射到一个现有技能,并提供其指引。
- 一个步骤 = 一个技能:
workflow_spec.md中的每个步骤必须且只能映射到一个技能(或一个小型、可验证的手动操作)。 - 缺少必需技能 = 停止:不要通过重写缺失技能的逻辑来近似替代。当本地缺少必需技能时,必须在
https://skills.sh/上查找候选项,建议 2–3 个选项及其安装命令,然后等待用户回复。 - 工件优先,支持续接:状态保存在
run_dir/下的proposal.md、tasks.md、context.json中。 - 先制定计划,再确认执行:生成的工作流必须先编写计划,然后询问用户是否确认执行;确认信息必须记录在
tasks.md -> ## Approvals下。
默认设置(Ship Faster 标准)
- 工件存储位置:默认使用
runs/;当存在openspec/project.md时使用 OpenSpec(除非在context.json中另行指定)。 - 必需的运行文件:
proposal.md、tasks.md、context.json。 - 执行模式:先制定计划,然后询问用户是否确认执行;用户确认后,将批准信息记录在
tasks.md中。
输入(仅限路径)
- 可选:
repo_root(技能仓库根目录) - 可选:
workflow_spec_path(如果用户已编写规范)
输出
- 新建或更新的工作流技能文件夹:
workflow-<slug>/SKILL.mdworkflow-<slug>/references/workflow-spec.md(SSOT)
参考资料
- 提示词包(提示词原文):references/prompt-pack.md
- 工作流规范模板(SSOT):references/workflow-spec-template.md
- 生成的工作流技能示例:references/example-workflow-skill.md
- 工作流规范示例(有效):references/example-workflow-spec.md
流程
0) 确定技能根目录(确定性)
按以下优先级确定 skills_root:
- 如果用户提供了
repo_root,则使用它。 - 否则,从当前工作目录开始向上搜索:
<dir>/skills/manifest.json(monorepo 布局)->skills_root = <dir>/skills/<dir>/manifest.json(skills-repo 布局)->skills_root = <dir>/
1) 创建或加载 workflow_spec.md(SSOT)
如果未提供 workflow_spec_path:
-
首先调用
workflow-brainstorm,以确定以下内容:- 核心目标(1 句话)
- 验收标准(3-7 条)
- 非目标(1-5 条)
- 约束(风险偏好、时间安排)
- 用户可能会说的 5-10 个真实触发短语
-
技能发现(必需)——确定
required_skills前:a) 本地技能扫描:列出
skills_root下所有可能相关的技能:ls -1 ~/.claude/skills/ | grep -E "(tool-|review-|workflow-)"确定哪些本地技能可用于工作流中的各个步骤。
b) skills.sh 查询(强制):从
https://skills.sh/获取排行榜并确定相关技能:- 搜索与工作流目标相关的关键词
- 记录相关类别中按安装量排名靠前的技能
- 找出 3-5 个可能有用的外部技能
c) 向用户展示发现结果:
## 技能发现结果 ### 本地技能(可用) | 技能 | 相关性 | 备注 | |-------|-----------|-------| | tool-xxx | HIGH | ... | | review-yyy | MEDIUM | ... | ### 外部技能(skills.sh) | 技能 | 安装量 | 来源 | 相关性 | |-------|----------|--------|-----------| | skill-name | 10K | owner/repo | ... | **想先查看任何外部技能吗?**(列出编号或回复“none”)d) 如果用户想查看:从 skills.sh 页面获取技能详情,展示 SKILL.md 内容,然后再次询问。
e) 用户确认最终技能选择:只有在此之后才能继续编写规范。
-
使用
references/workflow-spec-template.md中的模板编写workflow_spec.md。
2) 验证规范(确定性)
运行:
python3 scripts/validate_workflow_spec.py /path/to/workflow_spec.md
生成前修复所有验证错误。
3) 解决技能依赖项
- 从规范中读取
required_skills/optional_skills。 - 检查
skills_root下本地是否存在这些技能。 - 如果缺少任何必需技能:
- 停止。
- 使用
references/prompt-pack.md中的提示词查询 skills.sh。 - 推荐 2-3 个候选项(附链接和原因),并提供安装命令建议,但不要自动安装。
4) 生成/更新 workflow-<slug>/
- 如果
skills_root下不存在workflow-<slug>/,则创建该目录。 - 写入 SSOT:
workflow-<slug>/references/workflow-spec.md(从已验证的规范复制)。
- 生成/更新
workflow-<slug>/SKILL.md:- Frontmatter 中的
name必须与目录名(workflow-<slug>)一致。 - Frontmatter 中的
description必须包含规范里的triggers(路由依据)。 - 包含 Ship Faster 工件后端选择规则(
runs/与 OpenSpec)。 - 包含先规划、再确认的执行策略:
- 规划阶段将检查清单写入
tasks.md。 - 询问用户是否确认开始。
- 规划阶段将检查清单写入
- 用户确认后,在
tasks.md -> ## Approvals下追加一条批准记录(时间戳 + 范围),并开始执行。 - 将每个链式步骤映射到一个技能。
- 保持工作流简洁:复杂细节链接到其他技能。
- Frontmatter 中的
5) 基本验证(必需)
运行:
python3 scripts/validate_skill_md.py /path/to/workflow-<slug>
如果失败,请修复 frontmatter、名称或换行符,直到验证通过。
注意:仓库还包含 skill-creator/scripts/quick_validate.py,但它可能需要额外的 Python 依赖。默认使用此技能中的验证器。
评论
支持 Markdown