| name | scheduled-task |
| description | 创建定时任务,支持一次性、每日、每周、每月、Cron 等调度方式。当用户想设置定期自动执行的任务时使用。Create scheduled tasks for recurring or one-time automated execution. |
| official | true |
定时任务 Skill
使用场景
当用户想要:
- 设置定时执行的任务(每天、每周、每月、自定义 Cron)
- 创建一次性定时执行的任务
- 安排定时自动化检查、报告生成、代码备份等
- 设置定期监控或提醒
创建定时任务
Step 1: 收集信息
先与用户确认以下信息(如果用户未提供):
- 任务名称(必填)— 简短描述
- 执行内容(必填)— 任务运行时 Claude 收到的 prompt 指令
- 执行频率(必填)— 一次性、每天、每周、每月或自定义 Cron
- 工作目录(可选)— 默认为当前会话的工作目录
- 通知平台(可选)— 任务完成后发送通知
Step 2: 构建 JSON 并执行脚本
Schedule 类型
一次性执行(at):
{ "type": "at", "datetime": "2026-03-15T09:00:00" }
Cron 表达式(cron)— 5 字段格式:分 时 日 月 周
{ "type": "cron", "expression": "0 9 * * *" }
常用 Cron 示例:
| 表达式 | 含义 |
|---|
0 9 * * * | 每天 9:00 |
0 8 * * 1 | 每周一 8:00 |
0 9 * * 1-5 | 工作日 9:00 |
0 0 1 * * | 每月1号 0:00 |
*/30 * * * * | 每30分钟 |
0 * * * * | 每小时整点 |
0 9,18 * * * | 每天 9:00 和 18:00 |
执行脚本创建任务(推荐:@file 方式,避免 Windows 中文编码问题)
当 payload 含中文时,不要把整段 JSON 直接作为命令行参数传入。
请先写入 UTF-8 文件,再用 @文件路径 传给脚本。
cat > /tmp/scheduled-task.json <<'JSON'
{
"name": "任务名称",
"schedule": { "type": "cron", "expression": "0 9 * * *" },
"prompt": "任务运行时 Claude 将执行的详细指令...",
"workingDirectory": "/path/to/project"
}
JSON
bash "$SKILLS_ROOT/scheduled-task/scripts/create-task.sh" @/tmp/scheduled-task.json
字段说明
| 字段 | 必填 | 说明 |
|---|
name | ✅ | 简短的任务名称 |
prompt | ✅ | 任务运行时 Claude 收到的指令(应清晰完整) |
schedule | ✅ | 调度配置(见上方类型说明) |
workingDirectory | ❌ | 执行目录(默认空) |
description | ❌ | 详细描述(默认空) |
systemPrompt | ❌ | 自定义系统提示词(默认空) |
executionMode | ❌ | "auto" / "local" / "sandbox"(默认 "local") |
expiresAt | ❌ | 过期日期 "YYYY-MM-DD"(默认 null,不过期) |
notifyPlatforms | ❌ | 通知平台数组:["dingtalk","feishu","telegram","discord"](默认 []) |
enabled | ❌ | 是否立即启用(默认 true) |
Step 3: 确认结果
脚本返回 JSON 响应:
- 成功:
{ "success": true, "task": { "id": "...", "name": "...", ... } }
- 失败:
{ "success": false, "error": "错误信息" }
向用户确认以下信息:
- ✅ 任务名称和 ID
- ⏰ 执行频率(人类可读格式,如"每天早上 9:00")
- 📋 执行内容摘要
- 💡 提示用户可在「设置 → 定时任务」中管理
重要注意事项