Communityコーディング&開発github.com

QQBot リマインダー

QQBot のスケジュールリマインダー。ユーザーが明示的にリマインダーを作成・一覧表示・キャンセルするよう要求した場合のみ使用します。時間や内容、タイムゾーンが不足している場合は事前に確認します。

QQBot リマインダー とは?

このスキルは、QQBot 経由でユーザーに一回限りまたは定期的なリマインダーを送信するためのツールです。ユーザーが「5分後にリマインダー」や「毎朝8時にリマインダー」などと明示的に要求した場合にのみ、`qqbot_remind` ツールを呼び出して Gateway cron タスクを登録します。`qqbot_remind` が利用できない場合のフォールバックとして、`cron` ツールを直接使用する方法もサポートしています。このスキルの重要なルールは、`payload.kind` に `"agentTurn"` を使用すること(`"systemEvent"` はユーザーにメッセージが届きません)、`delivery.mode` に `"announce"` を設定すること、`schedule.atMs` には絶対ミリ秒タイムスタンプを使用することです。定期的なリマインダーには IANA タイムゾーンを指定する必要があり、ユーザーに確認せずにタイムゾーンを仮定してはいけません。主な操作は `add`、`list`、`remove` で、`remove` + `add` でリマインダーの変更を行います。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/extensions/qqbot/skills/qqbot-remind

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

QQ Bot 定时提醒 (QQBot リマインダー)

⚠️ 意図ルール

ユーザーがリマインダー/アラーム/スケジュールタスクの作成・確認・キャンセルを明示的に要求した場合のみ、ツールを呼び出してください。雑談、仮定の話、リマインダー機能の説明、将来の計画の議論(ただしリマインダー作成の要求がない場合)では、ツールを呼び出さないでください。

ユーザーがリマインダーを要求した場合、メモリやバックグラウンドスレッドはありません。「その時にリマインドします」という口頭での約束は無効です。スケジュールタスクを実際に登録するには、必ずツールを呼び出す必要があります。時間、リマインダー内容、対象セッション、タイムゾーンが不明な場合は先に質問してください。ユーザーの代わりに推測しないでください。


推奨フロー(qqbot_remind ツールを使用)

ステップ1: qqbot_remind ツールを呼び出し、簡単なパラメータを渡します。

パラメータ説明例
action操作タイプ"add" / "list" / "remove"
contentリマインダー内容"水を飲む"
to対象アドレス(オプション、システムが自動取得、通常は不要)—
time時間(相対時間または cron 式)"5m" / "1h30m" / "0 8 * * *"
timezoneIANA タイムゾーン(定期リマインダーでは明示推奨)"Asia/Tokyo" / "America/Los_Angeles"
jobIdタスク ID(remove のみ)"xxx"

ステップ2: qqbot_remind の戻り結果に基づいてユーザーに応答します。qqbot_remind は Gateway cron タスクを直接作成、照会、キャンセルします。成功した後に cron ツールを再度呼び出さないでください。

例

ユーザー:「5分後に水を飲むのをリマインドして」

  1. qqbot_remind を呼び出します:{ "action": "add", "content": "水を飲む", "time": "5m" }
  2. ツールが成功を返したら、ユーザーに応答:⏰ はい、5分後に水を飲むのをリマインドします〜

代替手段(cron ツールを直接使用)

qqbot_remind ツールが利用できないが、cron ツールが利用できる場合のみ、以下の方法を使用してください。

コアルール

payload.kind は必ず "agentTurn" にしてください。"systemEvent" は絶対に使用しないでください! systemEvent は AI セッション内にテキストを注入するだけで、ユーザーは QQ メッセージを受信できません。

変更不可フィールド:

フィールド固定値理由
payload.kind"agentTurn"systemEvent は QQ メッセージを送信しません
delivery.mode"announce"プッシュ配信モード
delivery.channel"qqbot"QQ チャネル識別子
delivery.to対象アドレス現在のセッションコンテキストから取得
delivery.accountId現在のアカウントIDマルチアカウントシナリオでは省略不可
sessionTarget"isolated"隔離セッションによる汚染防止

schedule.atMs は絶対ミリ秒タイムスタンプ(例:1770733800000)である必要があります。"5m" などの相対文字列はサポートされていません。 計算方法:現在のタイムスタンプms + 遅延ミリ秒

一回限りのリマインダー(schedule.kind = "at")

{
  "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) 短い励ましや気遣いの言葉を1文追加してもよい (5) 2〜3文以内に収める (6) 絵文字で飾る"
    },
    "delivery": {
      "mode": "announce",
      "channel": "qqbot",
      "to": "qqbot:c2c:{openid}",
      "accountId": "{accountId}"
    }
  }
}

定期リマインダー(schedule.kind = "cron")

{
  "action": "add",
  "job": {
    "name": "{タスク名}",
    "schedule": { "kind": "cron", "expr": "0 8 * * *", "tz": "{ユーザーが確認した IANA タイムゾーン}" },
    "sessionTarget": "isolated",
    "wakeMode": "now",
    "payload": {
      "kind": "agentTurn",
      "message": "あなたは心温まるリマインダーアシスタントです。ユーザーに次の内容を温かく、楽しい方法でリマインドしてください:{リマインダー内容}。要件:(1) HEARTBEAT_OK を返さない (2) 自分が誰かを説明しない (3) 心温まるリマインダーメッセージを直接出力する (4) 短い励ましや気遣いの言葉を1文追加してもよい (5) 2〜3文以内に収める (6) 絵文字で飾る"
    },
    "delivery": {
      "mode": "announce",
      "channel": "qqbot",
      "to": "qqbot:c2c:{openid}",
      "accountId": "{accountId}"
    }
  }
}

定期タスクには deleteAfterRun を追加しないでください。グループチャットの delivery.to 形式は "qqbot:group:{group_openid}" です。


cron 式クイックリファレンス

シナリオexpr
毎日午前8時"0 8 * * *"
毎日午後10時"0 22 * * *"
平日午前9時"0 9 * * 1-5"
毎週月曜午前9時"0 9 * * 1"
毎週末午前10時"0 10 * * 0,6"
毎正時"0 * * * *"

定期リマインダーでは、ユーザーが明示的に提供した、ユーザープロファイル/セッションから信頼できる、またはユーザーが確認した IANA タイムゾーンを使用してください。判断できない場合は先に質問してください。すべてのユーザーが同じタイムゾーンにいると仮定しないでください。


AI 判断ガイド

ユーザーの発言actiontime 形式
「5分後に水を飲むのをリマインドして」add"5m"
「1時間後に会議をリマインドして」add"1h"
「毎日8時に出勤をリマインドして」add"0 8 * * *"
「平日の午前9時にリマインドして」add"0 9 * * 1-5"
「今あるリマインダーは?」list—
「水を飲むリマインダーをキャンセルして」remove—
「リマインダーの時間を変更して」remove → add—
「リマインドして」(時間なし)質問が必要—

純粋な相対時間(「5分後」「1時間後」)は計算が可能なので確認は不要です。時間、日付、周期、内容、タイムゾーンが不明確または不足している場合は質問が必要です。定期リマインダーでは応答に解釈した現地時間とタイムゾーンを説明してください。


応答テンプレート

  • 一回限り:⏰ はい、{時間}後に{内容}をリマインドします〜
  • 定期:⏰ 承知しました、{周期}ごとに{内容}をリマインドします〜
  • 照会結果なし:📋 現在リマインダーはありません。「5分後にxxxをリマインドして」と話しかけてみてください〜
  • 削除成功:✅ 「{名前}」をキャンセルしました

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

関連スキル