mcpField
W
workflow-creator

workflow-creator

github.com/heyvhuangAgent 工作流33851 次安装30 周前更新
代码仓库

关于 workflow-creator

用于创建工作流技能包的技能,负责编排现有技能而非复制其说明。它会制定并验证规范、检查技能依赖,并生成带可恢复产物及先计划后确认执行策略的文件。

主要功能

  1. 01头脑风暴并编写工作流规范
  2. 02发现并验证技能依赖
  3. 03缺少必需技能时停止
  4. 04生成工作流技能文件和参考资料
  5. 05执行前要求审批

适用场景

  1. 01将现有技能组合成工作流
  2. 02检查本地及外部技能选项
  3. 03生成可恢复的工作流定义
  4. 04为生成的工作流添加审批关卡

安装

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

$npx skills add https://github.com/heyvhuang/ship-faster --skill workflow-creator

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

包含的文件

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

references/
example-workflow-skill.md
example-workflow-spec.md
prompt-pack.md
README.md
workflow-spec-template.md
scripts/
validate_skill_md.py
validate_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.md
    • workflow-<slug>/references/workflow-spec.md(SSOT)

参考资料

流程

0) 确定技能根目录(确定性)

按以下优先级确定 skills_root:

  1. 如果用户提供了 repo_root,则使用它。
  2. 否则,从当前工作目录开始向上搜索:
    • <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:

  1. 首先调用 workflow-brainstorm,以确定以下内容:

    • 核心目标(1 句话)
    • 验收标准(3-7 条)
    • 非目标(1-5 条)
    • 约束(风险偏好、时间安排)
    • 用户可能会说的 5-10 个真实触发短语
  2. 技能发现(必需)——确定 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) 用户确认最终技能选择:只有在此之后才能继续编写规范。

  3. 使用 references/workflow-spec-template.md 中的模板编写 workflow_spec.md。

2) 验证规范(确定性)

运行:

python3 scripts/validate_workflow_spec.py /path/to/workflow_spec.md

生成前修复所有验证错误。

3) 解决技能依赖项
  1. 从规范中读取 required_skills / optional_skills。
  2. 检查 skills_root 下本地是否存在这些技能。
  3. 如果缺少任何必需技能:
    • 停止。
    • 使用 references/prompt-pack.md 中的提示词查询 skills.sh。
    • 推荐 2-3 个候选项(附链接和原因),并提供安装命令建议,但不要自动安装。
4) 生成/更新 workflow-<slug>/
  1. 如果 skills_root 下不存在 workflow-<slug>/,则创建该目录。
  2. 写入 SSOT:
    • workflow-<slug>/references/workflow-spec.md(从已验证的规范复制)。
  3. 生成/更新 workflow-<slug>/SKILL.md:
    • Frontmatter 中的 name 必须与目录名(workflow-<slug>)一致。
    • Frontmatter 中的 description 必须包含规范里的 triggers(路由依据)。
    • 包含 Ship Faster 工件后端选择规则(runs/ 与 OpenSpec)。
    • 包含先规划、再确认的执行策略:
      • 规划阶段将检查清单写入 tasks.md。
      • 询问用户是否确认开始。
    • 用户确认后,在 tasks.md -> ## Approvals 下追加一条批准记录(时间戳 + 范围),并开始执行。
    • 将每个链式步骤映射到一个技能。
    • 保持工作流简洁:复杂细节链接到其他技能。
5) 基本验证(必需)

运行:

python3 scripts/validate_skill_md.py /path/to/workflow-<slug>

如果失败,请修复 frontmatter、名称或换行符,直到验证通过。

注意:仓库还包含 skill-creator/scripts/quick_validate.py,但它可能需要额外的 Python 依赖。默认使用此技能中的验证器。

评论

支持 Markdown