extensions/qqbot/skills/qqbot-remind/SKILL.md
QQBot 定时提醒。支持一次性和周期性提醒的创建、查询、取消。当通过 QQ 通道通信且涉及提醒/定时任务时使用。
npx skillsauth add openclaw/openclaw qqbot-remindInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
当用户提到「提醒」「闹钟」「定时」「X分钟/小时后」「每天X点」「叫我」等任何涉及延时或定时的请求时,你必须调用工具,绝对不能只用自然语言回复说"好的,我会提醒你"!
你没有内存或后台线程,口头承诺"到时候提醒"是无效的——只有调用工具才能真正注册定时任务。
qqbot_remind 工具)第一步:调用 qqbot_remind 工具,传入简单参数:
| 参数 | 说明 | 示例 |
| --------- | -------------------------------------------- | ---------------------------------- |
| action | 操作类型 | "add" / "list" / "remove" |
| content | 提醒内容 | "喝水" |
| to | 目标地址(可选,系统自动获取,通常无需填写) | — |
| time | 时间(相对时间或 cron 表达式) | "5m" / "1h30m" / "0 8 * * *" |
| jobId | 任务 ID(仅 remove) | "xxx" |
第二步:qqbot_remind 会返回 cronParams,你必须立即将 cronParams 的值作为参数调用 cron 工具。
第三步:根据 cron 工具的返回结果,回复用户。
用户说:"5分钟后提醒我喝水"
qqbot_remind:{ "action": "add", "content": "喝水", "time": "5m" }cronParams → 立即调用 cron 工具,参数为该 cronParams⏰ 好的,5分钟后提醒你喝水~cron 工具)仅当
qqbot_remind工具不可用时使用以下方式。
payload.kind 必须是
"agentTurn",绝对不能用"systemEvent"!systemEvent只在 AI 会话内部注入文本,用户收不到 QQ 消息。
5 个不可更改字段:
| 字段 | 固定值 | 原因 |
| ----------------- | ------------- | ---------------------------- |
| payload.kind | "agentTurn" | systemEvent 不会发 QQ 消息 |
| payload.deliver | true | 否则不投递 |
| payload.channel | "qqbot" | QQ 通道标识 |
| payload.to | 用户 openid | 从 To 字段获取 |
| sessionTarget | "isolated" | 隔离会话避免污染 |
schedule.atMs必须是绝对毫秒时间戳(如1770733800000),不支持"5m"等相对字符串。 计算方式:当前时间戳ms + 延迟毫秒。
{
"action": "add",
"job": {
"name": "{任务名}",
"schedule": { "kind": "at", "atMs": "{当前时间戳ms + N*60000}" },
"sessionTarget": "isolated",
"wakeMode": "now",
"deleteAfterRun": true,
"payload": {
"kind": "agentTurn",
"message": "你是一个暖心的提醒助手。请用温暖、有趣的方式提醒用户:{提醒内容}。要求:(1) 不要回复HEARTBEAT_OK (2) 不要解释你是谁 (3) 直接输出一条暖心的提醒消息 (4) 可以加一句简短的鸡汤或关怀的话 (5) 控制在2-3句话以内 (6) 用emoji点缀",
"deliver": true,
"channel": "qqbot",
"to": "{openid}"
}
}
}
{
"action": "add",
"job": {
"name": "{任务名}",
"schedule": { "kind": "cron", "expr": "0 8 * * *", "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}"
}
}
}
周期任务不加
deleteAfterRun。群聊to格式为"group:{group_openid}"。
| 场景 | expr |
| -------------- | ---------------- |
| 每天早上8点 | "0 8 * * *" |
| 每天晚上10点 | "0 22 * * *" |
| 工作日早上9点 | "0 9 * * 1-5" |
| 每周一早上9点 | "0 9 * * 1" |
| 每周末上午10点 | "0 10 * * 0,6" |
| 每小时整点 | "0 * * * *" |
周期提醒必须加
"tz": "Asia/Shanghai"。
| 用户说法 | action | time 格式 |
| ------------------- | ---------------- | --------------- |
| "5分钟后提醒我喝水" | add | "5m" |
| "1小时后提醒开会" | add | "1h" |
| "每天8点提醒我打卡" | add | "0 8 * * *" |
| "工作日早上9点提醒" | add | "0 9 * * 1-5" |
| "我有哪些提醒" | list | — |
| "取消喝水提醒" | remove | — |
| "修改提醒时间" | remove → add | — |
| "提醒我"(无时间) | 需追问 | — |
纯相对时间("5分钟后"、"1小时后")可直接计算,无需确认。时间模糊或缺失时需追问。
⏰ 好的,{时间}后提醒你{内容}~⏰ 收到,{周期}提醒你{内容}~📋 目前没有提醒哦~ 说"5分钟后提醒我xxx"试试?✅ 已取消"{名称}"development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
data-ai
Example TaskFlow authoring pattern for inbox triage. Use when messages need different treatment based on intent, with some routes notifying immediately, some waiting on outside answers, and others rolling into a later summary.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------