mcpField
S
scheduler

scheduler

github.com/jshchnzエージェントワークフロー512574 回インストール40 週間前に更新
リポジトリ

scheduler について

schedulerは、Claude Codeのタスクを予約・管理するスキルです。自然言語をcron式に変換し、OS標準のスケジューラーで単発または定期タスクを実行します。コード変更タスクはGit worktreeで分離できます。

主な機能

  1. 01自然言語をcron式に変換
  2. 02単発および定期タスクの作成
  3. 03OS標準スケジューラーで実行
  4. 04Git worktreeでタスクを分離
  5. 05タスク状態と実行ログの確認

活用シーン

  1. 01平日のコードレビューを予約
  2. 02依存関係とセキュリティを週次監査
  3. 03テストスイートを定期実行
  4. 04分離ブランチでコード変更を実施

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jshchnz/claude-code-scheduler --skill scheduler

インストール後、Claude Code で/schedulerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CRON_REFERENCE.md
PLATFORM_SETUP.md
scripts/
parse-cron.py
setup-crontab.sh
setup-launchd.sh
setup-schtasks.ps1

詳細

スケジュール設定アシスタント

Claude Code タスクのスケジュール設定と管理をユーザーに案内します。次のことができます。

  • 自然言語を cron 式に変換する(「平日の毎朝9時」→「0 9 * * 1-5」)
  • cron の構文とスケジュールの概念を説明する
  • OS のネイティブスケジューラー(launchd、cron、Task Scheduler)を設定する
  • スケジュール設定の問題をトラブルシューティングする
  • よくあるワークフロー向けに自動化パターンを提案する

クイックスタート

スケジュールされたタスクを作成するには:

/scheduler:schedule-add

スケジュールされたすべてのタスクを表示するには:

/scheduler:schedule-list

1回限りのタスクと繰り返しタスク

スケジューラーは、1回限りのタスクと繰り返しタスクの両方に対応しています。

1回限りのタスク

特定の時刻に1回だけ実行するタスクです。

  • 「今日の午後3時に実行」
  • 「明日の正午」
  • 「来週火曜日の午後2時」

1回限りのタスクは、実行後に自動的にクリーンアップされます。

繰り返しタスク

スケジュールに従って繰り返し実行するタスクです。

  • 「毎朝9時」
  • 「毎日午後6時」
  • 「平日の午前10時」
  • 0 9 * * 1-5 のような cron 式

判定ルール:「毎回」「毎日」「毎週」などの繰り返しを示すキーワードが含まれていない場合、タスクは1回限りとして扱われます。

Git ワークツリーモード(ブランチを分離)

変更を加えるタスクでは、ワークツリーモードを使うとタスクを分離して実行できます。

You: Every night at 2am, refactor deprecated API calls and push for review

Claude: Should this run in an isolated git worktree?
        → Yes, create branch and push changes
        → No, run in main working directory

You: Yes

Claude: ✓ Task created with worktree isolation
        Branch prefix: claude-task/
        Remote: origin

仕組み:

  1. タスクが実行されると、新しいブランチを持つ新しいワークツリーが作成されます
  2. Claude はワークツリー内で実行されます(メインから分離されています)
  3. 変更がコミットされ、リモートにプッシュされます
  4. プッシュが成功すると、ワークツリーがクリーンアップされます
  5. 都合のよいタイミングで PR をレビューできます

設定オプション:

オプションデフォルト説明
worktree.enabledfalseワークツリーによる分離を有効にします
worktree.branchPrefix"claude-task/"ブランチ名のプレフィックス
worktree.remoteName"origin"プッシュ先のリモート

プッシュに失敗した場合、手動でレビューできるようワークツリーは保持されます。

cron クイックリファレンス

* * * * *
| | | | |
| | | | +-- Day of week (0-6, Sun=0)
| | | +---- Month (1-12)
| | +------ Day of month (1-31)
| +-------- Hour (0-23)
+---------- Minute (0-59)

よく使われるパターン:

パターン説明
0 9 * * *毎日午前9時
0 9 * * 1-5平日の午前9時
*/15 * * * *15分ごと
0 */2 * * *2時間ごと
0 9 1 * *毎月1日の午前9時
0 9 * * 1毎週月曜日の午前9時

構文の詳細については、CRON_REFERENCE.md を参照してください。

プラットフォームの設定

タスクは OS のネイティブスケジューラーによって実行されます。

  • macOS: launchd(LaunchAgents)
  • Linux: crontab
  • Windows: Task Scheduler

プラットフォーム固有の詳細については、PLATFORM_SETUP.md を参照してください。

よくある使用例

毎日のコードレビュー
Schedule: 0 9 * * 1-5 (weekdays at 9am)
Command: /review-code --scope=yesterday
毎週の依存関係監査
Schedule: 0 10 * * 1 (Mondays at 10am)
Command: Check for outdated dependencies and security vulnerabilities
自動テスト
Schedule: 0 */4 * * * (every 4 hours)
Command: Run test suite and report failures

トラブルシューティング

タスクが実行されませんか?

  1. /scheduler:schedule-status で状態を確認します
  2. タスクが有効になっていることを確認します:/scheduler:schedule-list
  3. ログを確認します:/scheduler:schedule-logs <task-id>
  4. スケジューラーの PATH に claude CLI が含まれていることを確認します

よくある問題:

  • スケジューラー環境で PATH が正しく設定されていない
  • 作業ディレクトリが存在しない
  • コマンド構文に誤りがある
  • スケーラーデーモンが実行されていない

ヘルパースクリプト

cron 式を検証するには:

python scripts/parse-cron.py "0 9 * * 1-5"

利用可能なコマンド

コマンド説明
/scheduler:schedule-add新しいスケジュールタスクを作成します
/scheduler:schedule-listスケジュールされたすべてのタスクを表示します
/scheduler:schedule-remove <id>スケジュールされたタスクを削除します
/scheduler:schedule-statusスケジューラーの状態を確認します
/scheduler:schedule-run <id>タスクを手動で実行します
/scheduler:schedule-logs <id>実行ログを表示します

コメント