创建Jazz工作流自动化Skill create-workflow

这个技能用于创建和管理Jazz工作流自动化文件,通过调度AI代理运行重复任务,实现任务自动化管理。关键词:Jazz工作流、自动化、AI代理、任务调度、重复任务、工作流创建、安全指南、技能集成。

AI智能体 0 次安装 0 次浏览 更新于 3/15/2026

name: 创建-工作流 description: 创建Jazz工作流自动化文件(WORKFLOW.md)。用于调度Jazz代理运行重复任务。对于操作系统级别的脚本/命令,使用create-system-routine。

创建工作流

生成工作流自动化文件,用于调度jazz代理运行重复任务。

何时使用

  • 用户希望使用Jazz代理自动化重复任务
  • 用户要求“创建工作流”或“调度代理”
  • 用户说“我想每Y检查X”(例如,“每小时检查邮件”)
  • 用户希望无人值守的代理执行

注意: 如果用户希望调度简单的shell脚本或系统命令而不使用Jazz代理,请使用create-system-routine技能。

收集信息(问卷)

在获得足够信息之前不要创建工作流文件。 如果用户的提示含糊(例如“创建工作流”、“我想自动化邮件”)或缺少以下任何项目,引导他们完成一个简短的问卷,而不是猜测。

当您知道以下内容时,信息足够:

  1. 任务: 代理应该做什么?(具体,不模糊。)
  2. 调度: 何时运行?(以便转换为cron。)
  3. 追赶: 错过的运行是否在启动时执行?(如果未指定,询问或选择合理的默认值。)
  4. 自动批准: 风险级别是什么?(只读 / 低风险 / 高风险 / false—默认保守。)
  5. 技能: 代理需要哪些技能?(例如:email、calendar、deep-research。)
  6. 指令: 清晰、安全第一的提示,包含明确标准和“当有疑问时”规则。
  7. 位置: 保存到哪里?(本地./workflows/<name>/或全局~/.jazz/workflows/<name>/。)

如何运行问卷:

  • 一次问一两个问题; 不要列出一长串。
  • 使用用户的话语来细化(例如,“您说‘清理我的收件箱’—那应该是仅归档,还是也删除?‘旧’是多旧?”)。
  • 每个回答后,确认您已了解的内容,并只询问仍缺少的内容。
  • 一旦您拥有以上所有七个项目,继续创建WORKFLOW.md

工作流

  1. 理解任务: 代理应该做什么?何时运行?如果不清楚,询问。
  2. 确定调度: 将用户意图转换为cron格式;如果未说明,询问他们希望何时运行。
  3. 决定追赶行为: 错过的运行是否在启动时执行?如果未指定,询问。
  4. 选择自动批准策略: 基于操作的风险级别;默认保守。
  5. 识别所需技能: 代理需要哪些技能?
  6. 编写清晰指令: 安全第一的提示,包含明确指南。
  7. 创建WORKFLOW.md 仅从以上获得足够信息后,放置在适当目录中。

工作流文件结构

---
name: workflow-name
description: 简要一行摘要
schedule: "0 8 * * *"
autoApprove: read-only
catchUpOnStartup: true
maxCatchUpAge: 43200
agent: default
skills:
  - skill-name
---

# 工作流标题

[代理的清晰指令,包括安全指南]

前置字段

字段 必填 描述 示例
name 短横线分隔标识符 email-cleanup
description 一行摘要 清理旧新闻通讯
schedule Cron表达式 0 * * * *(每小时)
agent 使用的代理(可选,省略时将提示) research-agent
autoApprove 自动批准策略 read-only, low-risk, high-risk, true, false
skills 加载的技能 ["email", "calendar"]
catchUpOnStartup 启动时运行错过的工作流 true
maxCatchUpAge 追赶运行的最大年龄(秒) 43200(12小时)

Cron调度指南

询问用户希望何时运行,然后转换为cron:

用户意图 Cron表达式 描述
每小时 0 * * * * 每小时的0分钟
每天早上8点 0 8 * * * 每天8:00 AM
每15分钟 */15 * * * * 每15分钟
工作日早上9点 0 9 * * 1-5 周一至周五9:00 AM
每周一早上9点 0 9 * * 1 每周一
每月第一天 0 0 1 * * 每月午夜

Cron格式:分钟 小时 日期-月份 月份 日期-星期

自动批准策略

根据工作流将使用的工具选择:

策略 何时使用 示例工作流
read-only 仅读取/搜索,无修改 天气检查、新闻摘要、监控
low-risk 修改数据但可逆 邮件归档、标签、日历事件
high-risk 删除、发送、执行命令 带删除的邮件清理、自动回复
false 总是请求批准 测试、开发

默认使用最严格的策略,允许工作流功能。

安全指南

总是在工作流提示中包含安全规则:

**安全规则:**
- 当有疑问时,什么都不做
- 只执行您100%确信的操作
- 将不确定的项目留待手动审查
- [添加任务特定的安全规则]

对于修改或删除的工作流:

  • 强调保守行为
  • 指定确切标准(例如,“仅归档超过2周的新闻通讯”)
  • 添加“如果不确定,跳过它”指令

