workday-reminder

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

3,891 stars

Best use case

workday-reminder is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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

Teams using workday-reminder should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/workday-reminder/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/artwebs/workday-reminder/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/workday-reminder/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How workday-reminder Compares

Feature / Agentworkday-reminderStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 工作日下班提醒

## ⚠️ 强制规则

**当用户提到「下班提醒」「下班时间」「还有多久下班」「几点下班」「查看倒计时」等任何涉及下班时间的请求时,必须调用 `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"` | 隔离会话避免污染 |

**提醒消息模板:**

```json
{
  "message": "你是一个暖心的下班提醒助手。请用温暖、有趣的方式提醒用户:下班时间到了!要求:(1) 不要回复HEARTBEAT_OK (2) 不要解释你是谁 (3) 直接输出一条暖心的提醒消息 (4) 可以加一句简短的关心或鸡汤的话,比如'辛苦了,好好休息'、'今天也很棒,明天继续加油' (5) 控制在2-3句话以内 (6) 用🏃、🎉、✨等emoji点缀,让提醒更有活力"
}
```

**完整的 job 配置:**

```json
{
  "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 脚本):**

```bash
python3 scripts/countdown.py --offtime "17:30"
```

脚本返回 JSON 格式的倒计时信息:
```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` 功能:

```json
{ "action": "list" }
```

**回复模板:**
- 有提醒:`📋 你的下班提醒已设置:每天 17:30(工作日)`
- 无提醒:`📭 目前还没有设置下班提醒哦~ 说"设置下班提醒"就可以啦!`

#### 取消提醒

先 `list` 找到 jobId,然后 `remove`:

```json
{ "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📅 距离下个工作日下班还有:{倒计时}` |

Related Skills

healthy-meal-reminder

3891
from openclaw/skills

健康饮食提醒技能。每日三餐+下午茶定时提醒,每次3个方案ABC供选择,饭后30分钟自动跟进记录饮食+计算热量。按季节推荐应季低卡食谱,支持减肥/维持/增肌三模式,含运动搭配、周末放纵餐、互动问答和周报打卡。当用户提到饮食提醒、三餐提醒、吃什么、减肥食谱、健康饮食、meal reminder、吃了什么、体重打卡时激活。

botlearn-reminder

3891
from openclaw/skills

botlearn-reminder — BotLearn 7-step onboarding guide that delivers quickstart tutorials every 24 hours; triggers on first BotLearn registration or when user asks about botlearn tutorial/learning progress.

Waste Reminder Skill

3891
from openclaw/skills

A flexible, token-efficient skill for automated waste container collection reminders.

reminder-agent

3891
from openclaw/skills

Converts any human reminder request into structured JSON reminder data. Trigger this skill whenever the user wants to set, create, schedule, or log a reminder — in any language (Vietnamese or English). This includes phrases like "nhắc tôi", "đặt lịch", "set a reminder", "remind me", "tạo reminder", "lên lịch", or any message describing a future task with a time. Also trigger when the user mentions âm lịch / lunar dates alongside a reminder request. Always use this skill — do NOT attempt to build reminder JSON from scratch without it.

Channel Reminders

3891
from openclaw/skills

Навык для создания напоминаний через cron jobs с доставкой в Telegram.

calendar-reminders

3891
from openclaw/skills

Calendar reminders pipeline: config-driven wrapper around gcalcli (Google Calendar) plus optional CalDAV source via vdirsyncer+khal, and a reminder planner that outputs a JSON plan for one-shot OpenClaw reminders.

reminder-guardian

3891
from openclaw/skills

Helps you remember things by keeping a list of reminders, creating the scheduled jobs to alert you, and tracking which ones are done.

birthday-reminder

3891
from openclaw/skills

管理并计算生日提醒(阳历与农历),支持每条记录单独配置和全局默认值,支持当天提醒/提前 N 天/多次提醒和提醒时间配置,默认使用北京时间。用于需要生成或维护生日提醒方案、编写配置文件、验证提醒是否到期,并结合官方定时任务技能自动触发通知发送。

smart-reminder-companion

3891
from openclaw/skills

智能提醒小管家,支持定时提醒、情绪联动提醒、场景化提醒。

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation

find-skills

3891
from openclaw/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

General Utilities