
Claude CodeのスケジュールタスクからGitHub Actions無しでGitHubのイシューを定期操作してみた
はじめに
Claude Codeはタスクを定期実行できます。
リリース当初はローカルマシンからの定期実行のみでしたが、先日、クラウド(サーバーサイド)をトリガーにプロンプトを定期実行できるリモート実行が追加されました。ローカルマシンの起動を気にしなくて済むのは、非常にありがたいです。
GitHubのイシューを毎朝トリアージするタスクを例に考えてみましょう。
GitHub Appのインストール
スケジュールタスクからGitHubリポジトリを操作するには、対象リポジトリにGitHub Appをインストールする必要があります。
https://github.com/apps/claude/ にアクセスし、適切な組織・リポジトリにインストールしてください。
スケジュールタスクの作成
スケジュールタスクは ローカル実行 と リモート実行 の2種類があります。
CLI版はローカル実行(/loop) のみ対応しています。2つとも対応しているデスクトップアプリ、あるいは、Web版を利用してください。

※ デスクトップアプリ版の例
Claude Codeの左メニューの Scheduled を選択し、New task をクリックします。
New local task がローカル実行、 New remote task がクラウド実行のタスクです。
タスクの入力画面で以下を指定します。
- タスク名(Name)
- 自然言語のプロンプト
- 操作対象のリポジトリ(Select a repository)
- スケジュール(Frequency + Time)

今回は 以下のプロンプトを利用しました
オープン状態のイシューにラベルがなければラベルを付与してください
これだけでセットアップは完了です。GitHub ActionsのYAMLを書く必要はありません。
実行
スケジュールタスクは手動実行もスケジュール実行も両方に対応しています。

動作確認のためには、まずは 「Run now」 でオンデマンド実行するのが良いでしょう。
また、呼び出されたタスクは、実行ログ も残ります。

実行ログを確認します。

以下のようなツールが呼び出されていました。
- select: mcp__github__list_issues, mcp__github__get_label, mcp__github__issue_write
- select: mcp__github__issue_read
- Get Label
- Issue Write
対象リポジトリのイシュー一覧を確認すると、ログ通り「enhancement」ラベルが付与されていました。

最後に
Claude Codeのスケジュールタスク機能を利用し、GitHubの定期処理をプロンプトで実行する方法を紹介しました。
ローカルマシンのセットアップや起動状態に依存することなく、設定管理だけで定期実行できるのは非常に便利です。
GitHubリポジトリに対して定期実行する場合、今回のようなClaude Codeをトリガーにする方法と、従来からのGitHub Actionsのスケジューラーを利用する方法があります。
Claude Codeのお手軽さはなかなか捨てがたいものがあります。
一方で、GitHub Actionsを定期実行させるには、YAML定義のワークフローの実装や設定が手間です。
ただし、GitHubも手をこまねいているわけではありません。
GitHubにもテクニカルプレビューではあるものの GitHub Agentic Workflowsという機能があり、自然言語でタスクを定義する機能があります。
GitHubのエコシステムの中で今回のようなことを実現したい場合は、ご検討ください。
備考:Claude Codeの利用形態によるスケジュールタスクの対応状況
| 実行環境 | ローカル実行 | リモート実行 |
|---|---|---|
| デスクトップアプリ | ○ | ○ |
| クラウド(ウェブ)版 | × | ○ |
| CLI (ターミナル) | ○ | × |
参考
- Run prompts on a schedule - Claude Code Docs
- Noah Zweben on X - スケジュールタスク機能の紹介ポスト







