Skill: 定时任务创建通用技能 (Cron-Manager-Master)
📋 技能概述
本技能用于在 OpenClaw 系统中标准化、自动化地创建和检查定时任务。技能会智能提取当前对话的上下文信息(通道和用户 ID),实现零配置、无缝创建,确保所有任务符合系统规范。
🎯 触发条件
当识别到以下意图时触发本技能:
- - "创建定时任务"
- "设置cron任务"
- "openclaw cron"
- "定时任务创建"
⚙️ 自动上下文提取(核心特性)
为极大地简化使用流程,本技能无需用户手动配置或记忆参数。
在每次触发创建定时任务时,技能会自动从当前会话中提取以下信息:
- 1. 通道 (channel) - 从当前会话自动获取(如
feishu、wecom 等) - 用户ID (to) - 从当前会话自动获取(如
ou_xxxxxx)
实现方式:
- - 从
session_status 命令输出中提取 channel 和 INLINECODE5 - 当前会话示例: INLINECODE6
📝 核心工作流
步骤 1:识别任务需求与目标
- - 明确任务名称、执行时间(一次性或周期性)、消息内容
- 自动读取当前会话的
channel 和 INLINECODE8
步骤 2:执行创建命令
请严格使用以下命令格式,技能会自动填充当前会话的上下文:
一次性任务(指定具体时间)
CODEBLOCK0
周期性任务
CODEBLOCK1
步骤 3:参数规范检查(创建前自检)
| 参数 | 状态 | 规范要求 |
|---|
| INLINECODE9 | ✅ 必需 | 任务名称,必须清晰明确 |
| INLINECODE10 / INLINECODE11 |
✅ 必需 | ISO 时间格式或标准 cron 表达式 |
|
--session isolated | ✅ 必需 | 必须使用独立会话隔离执行环境 |
|
--message | ✅ 必需 | 要发送的提醒或消息内容 |
|
--announce | ✅ 必需 | 启用消息发送功能 |
|
--channel | ✅ 自动 | 从当前会话自动获取通道值 |
|
--to | ✅ 自动 | 从当前会话自动获取用户 ID 值 |
步骤 4:创建后系统验证
任务创建完成后,必须执行验证命令检查任务状态:
CODEBLOCK2
验证要点:
- 1. 检查 INLINECODE17
- 检查 INLINECODE18
- 检查
"channel": "feishu"(或其他正确通道) - 检查
"to": "user:ou_xxxxxx"(格式正确) - 检查时间格式正确(ISO 8601 UTC时间格式)
✅ 自动化规范检查清单
创建任务后,必须立即执行以下检查:
- - [ ]
--session isolated参数 → 检查 INLINECODE22 - [ ]
--announce参数 → 检查 INLINECODE24 - [ ] 指定了正确的
--channel → 检查 "channel": "feishu"(或其他正确通道) - [ ] 包含用户ID → 检查
"to": "user:ou_xxxxxx"(格式正确) - [ ] 时间格式正确 → 检查 ISO 8601 UTC时间格式
- [ ] 任务名称清晰明确 → 检查
"name" 和 INLINECODE29
🚨 错误处理与操作红线
核心红线
- - 严禁私自操作系统服务:如遇到 Gateway 连接失败或服务异常,必须先请求人工授权,禁止私自重启服务或变更底层配置
- 承诺必须兑现:收到任务指令后必须实际创建自动化机制,不得仅作口头回复
- Gateway重启必须确认:Gateway 重启是重要操作,必须让用户确认后再执行
监控与告警
- 1. 执行前检查:重要任务需在执行前提前 30 分钟检查系统运行状态(包括脚本、目录和权限)
- 失败主动报告:如创建任务失败或定时任务执行超时(超过 5 分钟),需立即主动报告问题并提供备选方案(如询问是否立即手动执行)
- 日志记录:将所有的检查结果、操作记录或异常情况记入系统的
memory 或日志文件中以便复盘
错误处理示例
CODEBLOCK3
📁 文件结构
CODEBLOCK4
🔧 使用方法
- 1. 直接调用技能:当检测到相关触发词时,技能会自动激活
- 手动创建任务:使用上述命令模板,替换
<任务名称>、<时间>、 INLINECODE33 - 参数说明:
-
--name:任务名称(必需)
-
--at:一次性执行时间(ISO格式:
YYYY-MM-DDTHH:mm:ss+08:00)
-
--cron:周期性执行cron表达式
-
--message:要发送的消息内容(必需)
-
--session isolated:使用独立会话(必需)
-
--announce:启用消息发送(必需)
-
--channel:自动从当前会话获取
-
--to:自动从当前会话获取
📝 示例
示例1:创建明天上午9点的提醒
CODEBLOCK5
示例2:创建每天上午10点的日报
CODEBLOCK6
技能:定时任务创建通用技能 (Cron-Manager-Master)
📋 技能概述
本技能用于在 OpenClaw 系统中标准化、自动化地创建和检查定时任务。技能会智能提取当前对话的上下文信息(通道和用户 ID),实现零配置、无缝创建,确保所有任务符合系统规范。
🎯 触发条件
当识别到以下意图时触发本技能:
- - 创建定时任务
- 设置cron任务
- openclaw cron
- 定时任务创建
⚙️ 自动上下文提取(核心特性)
为极大地简化使用流程,本技能无需用户手动配置或记忆参数。
在每次触发创建定时任务时,技能会自动从当前会话中提取以下信息:
- 1. 通道 (channel) - 从当前会话自动获取(如 feishu、wecom 等)
- 用户ID (to) - 从当前会话自动获取(如 ou_xxxxxx)
实现方式:
- - 从 sessionstatus 命令输出中提取 channel 和 userid
- 当前会话示例:feishu:direct:ou_xxxxxx
📝 核心工作流
步骤 1:识别任务需求与目标
- - 明确任务名称、执行时间(一次性或周期性)、消息内容
- 自动读取当前会话的 channel 和 user_id
步骤 2:执行创建命令
请严格使用以下命令格式,技能会自动填充当前会话的上下文:
一次性任务(指定具体时间)
bash
openclaw cron add \
--name <任务名称> \
--at \
--session isolated \
--message <消息内容> \
--announce \
--channel feishu \
--to ou_xxxxxx
周期性任务
bash
openclaw cron add \
--name <任务名称> \
--cron \
--session isolated \
--message <消息内容> \
--announce \
--channel feishu \
--to ou_xxxxxx
步骤 3:参数规范检查(创建前自检)
| 参数 | 状态 | 规范要求 |
|---|
| --name | ✅ 必需 | 任务名称,必须清晰明确 |
| --at/--cron |
✅ 必需 | ISO 时间格式或标准 cron 表达式 |
| --session isolated | ✅ 必需 | 必须使用独立会话隔离执行环境 |
| --message | ✅ 必需 | 要发送的提醒或消息内容 |
| --announce | ✅ 必需 | 启用消息发送功能 |
| --channel | ✅ 自动 | 从当前会话自动获取通道值 |
| --to | ✅ 自动 | 从当前会话自动获取用户 ID 值 |
步骤 4:创建后系统验证
任务创建完成后,必须执行验证命令检查任务状态:
bash
使用jq精确匹配任务名称
openclaw cron list --json | jq .[] | select(.name == <任务名称>)
验证要点:
- 1. 检查 sessionTarget: isolated
- 检查 delivery: {mode: announce}
- 检查 channel: feishu(或其他正确通道)
- 检查 to: user:ou_xxxxxx(格式正确)
- 检查时间格式正确(ISO 8601 UTC时间格式)
✅ 自动化规范检查清单
创建任务后,必须立即执行以下检查:
- - [ ] --session isolated参数 → 检查 sessionTarget: isolated
- [ ] --announce参数 → 检查 delivery: {mode: announce}
- [ ] 指定了正确的--channel → 检查 channel: feishu(或其他正确通道)
- [ ] 包含用户ID → 检查 to: user:ou_xxxxxx(格式正确)
- [ ] 时间格式正确 → 检查 ISO 8601 UTC时间格式
- [ ] 任务名称清晰明确 → 检查 name 和 description
🚨 错误处理与操作红线
核心红线
- - 严禁私自操作系统服务:如遇到 Gateway 连接失败或服务异常,必须先请求人工授权,禁止私自重启服务或变更底层配置
- 承诺必须兑现:收到任务指令后必须实际创建自动化机制,不得仅作口头回复
- Gateway重启必须确认:Gateway 重启是重要操作,必须让用户确认后再执行
监控与告警
- 1. 执行前检查:重要任务需在执行前提前 30 分钟检查系统运行状态(包括脚本、目录和权限)
- 失败主动报告:如创建任务失败或定时任务执行超时(超过 5 分钟),需立即主动报告问题并提供备选方案(如询问是否立即手动执行)
- 日志记录:将所有的检查结果、操作记录或异常情况记入系统的 memory 或日志文件中以便复盘
错误处理示例
bash
创建任务失败时的处理
if ! openclaw cron add ...; then
echo ❌ 创建定时任务失败
echo 请检查:
echo 1. Gateway服务是否运行 (openclaw gateway status)
echo 2. 参数格式是否正确
echo 3. 是否有创建权限
exit 1
fi
📁 文件结构
cron-manager-master/
├── SKILL.md # 本文件
├── references/
│ └── cron-examples.md # cron表达式示例参考
└── scripts/ # (可选)辅助脚本
🔧 使用方法
- 1. 直接调用技能:当检测到相关触发词时,技能会自动激活
- 手动创建任务:使用上述命令模板,替换 <任务名称>、<时间>、<消息内容>
- 参数说明:
- --name:任务名称(必需)
- --at:一次性执行时间(ISO格式:YYYY-MM-DDTHH:mm:ss+08:00)
- --cron:周期性执行cron表达式
- --message:要发送的消息内容(必需)
- --session isolated:使用独立会话(必需)
- --announce:启用消息发送(必需)
- --channel:自动从当前会话获取
- --to:自动从当前会话获取
📝 示例
示例1:创建明天上午9点的提醒
bash
openclaw cron add \
--name 明天会议提醒 \
--at 2026-03-26T09:00:00+08:00 \
--session isolated \
--message 上午9点有团队会议,请准时参加 \
--announce \
--channel feishu \
--to ou_xxxxxx
示例2:创建每天上午10点的日报
bash
openclaw cron add \
--name 每日AI新闻日报 \
--cron 0 10
* \
--session isolated \
--message 正在生成今日AI新闻日报... \
--announce \
--channel feishu \
--to ou_xxxxxx