cron-helper について
cron-helperは、`openclaw cron`コマンドラインでタスクをスケジュールする方法を案内するスキルです。隔離セッションでのタスク実行とメインセッションでの通知を区別し、ジョブ変更時のログ記録も示します。
主な機能
- 01cronジョブの作成と削除の案内
- 02タスク実行と通知の使い分け
- 03単発および定期スケジュールへの対応
- 04チャットチャンネルへの出力配信設定
- 05ジョブ一覧と実行履歴の確認
活用シーン
- 01Agentタスクの定期実行
- 02一度限りのリマインダー設定
- 03定期タスクの結果をチャットへ配信
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tclawde/ openclaw-skills-user --skill cron-helperインストール後、Claude Code で/cron-helperを入力して読み込まれたか確認します。
同梱ファイルpackage.json
詳細
Cron ヘルパースキル
目的: 時間ベースのタスクで openclaw cron CLI を使い、作成・削除時にログを送信する方法を案内します。
使用する場面:
- ユーザーが定期タスクやリマインダーを依頼したとき
- ユーザーが「Xごとにリマインドして」と言ったとき
- ユーザーがスケジュールされたバックグラウンドチェックを必要とするとき
- ユーザーがエージェントに特定の時刻にタスクを実行してほしいとき
基本原則
手動で時間を計るより、常に cron を優先してください。
理由:私には内部時計がありません。手動で「自分で時間を計る」方法では、読んだり考えたりすることに夢中になって時間を忘れることがあるため、うまくいきません。cron は確実に機能する外部時計です。
メインセッションと分離セッション
分離セッション(タスクには推奨) ✅ ベストプラクティス
エージェントに実際にタスクを実行させる場合は、--session isolated を使用してください。
- エージェントがメッセージを受け取り、実行します
- ツールを使用できます(exec、read、message など)
- 出力をチャンネルに配信できます
- メインの会話履歴を汚しません
形式:
openclaw cron add \
--name "job_name" \
--cron "0 9 * * *" \
--session isolated \
--message "Task instructions for the agent" \
--deliver \
--channel feishu
メインセッション(簡単な通知のみ)
簡単な通知のみの場合は、--system-event とともに --session main を使用してください。
- メインのチャットにメッセージを表示するだけです
- エージェントはタスクを実行しません
- ツール呼び出しや配信はありません
形式:
openclaw cron add \
--name "reminder" \
--at "+30m" \
--session main \
--system-event "Reminder: check email"
応答の手順
ステップ 1:依頼を検出する
キーワード:「毎回」「リマインド」「スケジュール」「定时」「每小时/每天/每周」「在X分钟后执行」
ステップ 2:詳細を確認する
ユーザーから次の情報を確認します。
- 内容 - タスクの説明または通知メッセージ
- 日時 - スケジュール(例:「2時間ごと」「毎日午前9時」「10分後」)
- 配信 - 出力をチャットに送信する必要があるか(デフォルト:いいえ)
- 名前 - ジョブ名(任意。指定がなければ自動生成)
ステップ 3:cron ジョブを作成する
エージェントのタスク(推奨):
openclaw cron add \
--name "task_name" \
--at "+10m" \
--session isolated \
--message "Your task instructions here" \
--deliver \
--channel feishu
簡単なリマインダー:
openclaw cron add \
--name "reminder" \
--at "+10m" \
--session main \
--system-event "Your reminder message"
cron ジョブを削除する:
openclaw cron rm <job_id>
すべての cron ジョブを一覧表示する:
openclaw cron list
その他の便利なコマンド:
openclaw cron status # 查看调度器状态
openclaw cron run <job_id> # 立即触发任务
openclaw cron enable <job_id> # 启用任务
openclaw cron disable <job_id> # 禁用任务
openclaw cron runs <job_id> # 查看执行历史
配信オプション
--session isolated を使用すると、出力をチャットに配信できます。
| オプション | 説明 |
|---|---|
--deliver | 配信を有効にします(チャンネルへの出力に必須) |
--channel <name> | チャンネル:feishu、telegram、slack、whatsapp など |
--to <dest> | チャンネル固有の宛先(チャット ID、電話番号など) |
--post-mode full | 要約ではなく、出力全体を投稿します |
例:
# Deliver to Feishu
--deliver --channel feishu
# Deliver to Telegram
--deliver --channel telegram --to "-1001234567890"
# Deliver with full output
--deliver --channel feishu --post-mode full
共通オプション
| オプション | 説明 |
|---|---|
--cron <expr> | cron 式(5 フィールド、または秒を含む 6 フィールド) |
--every <duration> | 指定した間隔で実行します(例:10m、1h) |
--at <when> | 指定した時刻に 1 回実行します(ISO または +duration。m/s に対応) |
--tz <iana> | タイムゾーン(デフォルト:ローカル) |
--session main|isolated | 対象セッション(デフォルト:main) |
--system-event <text> | システムイベントのペイロード(メインセッションのみ) |
--message <text> | エージェントメッセージのペイロード(分離セッションのみ) |
--delete-after-run | 1 回限りのジョブを正常終了後に削除します |
--disabled | ジョブを無効状態で作成します |
ステップ 4:ログを送信する
作成・削除時のみ:
cron ジョブを作成または削除した後、正確なコマンドを含むログを 1 件送信します。
ログの形式:
# 新增任务
[HH:MM] CRON ✅
$ openclaw cron add \
--name "job_name" \
--at "+10m" \
--session isolated \
--message "task description" \
--deliver \
--channel feishu
# 删除任务
[HH:MM] CRON ❌
$ openclaw cron rm <job_id>
例:
# 新增
[21:30] CRON ✅
$ openclaw cron add \
--name "daily-summary" \
--cron "0 9 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message "总结今天的工作" \
--deliver \
--channel feishu
# 删除
[21:41] CRON ❌
$ openclaw cron rm 983a0f0e-0976-414a-b3d0-fd09c533e301
重要事項:
- ログを送信するのは作成・削除時のみです。実行時には送信しません
- 簡潔にします。コマンドブロック 1 つのみとし、追加の文章は含めません
Cron から人間向けの表現への対応(5 桁 - 分時日月週):
*/5 * * * *→ 5分ごと*/30 * * * *→ 30分ごと0 * * * *→ 1時間ごと0 */2 * * *→ 2時間ごと0 9 * * *→ 毎日1回(09:00)0 10,22 * * *→ 毎日2回(10:00、22:00)0 9 * * 1→ 毎週1回(月曜日09:00)
Cron から人間向けの表現への対応(6 桁 - 秒分時日月週):
*/1 * * * * *→ 1秒ごと*/5 * * * * *→ 5秒ごと*/30 * * * * *→ 30秒ごと
ベストプラクティスのまとめ
| 使用例 | セッション | ペイロード | 配信 |
|---|---|---|---|
| エージェントがタスクを実行 | isolated | --message | --deliver ✅ |
| 簡単な通知 | main | --system-event | ❌ |
目安: エージェントに何かを実行させたい(ツールの使用やメッセージの送信)場合は、--session isolated と --message を使用します。
やってはいけないこと
❌ 「自分でリマインダーを設定します」と言わないでください
❌ 時間を手動で追跡しようとしないでください
❌ エージェントにタスクを実行させる必要がある場合は、--system-event を使わないでください
❌ チャットに出力を送る必要がある場合は、--deliver を忘れないでください
❌ 実行ログを送信しないでください(作成/削除時のみログを送信します)
✅ 必ず openclaw cron CLI を使用してください
✅ エージェントのタスクには --session isolated を使用してください
✅ シンプルな通知にのみ --session main を使用してください
✅ 作成/削除時のみログを送信してください
✅ ログはシンプルですっきりしたものにしてください
よく使うスケジュールパターン
五位 Cron(分 時 日 月 曜日)
| 頻度 | Cron 式 | CLI フラグ |
|---|---|---|
| 5 分ごと | */5 * * * * | --cron "*/5 * * * *" |
| 30 分ごと | */30 * * * * | --cron "*/30 * * * *" |
| 1 時間ごと | 0 * * * * | --cron "0 * * * *" |
| 2 時間ごと | 0 */2 * * * | --cron "0 */2 * * *" |
| 毎日午前 9 時 | 0 9 * * * | --cron "0 9 * * *" |
| 1 日 2 回(午前 10 時、午後 10 時) | 0 10,22 * * * | --cron "0 10,22 * * *" |
| 毎週(月曜日の午前 9 時) | 0 9 * * 1 | --cron "0 9 * * 1" |
六位 Cron(秒 分 時 日 月 曜日)
| 頻度 | Cron 式 | CLI フラグ |
|---|---|---|
| 1 秒ごと | */1 * * * * * | --cron "*/1 * * * * *" |
| 5 秒ごと | */5 * * * * * | --cron "*/5 * * * * *" |
| 30 秒ごと | */30 * * * * * | --cron "*/30 * * * * *" |
期間フラグ:
| 頻度 | CLI フラグ |
|---|---|
| 10 分ごと | --every "10m" |
| 2 時間ごと | --every "2h" |
| 20 分後に 1 回 | --at "+20m" |
| 20 秒後に 1 回 | --at "+20s" |
スキルのインストール時に自動的に読み込まれます。