mcpField
C
cron-helper

cron-helper

github.com/tclawde生産性0418 回インストール38 週間前に更新
リポジトリ

cron-helper について

cron-helperは、`openclaw cron`コマンドラインでタスクをスケジュールする方法を案内するスキルです。隔離セッションでのタスク実行とメインセッションでの通知を区別し、ジョブ変更時のログ記録も示します。

主な機能

  1. 01cronジョブの作成と削除の案内
  2. 02タスク実行と通知の使い分け
  3. 03単発および定期スケジュールへの対応
  4. 04チャットチャンネルへの出力配信設定
  5. 05ジョブ一覧と実行履歴の確認

活用シーン

  1. 01Agentタスクの定期実行
  2. 02一度限りのリマインダー設定
  3. 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-run1 回限りのジョブを正常終了後に削除します
--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"

スキルのインストール時に自動的に読み込まれます。

コメント