# GitHub Copilot CLI（コマンドラインインターフェース） でのプロンプトのスケジュール設定

/every および /after スラッシュ コマンドを使用すると、定期的なスケジュールで、または指定した時間の経過後に、Copilot にプロンプトを送信できます。

> \[!NOTE]
> `/every`コマンドと`/after` コマンドは現在試験段階の機能であり、`/experimental on`スラッシュ コマンドまたは `--experimental` コマンド ライン オプションを使用した場合にのみ使用できます。

対話型の Copilot CLI (コパイロット CLI) セッションでは、プロンプトを自動的に送信するようにスケジュールできます。 これは、 Copilot 定期的にタスクを繰り返す場合や、遅延後に 1 回限りのタスクを実行する場合に、プロンプトを手動で送信する必要がない場合に便利です。

これには、次の 2 つのスラッシュ コマンドがあります。

* `/every` — 一定の間隔で **プロンプトを繰り返し** 送信するようにスケジュールします。
* `/after` — 指定した期間が経過した後に、プロンプトを **1 回**送信するようにスケジュールします。

どちらのコマンドも、対話型の Copilot CLI (コパイロット CLI) セッション内でのみ使用できます。スケジュールは、作成されたセッションの実行中にのみ実行されます。 セッションが開かっていないときにスケジュールに基づいて Copilot CLI (コパイロット CLI) を実行する方法については、この記事の最後にある [外部スケジューラからのプロンプトの実行](#running-a-prompt-from-an-external-scheduler) を参照してください。

## を使用して定期的なプロンプトをスケジュールする `/every`

対話型 Copilot CLI (コパイロット CLI) セッションで、「 `/every` 」と入力し、その後に送信する時間間隔とプロンプトを入力します。

```copilot
/every INTERVAL PROMPT
```

指定した間隔が経過した後、スケジュール エントリを削除するか、対話型 CLI セッションを終了するまで同じ間隔でプロンプトが送信されます。

### 例

```copilot
/every 1h run the test suite and summarize any new failures
```

```copilot
/every 30m check for new comments on my open pull requests
```

## 一度限りのプロンプトのスケジュール設定 `/after`

`/after` に続けて、遅延と送信したいプロンプトを入力します。

```copilot
/after DELAY PROMPT
```

遅延が経過した後、プロンプトが 1 回起動し、スケジュール一覧から削除されます。

### 例

```copilot
/after 30m Give me details of changes to README.md made in the last 30 minutes
```

```copilot
/after 10m Check that the address finder is visible on example.com/register
```

## スキルのスケジュール設定

`/every`と`/after`を使用してスキルをスケジュールできます。 これを行うには、スラッシュ コマンドを使用してスキルを明示的に参照するか、自然言語を使用してスキルを実行するように Copilot に指示できます。

> \[!NOTE]
> この方法でスケジュールできるのは、ユーザーが呼び出せるスキルのみです。 スケジュールされたプロンプトに組み込みのスラッシュ コマンド ( `/clear` など) を含めることはできません。

### 例

```copilot
/after 2h Use the docx skill to create a new file summarizing recent changes to this repo
```

```copilot
/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` は 30 分ごとにプロンプトをスケジュールします。

最小間隔は **10 秒** で、最大値は **1 日** (24 時間) です。

## セッションでスケジュールされたプロンプトを識別する

スケジュールされたプロンプトがトリガーされると、 Copilot はプロンプトの前に `[Scheduled prompt #4]` などのテキストを付けて、自分で入力したプロンプトと区別します。

ID を使用してスケジュールを取り消すことができます。 たとえば、「 `stop prompt 4`」と入力します。

## スケジュールされたプロンプトの管理

現在のセッションのアクティブなスケジュールを一覧表示するには、引数なしで `/every` または `/after` を入力します。

スケジュールを削除するには、キーボードの方向キーを使用してリスト内を移動し、削除するスケジュールを選択してから <kbd>d キーを</kbd>押します。

<kbd>Esc</kbd> キーを押してスケジュール リストを終了します。

## セッションを閉じて再度開くとどうなりますか

スケジュールされたプロンプトは、作成されたセッションにスコープが設定され、そのセッションの実行中にのみトリガーされます。

( `--continue` または `--resume` コマンド ライン オプションを使用して) セッションを再度開くと、スケジュールが再起動され、セッションを再度開いた時点からスケジュールがトリガーされるまでの間隔が測定されます。

セッションを閉じる前に `/after` スケジュールがトリガーされなかった場合、スケジュールはスケジュールリストに残り、再び開いたセッションで指定された遅延の後にトリガーされます。

## 外部スケジューラからのプロンプトの実行

`/every`コマンドと`/after` コマンドは、対話型のCopilot CLI (コパイロット CLI) セッションが開いている間にのみ実行されます。 セッションがアクティブでない場合でも、スケジュールに従ってプロンプトを実行する場合は、macOS または Linuxは \<c1、>cron</c1>、Windows では <c2>Task Scheduler</c2> などの外部スケジューラから <c0/> を実行できます。

Copilot CLI (コパイロット CLI)プログラムで実行するには、構文`copilot -p "YOUR PROMPT"`を使用します。 CLI は、対話型インターフェイスを表示せずにプロンプトを処理し、終了します。

これは、次のようなタスクに役立ちます。

* **夜間メンテナンス** — たとえば、ブランチ上の最新の変更を対象に毎晩テストスイートを実行し、その概要をトラッキング issue に投稿すること。
* **依存関係の定期的なチェック** — たとえば、依存関係を更新し、結果に対してテスト スイートを実行する毎週のプル要求を開きます。
* **スケジュールされたレポート** - たとえば、新しい問題の毎日の概要を生成したり、自分に割り当てられた pull request を生成したり、電子メールを送信したり、チャット チャネルに投稿したりします。

詳細については、「[プログラムによる GitHub Copilot CLI（コマンドラインインターフェース） の実行](/ja/copilot/how-tos/copilot-cli/automate-copilot-cli/run-cli-programmatically)」を参照してください。

## 詳細については、次を参照してください。

* [GITHUB COPILOT CLI コマンド リファレンス](/ja/copilot/reference/copilot-cli-reference/cli-command-reference#slash-commands-in-the-interactive-interface)