Routines
Premium将任意 Skill 按 Cron 表达式自动执行。五种预设、IANA 时区、每次运行的完整审计历史,以及每次完成后的仪表盘通知。
什么是 Routine?
Routine 是 Skill 的定时执行计划,包含以下信息:
Skill
要执行的 Skill。Skill 定义了提示词模板、提供商和模型。
计划(Schedule)
Cron 表达式(如 0 9 * * *)以及 IANA 时区(如 America/Chicago)。
输入参数
每次触发时传入 Skill 模板的 JSON 对象,与在仪表盘点击 Run now 时的格式相同。
启用开关
无需删除即可暂停 Routine。暂停后 Cron 不会触发,但计划保持不变。
计划预设
五种内置预设覆盖最常见的执行频率。选择 Custom 可自定义 Cron 表达式。
| 预设 | Cron | 触发时间 |
|---|---|---|
| Hourly | 0 * * * * | 每小时整点 |
| Daily | 0 9 * * * | 每天所选时区 09:00 |
| Weekly | 0 9 * * 1 | 每周一 09:00 |
| Monthly | 0 9 1 * * | 每月 1 日 09:00 |
| Custom | (任意 5 字段 Cron) | 如 */15 * * * * 表示每 15 分钟 |
Cron 每分钟触发一次,因此最小实际调度频率为每分钟一次。Cron 表达式遵循标准 5 字段语法(min hour dom month dow);不支持秒字段和 @hourly 等宏。
时区
每个 Routine 在 Cron 表达式旁存储时区信息。Cron 触发时以该时区解释计划,因此设置为 0 9 * * * 且时区为 America/Chicago 的 Routine 全年都在中部时间 09:00 触发,夏令时自动处理。
支持任意 IANA 时区字符串(如 UTC、 Europe/Madrid、 Asia/Tokyo)。仪表盘表单默认使用浏览器检测到的时区。
创建 Routine
可从仪表盘或通过 MCP 直接在 Claude 中创建 Routines。两种方式都需要项目中至少存在一个 Skill。
从仪表盘创建
- 1. 打开项目,在顶栏点击 Routines。
- 2. 点击 New Routine。
- 3. 选择要计划的 Skill。
- 4. 为 Routine 命名。
- 5. 选择预设(或选 Custom 填写自定义 Cron),确认时区。
- 6. 提供 Input params JSON 对象——与手动 Run Skill 时格式相同。
- 7. 点击 Create Routine。首次运行将在下一个匹配的时间点触发。
从 Claude(MCP)创建
# 让 Claude 计划一个 Skill
"Create a Routine called 'Daily LinkedIn post' that runs the 'Post draft' Skill every weekday at 8am Madrid time" "Schedule the 'Weekly digest' Skill to fire on Mondays at 9am Chicago, with topic = 'last week'"
Claude 会使用 routines_create MCP 工具,并自动匹配最符合描述的预设。
暂停、立即运行与删除
暂停 / 启用
在 Routine 详情页点击 ⏸ Pause 可停止 Cron 触发而不丢失计划。▶ Enable 可恢复。暂停的 Routine 保留 next_run_at 值——重新启用后将在该时间点触发。
立即运行
使用 Routine 保存的输入参数立即执行 Skill,不受计划限制。Execution history 中会新增一行,触发类型为 trigger_type = scheduled。Routine 的 next_run_at 不变——立即运行不会重新计划。
删除
Routine 详情页的 Danger zone 将永久移除计划。过去的执行历史行会保留,不会丢失审计记录。
通知与执行历史
每次定时运行均记录在与手动 Skill 运行相同的执行历史中,并额外提供两项信息:
- 审计行标记
trigger_type = scheduled以及routine_id,便于按 Routine 筛选。 - 每次触发后,Routine 创建者会收到仪表盘通知(🔔 铃铛)——成功显示绿色对勾,失败显示红色叉号。点击通知可直接跳转到 Routine 详情页。
会导致 Routine 自动暂停的失败情况:Cron 表达式无效、Skill 提供商缺少 BYOK API 密钥,或项目 API 密钥被撤销。你会收到附带原因的 routine_failed 通知。
MCP 工具
以下七个与 Routine 相关的工具通过 MCP 客户端暴露给 Claude:
| 工具 | 用途 |
|---|---|
| routines_list | 列出项目的所有 Routines |
| routines_get | 按 ID 读取单个 Routine |
| routines_create | 创建 Routine(预设或自定义 Cron) |
| routines_update | 重命名、更改计划或输入参数 |
| routines_toggle | 暂停或启用 Routine |
| routines_run_now | 立即触发 Routine,不受计划限制 |
| routines_delete | 永久删除 Routine |
运行机制
Vercel Cron 任务每分钟访问一次 /api/cron/trigger-routines。该端点查询数据库中所有 enabled = true 且 next_run_at <= now() 的 Routine,然后对每个到期的 Routine:
- 在触发之前更新
next_run_at——慢速运行不会阻塞下一个时间点。 - 调用仪表盘使用的同一个
skill-execute边缘函数,传入trigger_type=scheduled和 Routine ID。 - 写入审计行,可选地将输出保存到知识 Space,并插入仪表盘通知。
所有执行费用均通过项目的 BYOK 密钥计入你自己的 Anthropic / OpenAI 账户,与手动 Skill 运行相同。ContextForge 不按 Routine 计费。