HomeBrowseUpload
← Back to registry
// Skill profile

工作日下班提醒

name: workday-reminder

by artwebs · published 2026-04-01

日历管理数据处理
Total installs
0
Stars
★ 0
Last updated
2026-04
// Install command
$ claw add gh:artwebs/artwebs-workday-reminder
View on GitHub
// Full documentation

---

name: workday-reminder

description: 工作日下班提醒技能。提供工作日下班时间(默认 17:30)的定时提醒、倒计时查询和提醒管理功能。当用户提到"下班提醒"、"下班倒计时"、"还有多久下班"、"设置下班时间"等相关需求时触发。支持工作日和周末区分提醒。

metadata: {"openclaw":{"emoji":"🏃","requires":{"config":["channels.qqbot"]}}}

---

# 工作日下班提醒

⚠️ 强制规则

**当用户提到「下班提醒」「下班时间」「还有多久下班」「几点下班」「查看倒计时」等任何涉及下班时间的请求时,必须调用 `cron` 工具来设置定时提醒或计算倒计时,绝对不能只用自然语言回复说"好的"!**

你没有内存或后台线程,口头承诺"到时候提醒"是无效的——只有调用 `cron` 工具才能真正注册定时任务。

---

核心规则

1. 下班提醒设置

**默认下班时间:17:30(工作日)**

  • 只在工作日提醒(周一到周五)
  • 周末不提醒
  • 使用 cron 表达式:`"30 17 * * 1-5"`
  • 时区:`Asia/Shanghai`
  • **payload.kind 必须是 `"agentTurn"`,绝对不能用 `"systemEvent"`!**

    **5 个不可更改字段:**

    | 字段 | 固定值 | 原因 |

    |------|--------|------|

    | `payload.kind` | `"agentTurn"` | `systemEvent` 不会发 QQ 消息 |

    | `payload.deliver` | `true` | 否则不投递 |

    | `payload.channel` | `"qqbot"` | QQ 通道标识 |

    | `payload.to` | 用户 openid | 从上下文获取 |

    | `sessionTarget` | `"isolated"` | 隔离会话避免污染 |

    **提醒消息模板:**

    {
      "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. 查看下班倒计时

    **计算逻辑:**

    1. 获取当前时间(Asia/Shanghai 时区)

    2. 确定今天是工作日还是周末

    3. 如果是工作日,计算当前时间到 17:30 的剩余时间

    4. 如果是周末,告知用户今天不用上班,提示距离下一个工作日下班时间

    5. 如果当前时间已过 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 行为:**

    1. 调用 `cron` 工具创建工作日 17:30 的定时提醒

    2. 回复:`🏃 收到!工作日每天 17:30 会提醒你下班~`

    ---

    场景 2:查看倒计时

    **用户说:**

  • "还有多久下班"
  • "下班倒计时"
  • "几点下班"
  • "现在到下班还有多久"
  • **AI 行为:**

    1. 调用 `scripts/countdown.py` 计算倒计时

    2. 输出格式化的倒计时信息

    ---

    场景 3:管理提醒

    **用户说:**

  • "我的提醒有哪些"
  • "查看下班提醒"
  • "取消下班提醒"
  • "改到18点提醒"
  • **AI 行为:**

  • 查询:调用 `cron list`
  • 取消:调用 `cron remove`
  • 修改:先 `remove` 再 `add`
  • ---

    自定义下班时间

    用户可以指定自定义下班时间,格式为 `HH:MM`(24小时制):

    **示例:**

  • "18点下班提醒" → cron: `"0 18 * * 1-5"`
  • "18:30下班" → cron: `"30 18 * * 1-5"`
  • "17点下班" → cron: `"0 17 * * 1-5"`
  • **解析逻辑:**

    1. 从用户输入中提取时间

    2. 转换为 cron 表达式(分 时 * * 1-5)

    3. 创建定时提醒

    4. 回复确认消息

    **cron 表达式生成公式:**

    "{分钟} {小时} * * 1-5"

    ---

    Cron 表达式参考

    | 下班时间 | Cron 表达式 |

    |---------|-------------|

    | 17:00 | `"0 17 * * 1-5"` |

    | 17:30 | `"30 17 * * 1-5"` |

    | 18:00 | `"0 18 * * 1-5"` |

    | 18:30 | `"30 18 * * 1-5"` |

    | 19:00 | `"0 19 * * 1-5"` |

    **字段说明:**

  • 第1个数字:分钟(0-59)
  • 第2个数字:小时(0-23)
  • `*`:每天
  • `1-5`:周一到周五
  • ---

    回复模板总结

    | 场景 | 回复 |

    |------|------|

    | 设置提醒成功 | `🏃 收到!工作日每天 {时间} 会提醒你下班~` |

    | 查询有提醒 | `📋 你的下班提醒已设置:每天 {时间}(工作日)` |

    | 查询无提醒 | `📭 目前还没有设置下班提醒哦~ 说"设置下班提醒"就可以啦!` |

    | 取消提醒成功 | `✅ 已取消下班提醒~` |

    | 修改提醒成功 | `✅ 下班提醒已更新为:每天 {时间}(工作日)` |

    | 倒计时(未下班) | `🕐 今天是工作日,下班时间 {时间}\n⏰ 距离下班还有:{倒计时}\n💪 加油,马上就可以下班啦!` |

    | 倒计时(已下班) | `🎉 今天已经下班啦!\n💤 好好休息,明天见~` |

    | 倒计时(周末) | `😌 今天是周末,不用上班哦~\n📅 距离下个工作日下班还有:{倒计时}` |

    // Comments
    Sign in with GitHub to leave a comment.
    // Related skills

    More tools from the same signal band