5de58af9ed
Use a lightweight LLM over active task lists to pick taskId for cancel, exclude page.generate from scheduled-task inbound, and remove single-task auto-cancel so Cursor page generation stays isolated. Co-authored-by: Cursor <cursoragent@cursor.com>
74 lines
3.7 KiB
Markdown
74 lines
3.7 KiB
Markdown
---
|
||
name: scheduled-task-automation
|
||
description: 处理定时自动任务(Scheduled Automation):澄清执行时间与任务内容,写入订阅;到点由系统自动执行并推送结果。不处理纯待办/提醒。
|
||
---
|
||
|
||
# 定时自动任务(Scheduled Task Automation)
|
||
|
||
这个 skill 处理**到点自动执行并交付结果**的定时任务,与 `schedule-assistant`(待办/提醒)严格分离。
|
||
|
||
## 适用范围
|
||
|
||
- 创建一次性或循环的定时自动任务(Scheduled Task / Recurring Automation)
|
||
- 查询、取消、**更新执行说明(taskSpec)** 当前用户的定时任务
|
||
- 澄清缺失的执行时间或任务内容
|
||
|
||
## 边界
|
||
|
||
1. **不**处理纯提醒、待办记录、日程查询 —— 那些交给 `schedule-assistant`。
|
||
2. **不**在当前对话里立即执行长任务;本 skill 只负责**写入/更新定时订阅**。
|
||
3. 只能操作当前用户的数据;工具成功返回前,不能说「已经设置好了」。
|
||
4. 信息不完整时先追问,禁止臆造时间或任务内容。
|
||
5. 用户是在**补充已有任务的长期规范/格式/参考页**(如「以后新闻按 8/29 格式」)时,用 `scheduled_task_update_spec`,**不要**去生成 HTML 页面。
|
||
|
||
## 可用工具
|
||
|
||
- `scheduled_task_create`(创建,需用户确认卡片)
|
||
- `scheduled_task_list`
|
||
- `scheduled_task_cancel`
|
||
- `scheduled_task_update_spec`(更新 taskSpec / 标题,直接写入)
|
||
|
||
## 必填信息(创建前必须齐全)
|
||
|
||
| 字段 | 说明 |
|
||
|------|------|
|
||
| `taskSpec` | 到时具体执行什么(给后续 Agent 的说明) |
|
||
| `recurrence` | `once` 一次性 / `daily` 每天 / `weekly` 每周 |
|
||
| 执行时间 | `once` 用 `runAtLocal`;`daily`/`weekly` 用 `hour`+`minute`(weekly 还需 `weekday`) |
|
||
|
||
## 时间写入(必守)
|
||
|
||
1. **禁止**自行估算 Unix 毫秒时间戳。
|
||
2. 一次性任务用 `runAtLocal`(`YYYY-MM-DD HH:mm`,用户时区)。
|
||
3. 循环任务用 `hour`(0-23)+ `minute`(0-59);每周任务额外传 `weekday`(0=周日 … 6=周六)。
|
||
4. 写入后可用 `scheduled_task_list` 核对。
|
||
|
||
## 工作规则
|
||
|
||
1. 先判断用户是要**创建**、**查询**、**取消**还是**更新规范**。
|
||
2. 缺时间或缺任务内容时,一次只追问最小必要信息。
|
||
3. **取消 / 更新**前必须先 `scheduled_task_list`,用返回的 `taskId` 操作;由你理解用户指哪一条,不要猜 titleMatch。
|
||
- 微信 inbound:取消会先 `listTasks`,再用 **manage LLM** 从 active 列表里选 `taskId` 后调用 `scheduled_task_cancel`;只有 LLM 关闭或需完整编排时才进入 Goose。
|
||
- 用户在要求 **生成/修改 HTML 页面**(`page.generate`)时,不要走定时任务取消链路。
|
||
4. **更新规范**:用户补充格式标准、参考页面 URL、排版约束时,对目标任务调用 `scheduled_task_update_spec`,`mergeTaskSpec: true` 追加说明。
|
||
5. 创建成功后,用用户能理解的话说明何时执行、执行什么、recurrence、推送通道。
|
||
6. 若提示里给出了 `sourceMessageId`,调用 `scheduled_task_create` 时必须原样传入。
|
||
|
||
## 回复要求
|
||
|
||
- 简短、直接
|
||
- 成功时说明任务摘要、时间与 recurrence
|
||
- 失败时明确没写入成功,并给出下一步
|
||
|
||
## 示例
|
||
|
||
用户:每天 6 点帮我做今日新闻页面
|
||
|
||
助手:(信息齐全后调用 `scheduled_task_create`)
|
||
已设置循环任务:每天 06:00(北京时间)自动搜索并生成「今日新闻页」,完成后推送链接。
|
||
|
||
用户:以后新闻早报都按 8 月 29 号那版格式执行
|
||
|
||
助手:(`scheduled_task_list` → 对 5:30 新闻任务 `scheduled_task_update_spec` + mergeTaskSpec)
|
||
已更新定时任务的执行说明,之后到点会按新格式生成。
|