调度通知手册
scheduler-notification-runbook
by atomiccn
Reliable runbook for scheduled reminders and notification workflows with OpenClaw cron. Use when creating or reviewing reminder skills, scheduling one-shot or recurring reminders, choosing between systemEvent and agentTurn payloads, selecting the correct sessionTarget, writing reminder text that will still read clearly when delivered later, validating whether a job actually fired, or troubleshooting why a scheduled notification did not deliver as expected. Especially useful for ClawHub-published skills that need production-safe reminder behavior instead of ad hoc cron setup.
安装
claude skill add --url https://github.com/openclaw/skills文档
Scheduler Notification Runbook
Overview
Use this skill to create reliable reminder and scheduled notification workflows with OpenClaw cron. Focus on production-safe decisions: choose the correct payload type, choose the correct session target, write reminder text that still makes sense when delivered later, and verify that the job actually fired and delivered.
Core workflow
1. Classify the scheduling need
Decide which of these cases applies before creating any job:
- One-shot reminder: "Remind me in 20 minutes" or "Remind me tomorrow at 9 AM"
- Recurring reminder: "Remind me every weekday at 6 PM"
- Background agent task: a scheduled isolated agent run that produces a summary or follow-up
- Current-session follow-up: a scheduled agent run that must keep using the current session thread
If the request is only a reminder and does not need reasoning at fire time, prefer a systemEvent reminder.
If the request needs the agent to think, check state, summarize, or perform a task when the time arrives, prefer an agentTurn job.
2. Choose the payload type
Use this decision rule:
Use payload.kind = "systemEvent" when:
- The future action is a plain reminder
- The message can be fully written now
- No tool use or reasoning is needed when it fires
- The user mainly wants a notification, not a follow-up workflow
This is the default reminder pattern for simple reminders.
Use payload.kind = "agentTurn" when:
- The scheduled task must inspect context or perform work later
- The task needs tool use, web access, summarization, or decision-making at fire time
- The task should produce a delivery summary after it completes
- The task must be bound to the current session or a named persistent session
Do not use agentTurn just to send a basic reminder that could be expressed in plain text.
3. Choose the session target
Match sessionTarget to the payload and the desired behavior.
Use sessionTarget = "main"
Only with payload.kind = "systemEvent".
Use this for normal reminder injection into the main session.
Recommended when:
- The user asked for a straightforward reminder
- The reminder should appear like a natural follow-up in the main conversation
Use sessionTarget = "isolated"
Only with payload.kind = "agentTurn".
Use this for scheduled work that should run independently and optionally announce a summary.
Recommended when:
- The task should not rely on the current thread
- The task may be long-running or more operational
- You want isolated execution with clear delivery behavior
Use sessionTarget = "current"
Only with payload.kind = "agentTurn".
Use this when the future agent run must stay attached to the current session context.
Recommended when:
- The user explicitly wants the follow-up in the same thread
- The current session context matters later
Use sessionTarget = "session:<name>"
Only with payload.kind = "agentTurn".
Use this for durable named workflows that should accumulate their own thread history.
Recommended when:
- You are building a recurring operational workflow
- The job should write into a stable named session rather than a transient isolated run
Writing reminder text
Reminder text quality matters because the user will read it later, not now. Write the text as if it has already arrived in the future.
Rules for good reminder text
- Explicitly say it is a reminder when the time gap is meaningful
- Include the original task or intent
- Include enough context so the user does not have to remember why it was scheduled
- Keep it short and readable
- Avoid raw implementation details such as cron expressions, session targets, job IDs, or internal payload terms
Good patterns
Short-delay reminder
Use for reminders in minutes or within the same day:
Reminder: check the build in 20 minutes.Reminder: join the design review now.Reminder: send the follow-up message to Alex this afternoon.
Next-day or dated reminder
Use for tomorrow or specific dates/times:
Reminder: review the OrAHub CLI Quick Start draft this morning.Reminder: your 3 PM call with the partner team is coming up.Reminder: submit the legal review notes for the scheduler skill today.
Context-rich reminder
Use when the reminder could be ambiguous later:
Reminder: follow up on the scheduler-notification-runbook skill for ClawHub publication.Reminder: check whether the recurring reminder demo was actually delivered to the main session.Reminder: revisit the OrAHub credential onboarding flow and decide whether npm or curl should be the default install path.
Avoid
pingdo the thingscheduled task triggeredcron fired successfully- Any text that only makes sense to an implementer
Schedule selection
Pick the simplest schedule that matches the request.
Use schedule.kind = "at" when:
- The reminder should happen once at a specific time
- The request is phrased as "in 20 minutes" or "tomorrow at 9"
Use schedule.kind = "every" when:
- The reminder repeats on a fixed interval
- Exact calendar semantics are not required
Use schedule.kind = "cron" when:
- The reminder repeats on calendar-based rules
- The user asks for things like every weekday, every Monday, or the first day of each month
Prefer the least complex schedule that accurately matches the request.
Delivery decisions for agent jobs
Delivery matters only for agentTurn jobs.
Use delivery.mode = "announce" when:
- The result should be posted back into chat after the isolated run finishes
- The user expects a visible summary
Use delivery.mode = "none" when:
- The task is internal and does not need to notify chat directly
- Another system consumes the result
Use delivery.mode = "webhook" when:
- The scheduled run must call an external HTTP endpoint
- The user explicitly wants webhook delivery
Do not try to simulate webhook behavior through ad hoc messaging if webhook delivery is the correct abstraction.
Validation workflow
Always validate after creating or updating a scheduled reminder workflow.
Minimum validation checklist
- Confirm the schedule shape matches the request
- Confirm the payload type matches the real need
- Confirm the session target is valid for that payload
- Confirm the reminder text reads naturally in the future
- Confirm the job is enabled
- Capture the returned
jobId
Recommended follow-up checks
- Run the job manually when safe and useful
- Inspect run history for recurring jobs
- Confirm that delivery occurred in the expected place
- If the reminder is time-sensitive, verify timezone assumptions explicitly
Troubleshooting
Use this sequence when a scheduled reminder or notification did not behave as expected.
Problem: the job was created but nothing happened
Check:
- Whether the job is enabled
- Whether the schedule is in the future or already missed
- Whether the timezone assumption was wrong
- Whether the scheduler is healthy
- Whether the wrong session target was used
Problem: the job fired but the message was confusing
Check:
- Whether the reminder text included enough future context
- Whether the text referred to internal details instead of user intent
- Whether the reminder should have been written as a richer natural reminder
Problem: an agentTurn job ran but did not deliver visibly
Check:
- Whether
delivery.modewas omitted or set incorrectly - Whether the task was isolated with announce delivery as intended
- Whether the target channel or recipient was specified when needed
Problem: the wrong session received the follow-up
Check:
- Whether
main,isolated,current, orsession:<name>was selected correctly - Whether the user wanted a reminder injection or a future agent run
- Whether a named session would be more stable than
current
Problem: the reminder should have been simple but was over-engineered
Check:
- Whether
agentTurnwas used whensystemEventwas enough - Whether unnecessary delivery settings were added
- Whether a one-shot
atreminder would have solved the request more directly
Production guidance for ClawHub publication
When packaging this as a reusable public skill, keep the skill focused on durable decision-making rather than local environment specifics.
Include
- Clear payload selection rules
- Session target selection guidance
- Reminder text quality rules
- Validation and troubleshooting steps
- Examples framed around real reminder requests
Exclude
- Local machine assumptions
- Environment-specific secrets or tokens
- Internal-only customer identifiers
- Hard-coded job IDs or one-off operational artifacts
Reference material
Read references/cron-patterns.md when you need compact pattern guidance for one-shot reminders, recurring reminders, and agent-run notification workflows.
Read references/examples.md when you need ClawHub-friendly examples that show the difference between simple reminders, recurring reminders, isolated agent jobs, and same-thread follow-ups.
相关 Skills
技能工坊
by anthropics
覆盖 Skill 从创建到迭代优化全流程:起草能力、补测试提示、跑评测与基准方差分析,并持续改写内容和描述,提升效果与触发准确率。
✎ 技能工坊把技能从创建、迭代到评测串成闭环,方差分析加描述优化,特别适合把触发准确率打磨得更稳。
表格处理
by anthropics
围绕 .xlsx、.xlsm、.csv、.tsv 做读写、修复、清洗、格式整理、公式计算与格式转换,适合修改现有表格、生成新报表或把杂乱数据整理成交付级电子表格。
✎ 做 Excel/CSV 相关任务很省心,能直接读写、修复、清洗和格式转换,尤其擅长把乱七八糟的表格整理成交付级文件。
Word文档
by anthropics
覆盖Word/.docx文档的创建、读取、编辑与重排,适合生成报告、备忘录、信函和模板,也能处理目录、页眉页脚、页码、图片替换、查找替换、修订批注及内容提取整理。
✎ 搞定 .docx 的创建、改写与精排版,目录、批量替换、批注修订和图片更新都能自动化,做正式文档尤其省心。
相关 MCP 服务
文件系统
编辑精选by Anthropic
Filesystem 是 MCP 官方参考服务器,让 LLM 安全读写本地文件系统。
✎ 这个服务器解决了让 Claude 直接操作本地文件的痛点,比如自动整理文档或生成代码文件。适合需要自动化文件处理的开发者,但注意它只是参考实现,生产环境需自行加固安全。
by wonderwhy-er
Desktop Commander 是让 AI 直接执行终端命令、管理文件和进程的 MCP 服务器。
✎ 这工具解决了 AI 无法直接操作本地环境的痛点,适合需要自动化脚本调试或文件批量处理的开发者。它能让你用自然语言指挥终端,但权限控制需谨慎,毕竟让 AI 执行 rm -rf 可不是闹着玩的。
EdgarTools
编辑精选by dgunning
EdgarTools 是无需 API 密钥即可解析 SEC EDGAR 财报的开源 Python 库。
✎ 这个工具解决了金融数据获取的痛点——直接让 AI 读取结构化财报,比如让 Claude 分析苹果的 10-K 文件。适合量化分析师或金融开发者快速构建数据管道。但注意,它依赖 SEC 网站稳定性,高峰期可能延迟。