文件位置

询问用户希望工作流保存的位置(或根据上下文选择):

位置 使用案例 路径
本地 项目特定自动化 ./workflows/<name>/WORKFLOW.md
全局 用户范围个人自动化 ~/.jazz/workflows/<name>/WORKFLOW.md

内置工作流随Jazz提供,不应修改。

完整示例

用户请求:“我想每小时清理我的邮件收件箱,归档旧新闻通讯”

要问的问题:

  1. ✓ 什么算“旧”?(2周)
  2. ✓ 应该只归档还是也删除?(仅归档)
  3. ✓ 有任何特定发件人目标吗?(新闻通讯、促销)
  4. ✓ 保存到哪里?(全局:~/.jazz/workflows/

生成的工作流:

---
name: email-cleanup
description: 归档旧新闻通讯和促销邮件
schedule: "0 * * * *"
autoApprove: low-risk
skills:
  - email
---

# 邮件清理

审查过去一小时的收件箱,并归档符合以下条件的邮件:

**归档标准:**
- 超过2周的新闻通讯
- 超过3天的促销邮件
- 已读的GitHub通知

**安全规则:**
- 当有疑问时,什么都不做
- 只归档您100%确信符合标准的邮件
- 如果邮件可能重要,留在收件箱
- 从不删除,仅归档

**输出:**
将归档邮件数量记录到控制台。

技能集成

如果工作流需要特定能力,建议相关技能:

任务类型 要包含的技能
邮件管理 email
日历任务 calendar
研究/分析 deep-research
代码/git操作 (无需,内置工具)
网络搜索 (无需,内置)

在前置中包括技能:

skills:
  - email
  - calendar

并在提示中引用:

使用`email`技能高效访问我的收件箱。

创建后

告诉用户下一步做什么:

# 首先手动测试工作流
jazz workflow run <name>

# 一旦确信,调度它
jazz workflow schedule <name>

# 监控日志
tail -f ~/.jazz/logs/<name>.log

# 查看运行历史
jazz workflow history <name>

常见工作流模式

每日研究摘要

---
name: tech-digest
description: 每日AI和科技新闻摘要
schedule: "0 8 * * *"
autoApprove: true
skills:
  - deep-research
---

# 每日科技摘要

研究过去24小时最重要的AI和科技新闻。

**来源:** Twitter、Reddit、Hacker News、Hugging Face、TechCrunch

**输出:** 保存摘要到`~/digests/YYYY/月/DD.md`

**格式:** 带来源链接的简要要点

早晨简报

---
name: morning-briefing
description: 天气、日历和新闻简报
schedule: "0 7 * * 1-5"
autoApprove: read-only
---

# 早晨简报

提供简洁的早晨简报:

1. 今天天气和着装建议
2. 今天日历事件
3. 前三新闻头条

保持100字以下—这是快速一瞥。

GitHub问题分类

---
name: github-triage
description: 标记和优先化新GitHub问题
schedule: "0 9 * * 1-5"
autoApprove: low-risk
---

# GitHub问题分类

审查过去24小时的新GitHub问题:

1. 添加适当标签(bug、功能、文档)
2. 基于严重性设置优先级(P0-P3)
3. 如果关键,添加到项目板

**安全:** 只添加标签和项目分配。从不关闭问题。

每周站立会议报告

---
name: weekly-standup
description: 生成每周进度报告
schedule: "0 17 * * 5"
autoApprove: read-only
---

# 每周站立会议报告

生成每周摘要:

1. 完成的任务(来自GitHub、日历、笔记)
2. 进行中的工作
3. 阻碍或挑战
4. 下周优先级

**输出:** 保存到`~/standups/YYYY-WW.md`

验证清单

创建文件前,验证:

  • ✓ 名称是短横线分隔,描述性
  • ✓ 描述是一个清晰句子
  • ✓ 调度是有效cron(5字段)
  • ✓ 自动批准匹配任务风险级别
  • ✓ 安全规则明确且保守
  • ✓ 如果需要,列出技能
  • ✓ 如果工作流保存文件,指定输出位置
  • ✓ 指令对AI代理足够清晰

反模式

  • ❌ 模糊指令:“清理我的收件箱”→指定确切清理内容
  • ❌ 过于激进的自动批准:除非必要,不要使用high-risk
  • ❌ 缺少安全规则:总是包括“当有疑问时”指南
  • ❌ 无调度:如果自动化,包括调度(或解释是手动仅)
  • ❌ 错误位置:项目特定工作流不应全局
  • ❌ 太复杂:分成多个简单工作流

测试指导

总是建议在调度前测试:

  1. 首先手动运行: jazz workflow run <name> 验证逻辑
  2. 使用--auto-approve检查: 测试自动批准行为
  3. 监控初始运行: 观察前几次调度的执行日志
  4. 迭代: 根据实际行为调整安全规则和标准

文档

创建工作流后,可选地在工作流目录中创建README解释:

  • 它做什么
  • 何时运行
  • 期望什么
  • 如何自定义

示例:workflows/email-cleanup/README.md