Skills workday-reminder
工作日下班提醒技能。提供工作日下班时间(默认 17:30)的定时提醒、倒计时查询和提醒管理功能。当用户提到"下班提醒"、"下班倒计时"、"还有多久下班"、"设置下班时间"等相关需求时触发。支持工作日和周末区分提醒。
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/artwebs/workday-reminder" ~/.claude/skills/openclaw-skills-workday-reminder && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/artwebs/workday-reminder" ~/.openclaw/skills/openclaw-skills-workday-reminder && rm -rf "$T"
manifest:
skills/artwebs/workday-reminder/SKILL.mdsource content
工作日下班提醒
⚠️ 强制规则
当用户提到「下班提醒」「下班时间」「还有多久下班」「几点下班」「查看倒计时」等任何涉及下班时间的请求时,必须调用
工具来设置定时提醒或计算倒计时,绝对不能只用自然语言回复说"好的"!cron
你没有内存或后台线程,口头承诺"到时候提醒"是无效的——只有调用
cron 工具才能真正注册定时任务。
核心规则
1. 下班提醒设置
默认下班时间:17:30(工作日)
- 只在工作日提醒(周一到周五)
- 周末不提醒
- 使用 cron 表达式:
"30 17 * * 1-5" - 时区:
Asia/Shanghai
payload.kind 必须是
,绝对不能用 "agentTurn"
!"systemEvent"
5 个不可更改字段:
| 字段 | 固定值 | 原因 |
|---|---|---|
| | 不会发 QQ 消息 |
| | 否则不投递 |
| | QQ 通道标识 |
| 用户 openid | 从上下文获取 |
| | 隔离会话避免污染 |
提醒消息模板:
{ "message": "你是一个暖心的下班提醒助手。请用温暖、有趣的方式提醒用户:下班时间到了!要求:(1) 不要回复HEARTBEAT_OK (2) 不要解释你是谁 (3) 直接输出一条暖心的提醒消息 (4) 可以加一句简短的关心或鸡汤的话,比如'辛苦了,好好休息'、'今天也很棒,明天继续加油' (5) 控制在2-3句话以内 (6) 用🏃、🎉、✨等emoji点缀,让提醒更有活力" }
完整的 job 配置:
{ "action": "add", "job": { "name": "工作日下班提醒", "schedule": { "kind": "cron", "expr": "30 17 * * 1-5", "tz": "Asia/Shanghai" }, "sessionTarget": "isolated", "wakeMode": "now", "payload": { "kind": "agentTurn", "message": "你是一个暖心的下班提醒助手。请用温暖、有趣的方式提醒用户:下班时间到了!要求:(1) 不要回复HEARTBEAT_OK (2) 不要解释你是谁 (3) 直接输出一条暖心的提醒消息 (4) 可以加一句简短的关心或鸡汤的话,比如'辛苦了,好好休息'、'今天也很棒,明天继续加油' (5) 控制在2-3句话以内 (6) 用🏃、🎉、✨等emoji点缀,让提醒更有活力", "deliver": true, "channel": "qqbot", "to": "{用户的openid}" } } }
**注意:**周期任务(cron)不加
,否则每次触发后都会被删除。deleteAfterRun
2. 查看下班倒计时
计算逻辑:
- 获取当前时间(Asia/Shanghai 时区)
- 确定今天是工作日还是周末
- 如果是工作日,计算当前时间到 17:30 的剩余时间
- 如果是周末,告知用户今天不用上班,提示距离下一个工作日下班时间
- 如果当前时间已过 17:30,提示已经下班
回复模板:
-
工作日,还未下班:
🕐 今天是工作日,下班时间 17:30 ⏰ 距离下班还有:X小时Y分钟 💪 加油,马上就可以下班啦! -
工作日,已经下班:
🎉 今天已经下班啦! 💤 好好休息,明天见~ -
周末:
😌 今天是周末,不用上班哦~ 📅 距离下个工作日下班还有:X天Y小时
计算示例(使用 Python 脚本):
python3 scripts/countdown.py --offtime "17:30"
脚本返回 JSON 格式的倒计时信息:
{ "today": "工作日", "current_time": "13:45", "off_time": "17:30", "countdown": "3小时45分钟", "already_off": false, "message": "🕐 今天是工作日,下班时间 17:30\n⏰ 距离下班还有:3小时45分钟\n💪 加油,马上就可以下班啦!" }
3. 提醒管理
查询提醒
使用
cron 工具的 list 功能:
{ "action": "list" }
回复模板:
- 有提醒:
📋 你的下班提醒已设置:每天 17:30(工作日) - 无提醒:
📭 目前还没有设置下班提醒哦~ 说"设置下班提醒"就可以啦!
取消提醒
先
list 找到 jobId,然后 remove:
{ "action": "remove", "jobId": "{jobId}" }
回复模板:
✅ 已取消下班提醒~
修改下班时间
需要先取消旧提醒,再创建新提醒。注意 cron 表达式的格式:
- 18:00 →
"0 18 * * 1-5" - 18:30 →
"30 18 * * 1-5" - 17:00 →
"0 17 * * 1-5"
用户交互场景
场景 1:设置下班提醒
用户说:
- "设置下班提醒"
- "提醒我下班"
- "下班时间提醒我一下"
- "每天提醒我下班"
AI 行为:
- 调用
工具创建工作日 17:30 的定时提醒cron - 回复:
🏃 收到!工作日每天 17:30 会提醒你下班~
场景 2:查看倒计时
用户说:
- "还有多久下班"
- "下班倒计时"
- "几点下班"
- "现在到下班还有多久"
AI 行为:
- 调用
计算倒计时scripts/countdown.py - 输出格式化的倒计时信息
场景 3:管理提醒
用户说:
- "我的提醒有哪些"
- "查看下班提醒"
- "取消下班提醒"
- "改到18点提醒"
AI 行为:
- 查询:调用
cron list - 取消:调用
cron remove - 修改:先
再removeadd
自定义下班时间
用户可以指定自定义下班时间,格式为
HH:MM(24小时制):
示例:
- "18点下班提醒" → cron:
"0 18 * * 1-5" - "18:30下班" → cron:
"30 18 * * 1-5" - "17点下班" → cron:
"0 17 * * 1-5"
解析逻辑:
- 从用户输入中提取时间
- 转换为 cron 表达式(分 时 * * 1-5)
- 创建定时提醒
- 回复确认消息
cron 表达式生成公式:
"{分钟} {小时} * * 1-5"
Cron 表达式参考
| 下班时间 | Cron 表达式 |
|---|---|
| 17:00 | |
| 17:30 | |
| 18:00 | |
| 18:30 | |
| 19:00 | |
字段说明:
- 第1个数字:分钟(0-59)
- 第2个数字:小时(0-23)
:每天*
:周一到周五1-5
回复模板总结
| 场景 | 回复 |
|---|---|
| 设置提醒成功 | |
| 查询有提醒 | |
| 查询无提醒 | |
| 取消提醒成功 | |
| 修改提醒成功 | |
| 倒计时(未下班) | |
| 倒计时(已下班) | |
| 倒计时(周末) | |