workday-reminder
工作日下班提醒技能。提供工作日下班时间(默认 17:30)的定时提醒、倒计时查询和提醒管理功能。当用户提到"下班提醒"、"下班倒计时"、"还有多久下班"、"设置下班时间"等相关需求时触发。支持工作日和周末区分提醒。
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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/workday-reminder/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How workday-reminder Compares
| Feature / Agent | workday-reminder | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/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
AI Agents for Marketing
Discover AI agents for marketing workflows, from SEO and content production to campaign research, outreach, and analytics.
AI Agents for Startups
Explore AI agent skills for startup validation, product research, growth experiments, documentation, and fast execution with small teams.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
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
健康饮食提醒技能。每日三餐+下午茶定时提醒,每次3个方案ABC供选择,饭后30分钟自动跟进记录饮食+计算热量。按季节推荐应季低卡食谱,支持减肥/维持/增肌三模式,含运动搭配、周末放纵餐、互动问答和周报打卡。当用户提到饮食提醒、三餐提醒、吃什么、减肥食谱、健康饮食、meal reminder、吃了什么、体重打卡时激活。
botlearn-reminder
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
A flexible, token-efficient skill for automated waste container collection reminders.
reminder-agent
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
Навык для создания напоминаний через cron jobs с доставкой в Telegram.
calendar-reminders
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
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
管理并计算生日提醒(阳历与农历),支持每条记录单独配置和全局默认值,支持当天提醒/提前 N 天/多次提醒和提醒时间配置,默认使用北京时间。用于需要生成或维护生日提醒方案、编写配置文件、验证提醒是否到期,并结合官方定时任务技能自动触发通知发送。
smart-reminder-companion
智能提醒小管家,支持定时提醒、情绪联动提醒、场景化提醒。
---
name: article-factory-wechat
humanizer
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.
find-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.