cron について
qwenpaw cronコマンドで、将来のタスクや定期タスクを管理するスキルです。スケジュールの選択、必要事項の確認、ジョブ作成、安全な管理手順をエージェントに案内します。
主な機能
- 01単発または定期ジョブの作成
- 02テキストまたはエージェントタスクの予約
- 03cron式またはカレンダー式の選択
- 04ジョブの一覧、確認、一時停止、再開、削除
- 05エージェントと実行先の明示を必須化
活用シーン
- 01指定した日時にリマインダーを送信
- 02定期的なチェックやレポートの実行
- 03チャンネル向けエージェントタスクの予約
- 04既存の予約ジョブの確認と管理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ agentscope-ai/ qwenpaw --skill cronインストール後、Claude Code で/cronを入力して読み込まれたか確認します。
詳細
Cron(スケジュールされたタスクの管理)
使用する場合
将来の時刻に何かを自動実行する、またはスケジュールに従って実行を繰り返す必要がある場合にのみ、このスキルを使用してください。
使用する場合
- ユーザーが「毎日/毎週/毎時」何かをするよう依頼している
- ユーザーが「明日の午前9時/来週の月曜日/特定の時刻」に自動リマインダーや実行を依頼している
- 長期的な定期通知、チェック、レポートが必要である
使用しない場合
- タスクを今すぐ一度だけ実行すればよい
- 現在のセッション内で通常の返信をするだけである
- ユーザーが実行時刻やスケジュールを指定していない
- 対象のチャンネル/ユーザー/セッションがまだ明確でない
判断ルール
- 将来のスケジュール実行または定期実行にのみ cron を使用する
- 今すぐ一度だけ実行すればよい場合は、cron ジョブを作成しない
- 作成する前に、実行時刻/スケジュール、対象チャンネル、対象ユーザー、対象セッションを確認する
- すべての cron コマンドに
--agent-idを明示的に含める - デフォルトのエージェントに依存しない。依存すると、タスクがデフォルトのワークスペースに作成される可能性がある
- チャンネルに出力せず実行するエージェントタスクでは、
--silentを追加する。実行、セッション履歴、トレース、任意の Inbox への記録は引き続き行われる requires_reviewが設定されているインポート済みジョブは、決して実行または再開しない。まず Console で確認して承認する
厳守ルール
--agent-id を必ず明示する
すべての qwenpaw cron コマンドに、次を含める必要があります。
--agent-id <your_agent_id>
あなたの agent_id は、システムプロンプトの Agent Identity セクションに記載されています(Your agent id is ...)。 省略しないでください。タスクが誤ってデフォルトのエージェントのワークスペースに作成される可能性があります。
よく使うコマンド
# List tasks
qwenpaw cron list --agent-id <agent_id>
# View task details
qwenpaw cron get <job_id> --agent-id <agent_id>
# View task status
qwenpaw cron state <job_id> --agent-id <agent_id>
# Create a task
qwenpaw cron create --agent-id <agent_id> ...
# Delete a task
qwenpaw cron delete <job_id> --agent-id <agent_id>
# Pause / Resume a task
qwenpaw cron pause <job_id> --agent-id <agent_id>
qwenpaw cron resume <job_id> --agent-id <agent_id>
# Run an existing task once immediately
qwenpaw cron run <job_id> --agent-id <agent_id>
# Update an existing task
qwenpaw cron update <job_id> --agent-id <agent_id> ...
タスクの作成
次の 2 種類に対応しています。
- text:スケジュールに従って固定メッセージを送信します
- agent:スケジュールに従ってエージェントに質問し、対象チャンネルに返信を送信します
次の 2 種類のスケジュールモードに対応しています。
- cron(
--schedule-type cron):従来型の cron 繰り返し(例:毎日 09:00、または 2 時間ごと) - scheduled(
--schedule-type scheduled):--run-atから開始するカレンダー形式のスケジュール。一度限り、または日単位で繰り返します
スケジュールの選択ルール(必ず従う)
- ユーザーの意図が具体的な開始日を含まない一般的な繰り返し(「毎時/毎日/毎週」)の場合は、
cronを優先する - ユーザーの意図に具体的な開始日(「明日」「来週の月曜日」「 から開始」「今後 2 週間」)が含まれる場合は、
scheduledを優先する - 一度限りの
scheduledタスクでは、--run-atのみを指定し、--repeat-*オプションは指定しない - 繰り返す
scheduledタスクでは、--repeat-every-daysを指定し、終了条件を選択する- 回数を指定:
--repeat-end-type count --repeat-count N - 終了日時を指定:
--repeat-end-type until --repeat-until <ISO8601> - 終了なし:
--repeat-end-type never
- 回数を指定:
タイムアウト設定
デフォルトのタイムアウトは 120 秒(2 分)です。時間のかかるエージェントタスクでは、早期キャンセルを防ぐため、より長いタイムアウトを必ず明示的に設定してください。
--timeout 600 # 10 minutes
--timeout 3600 # 1 hour
基本ルール:
- エージェントタスクでウェブ検索、コード実行、または複数ステップのツール呼び出しを行う場合は、
--timeout 600以上を設定する - 重複を防ぐため、タイムアウトはスケジュール間隔より短くする(前の実行がまだ進行中に新しい実行が開始されるのを防ぐ)。例:
- 15 分ごと:
--timeoutは 900 秒を超えないようにする - 10 分ごと:
--timeoutは間隔の 80% 以下を推奨(つまり 480 秒) - 毎日:
--timeoutはより長く設定でき、特別な制限はない
- 15 分ごと:
- 頻繁に実行するタスク(間隔が 10 分以下)では、**タイムアウト ≤ 間隔の 80%**に従う。実行頻度の低いタスク(毎時以上)では、実際の必要に応じて設定する
作成前に必要な最低限の情報
--type--name--schedule-type--cron(--schedule-type cronの場合)--run-at(--schedule-type scheduledの場合)--channel--target-user--target-session--text--agent-id--timeout(エージェントタイプのタスクの場合は、想定される実行時間に応じて適切なタイムアウトを設定してください)
これらの情報が不足している場合は、タスクを作成する前にユーザーに確認してください。
作成例
# Recurring task (--schedule-type cron)
qwenpaw cron create \
--agent-id <agent_id> \
--type text \
--schedule-type cron \
--name "Daily Greeting" \
--cron "0 9 * * *" \
--channel imessage \
--target-user "CHANGEME" \
--target-session "CHANGEME" \
--text "Good morning!"
# Recurring task (--schedule-type cron)
qwenpaw cron create \
--agent-id <agent_id> \
--type agent \
--schedule-type cron \
--name "Check Todos" \
--cron "0 */2 * * *" \
--channel dingtalk \
--target-user "CHANGEME" \
--target-session "CHANGEME" \
--text "What are my pending tasks?" \
--timeout 600
バックグラウンドエージェントのタスクでは、上記のコマンドに --silent を追加してください。text タスクでは使用しないでください。
# Scheduled one-time: remind at 9 AM tomorrow (no repeat)
qwenpaw cron create \
--agent-id <agent_id> \
--type text \
--schedule-type scheduled \
--name "Tomorrow Morning Reminder" \
--run-at "2026-05-13T09:00:00+08:00" \
--channel dingtalk \
--target-user "CHANGEME" \
--target-session "CHANGEME" \
--text "Standup starts at 9:00." \
--save-result-to-inbox
# Scheduled repeating: next two weeks, every day at 9 AM (14 runs)
qwenpaw cron create \
--agent-id <agent_id> \
--type text \
--schedule-type scheduled \
--name "Two-week Standup Reminder" \
--run-at "2026-05-13T09:00:00+08:00" \
--repeat-every-days 1 \
--repeat-end-type count \
--repeat-count 14 \
--channel dingtalk \
--target-user "CHANGEME" \
--target-session "CHANGEME" \
--text "Standup starts at 9:00." \
--save-result-to-inbox
JSON から作成
qwenpaw cron create --agent-id <agent_id> -f job_spec.json
最小限のワークフロー
1. Determine whether this truly requires "future scheduling" or "periodic execution"
2. Confirm execution time/schedule
3. Confirm channel, target-user, target-session
4. Explicitly include --agent-id
5. Create the task with qwenpaw cron create
6. Manage tasks afterwards with list / state / pause / resume / delete
インポートしたジョブの確認
PawPort によってインポートされたジョブは無効化されており、回避できない確認ゲートによって保護されています。
Console Cron Jobs ページで、インポートしたジョブを確認して承認してください。承認すると確認が記録されますが、ジョブは無効のままです。ユーザーから明示的に依頼された場合に限り、そのページで別途有効化してください。
Cron 式の例
0 9 * * * Every day at 9:00
0 */2 * * * Every 2 hours
30 8 * * 1-5 Weekdays at 8:30
0 0 * * 0 Every Sunday at midnight
*/15 * * * * Every 15 minutes
よくある間違い
間違い 1:一度だけすぐに実行するタスクに cron ジョブを作成する
タスクを今すぐ一度だけ実行すればよい場合は、cron ジョブを作成しないでください。
間違い 2:--agent-id を指定しない
その結果、タスクが誤ったエージェント/ワークスペースに割り当てられます。すべての cron コマンドで --agent-id を明示的に指定する必要があります。
間違い 3:必要な情報を揃えずにタスクを作成する
ユーザーが時刻、スケジュール、配信先チャンネル、または配信先セッションを指定していない場合は、まず確認してください。
間違い 4:事前に確認せず既存のタスクを変更する
一時停止、再開、または削除する前に、まず次を実行してください。
qwenpaw cron list --agent-id <agent_id>
正しい job_id を見つけるためのコマンドです。
使用上のヒント
- パラメーターが不足している場合は、作成する前にユーザーに確認してください
- 変更/一時停止/削除する前に、まず
qwenpaw cron list --agent-id <agent_id>を実行してください - 問題のトラブルシューティングには、
qwenpaw cron state <job_id> --agent-id <agent_id>を使用してください - ユーザーにコマンドを提示する際は、そのままコピーして実行できる完全なコマンドを提示してください
- ユーザーが「受信トレイに保存」と言った場合も、言わなかった場合も、
--save-result-to-inboxまたは--no-save-result-to-inboxを明示的に指定してください - ユーザーがチャンネルへの返信なしのバックグラウンド実行またはサイレント実行を求めた場合は、
agentタスクで--silentを使用してください - 作成する前に、
qwenpaw chats list --agent-id <agent_id>を実行して、有効なtarget-userとtarget-sessionを確認できます
ヘルプ情報
qwenpaw cron -h
qwenpaw cron list -h
qwenpaw cron create -h
qwenpaw cron get -h
qwenpaw cron state -h
qwenpaw cron pause -h
qwenpaw cron resume -h
qwenpaw cron delete -h
qwenpaw cron run -h