メモ
/everyコマンドと/after コマンドは現在試験段階の機能であり、/experimental onスラッシュ コマンドまたは ‑‑experimental コマンド ライン オプションを使用した場合にのみ使用できます。
対話型の Copilot CLI セッションでは、プロンプトを自動的に送信するようにスケジュールできます。 これは、 Copilot 定期的にタスクを繰り返す場合や、遅延後に 1 回限りのタスクを実行する場合に、プロンプトを手動で送信する必要がない場合に便利です。
これには、次の 2 つのスラッシュ コマンドがあります。
/every— 一定の間隔で、またはCopilotによって決定された周期で、プロンプトを繰り返し送信するようにスケジュールします。/after— 指定した期間が経過した後に、プロンプトを 1 回送信するようにスケジュールします。
どちらのコマンドも、対話型の Copilot CLI セッション内でのみ使用できます。スケジュールは、作成されたセッションの実行中にのみ実行されます。 セッションが開かっていないときにスケジュールに基づいて Copilot CLI を実行する方法については、この記事の最後にある 外部スケジューラからのプロンプトの実行 を参照してください。
/every を使用して定期的なプロンプトをスケジュールする
対話型 Copilot CLI セッションで、「 /every 」と入力し、送信するプロンプトを入力します。 一定の間隔を使用するには、プロンプトの前に間隔を含めます。
/every [INTERVAL] PROMPT
間隔を指定すると、間隔が経過した後、スケジュール エントリを削除するか対話型 CLI セッションを終了するまで同じ間隔でプロンプトが送信されます。
例
/every 1h run the test suite and summarize any new failures
/every 30m check for new comments on my open pull requests
メモ
/loop は /everyのエイリアスです。 したがって、必要に応じて、/loopの代わりに/everyを入力できます。効果は同じです。
自己ペースのスケジュール設定
プロンプトで /every を使用しても、間隔や時間 ( /every keep checking the deployment and let me know once it's healthyなど) を使用しない場合、Copilot は、エラーの代わりに自己ペースのスケジュールを作成します。 各実行後、 Copilot は、一定の間隔に従うのではなく、タスクに基づいてプロンプトを再度実行するタイミングを決定し、監視する必要がない場合は単独で停止します。 モデルは周期を選択するため、自己ペースのスケジュールは一定の間隔よりも多かれ少なかれ頻繁に実行される可能性があるため、予想以上に実行される場合は( スケジュールされたプロンプトの管理に関する説明に従って) そのスケジュールを注意して削除します。
一度限りのプロンプトのスケジュール設定 /after
/after に続けて、遅延と送信したいプロンプトを入力します。
/after DELAY PROMPT
遅延が経過した後、プロンプトが 1 回起動し、スケジュール一覧から削除されます。
メモ
/after では、自己ペースのスケジュール設定はサポートされません。 /afterにプロンプトを渡す場合は、遅延または時間を指定する必要があります。
例
/after 30m Give me details of changes to README.md made in the last 30 minutes
/after 10m Check that the address finder is visible on example.com/register
スキルのスケジュール設定
/everyと/afterを使用してスキルをスケジュールできます。 これを行うには、スラッシュ コマンドを使用してスキルを明示的に参照するか、自然言語を使用してスキルを実行するように Copilot に指示できます。
メモ
スケジュールできるのは、ユーザーが使用できないスキルと組み込みのスラッシュ コマンドのサブセットだけです。
/plan、/review、/research、/security-reviewなど、自己完結型の作業を開始するコマンドはスケジュール可能です。 セッションまたは構成を変更するコマンド ( /model、 /clear、 /compact、 /permissions、 /sandboxなど)、情報のみを表示するコマンド ( /usage や /contextなど)、スケジュール自体を管理するコマンド (/every と /after) はスケジュールできないので、 Copilot は拒否します。
例
/after 2h Use the docx skill to create a new file summarizing recent changes to this repo
/every 1d /refactor-plan Adjust the architecture of this project to improve the responsiveness of the client UI
間隔と遅延の構文
| サフィックス | 単位 | 例 |
|---|---|---|
s | 秒 | 30s |
m | minutes | 5m |
h | 時間 | 2h |
d | days | 1d |
数値の期間を指定する場合は、常にサフィックスを含めます。 ベア番号 (たとえば、 /every 30 remind me to check for Slack messages) は、間隔として認識されません。
一定の間隔の場合、最小値は 10 秒 で、最大値は 1 日 (24 時間) です。
/after at 3pm push the releaseや/every day at 9am post the standupなど、期間を使用するのではなく、単純な言語でタイミングを記述することもできます。
Copilot では、モデルを使用してフレーズを解釈し、そこからスケジュールを作成します。
セッションでスケジュールされたプロンプトを識別する
スケジュールされたプロンプトがトリガーされると、 Copilot はプロンプトの前に [Scheduled prompt #4] などのテキストを付けて、自分で入力したプロンプトと区別します。
ID を使用してスケジュールを取り消すことができます。 たとえば、「 stop prompt 4」と入力します。
スケジュールされたプロンプトの管理
現在のセッションのアクティブなスケジュールを一覧表示するには、引数なしで /every または /after を入力します。
スケジュールを削除するには、キーボードの方向キーを使用して一覧を移動し、削除するスケジュールを選択してから、 x キーを押します。
Esc キーを押してスケジュール リストを終了します。
セッションを閉じて再度開くとどうなりますか
スケジュールされたプロンプトは、作成されたセッションにスコープが設定され、そのセッションの実行中にのみトリガーされます。
( --continue または --resume コマンド ライン オプションを使用して) セッションを再度開くと、スケジュールが復元されます。 一定の間隔で作成された定期的なスケジュールの場合、セッションを再度開いた時点から次の実行前の待機が測定されます。
セッションを閉じる前にトリガーされなかった /after スケジュールは、遅延を再開するのではなく、元のターゲット時間を保持します。 セッションが閉じられた間にその時間が経過した場合、セッションを再度開くとすぐにプロンプトが送信されます。
外部スケジューラからのプロンプトの実行
/everyコマンドと/after コマンドは、対話型のCopilot CLI セッションが開いている間にのみ実行されます。 セッションがアクティブでない場合でも、スケジュールに従ってプロンプトを実行する場合は、macOS または Linuxは <c1、>cron、Windows では
Copilot CLIプログラムで実行するには、構文copilot -p "YOUR PROMPT"を使用します。 CLI は、対話型インターフェイスを表示せずにプロンプトを処理し、終了します。
これは、次のようなタスクに役立ちます。
- 夜間メンテナンス — たとえば、ブランチ上の最新の変更を対象に毎晩テストスイートを実行し、その概要をトラッキング issue に投稿すること。
- 依存関係の定期的なチェック — たとえば、依存関係を更新し、結果に対してテスト スイートを実行する毎週のプル要求を開きます。
- スケジュールされたレポート - たとえば、新しい問題の毎日の概要を生成したり、自分に割り当てられた pull request を生成したり、電子メールを送信したり、チャット チャネルに投稿したりします。
詳細については、「プログラムによる GitHub Copilot CLI の実行」を参照してください。