0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub Copilot CLI Experimental 編:/after・/every と /ask(alias: /btw)を実機ヘルプで見る

0
Last updated at Posted at 2026-07-01

こんにちは、CLI の実験機能を見るとつい記事ネタにしてしまうアーキテクトのやまぱん!です 😅

補足コメントや質問、いいね、拡散、ぜひお願いします 🥺!
間違っていたら 優しく 教えてください!

先日、GitHub Copilot CLI 実機ヘルプから作る完全版チートシート を書きました。

その後、GitHub Copilot CLI の Experimental mode を触っていたら、チートシート本編の 1 行では足りないコマンドがありました。

中心は /after / /every / /loop と、横道の質問を投げる /ask(alias: /btw)です。

/after は「あとで 1 回」、/every は「今の CLI セッション中に繰り返し」。/ask は、本筋の会話に混ぜたくない短い質問用です。今回はこの 2 系統を、実機表示と公式 Docs から整理します。

この記事は 2026/06/30 時点 の GitHub Copilot CLI 1.0.66-2 と GitHub Docs の記載をもとにしています。Experimental features は安定版ではないので、名前・挙動・提供範囲が変わる可能性があります。参考程度に「試してみる」くらいの温度で読んでください。

TL;DR

  • GitHub Copilot CLI の Experimental mode に、セッション内スケジューリング 用の /after/every が出ている
  • /after は 1 回だけ、/every / /loop は繰り返し。どちらも OS の cron ではなく、現在の Copilot CLI セッション内 schedule
  • /ask(alias: /btw)は、会話履歴に足さない横道質問用として説明されている。履歴から完全に外れるかは今回は見ていない
  • /autopilot / /goal/worktree/sandbox なども同じ一覧に出るが、この記事では補足に回す
  • 手元では /after 3s .../every 1m おはよう の発火を確認できた

この記事の読み筋

この記事は、既存の 3 本の間に置く GitHub Copilot CLI Experimental 補遺 です。

読みたいこと 記事
GitHub Copilot CLI のコマンド全体を引きたい GitHub Copilot CLI 実機ヘルプから作る完全版チートシート
ゴールまで回す Skill の設計を見たい AI エージェントを「最後までやり切らせる」 goal-loop という Agent Skill を作った話
ループを設計する考え方全体を見たい Loop Engineering とは? エージェントに「指示する側」を卒業する設計の話

今回の記事では、その中でも GitHub Copilot CLI の /experimental に増えていた入口 に絞ります。

実機で見えたもの

今回確認した環境です。

項目 内容
OS Windows 11
Shell PowerShell 7 系
GitHub Copilot CLI 1.0.66-2
確認日 2026/06/30

copilot --version では次のバージョンでした。

GitHub Copilot CLI 1.0.66-2.

GitHub Copilot CLI の /experimental 補完候補

/experimental を打つと、on / off / show が補完候補として出てきます。ここから Experimental mode を有効化したり、今の環境で有効になっている実験機能を確認できます。

通常の copilot help commands では /experimental などの入口が見えます。一方で、/experimental show を開くと、次のような Experimental slash commands が並んでいました。

実際の `/experimental show` 出力
Experimental Features

Experimental mode is enabled. The following features are available:

Slash Commands:
  /after [delay] [prompt...]                                           - Schedule a one-shot prompt, skill, or schedulable slash command for this session (e.g. /after 30s ping me, /after 10m /tuikit-new, /after 1h /chronicle standup)
  /ask, /btw <question>                                                - Ask a quick side question without adding to conversation history
  /autopilot, /goal [on|off|<objective>]                               - Toggle autopilot mode or set an explicit objective
  /every, /loop [interval] [prompt...]                                 - Schedule a recurring prompt, skill, or schedulable slash command for this session (e.g. /every 5m run tests, /every 1h /my-skill); omit the time to let the model self-pace, choosing the delay before each run (e.g. /every watch the deploy)
  /extensions, /extension [manage|mode]                                - Manage CLI extensions
  /fork, /branch [name]                                                - Fork the current session into a new session, optionally with a name
  /sandbox [enable|disable]                                            - Configure sandbox policy
  /search, /find [query]                                               - Search the conversation timeline
  /worktree, /move [branch name, task to start, or blank to auto-name] - Create a new git worktree and switch into it, moving uncommitted changes. Pass a branch name, a task to start, or nothing to auto-name.

Feature Flags:
  AUTOPILOT_OBJECTIVES                                                 - Enable explicit autopilot objectives via /autopilot <objective>
  AUTOPILOT_NO_PROGRESS_STOP                                           - Stop autopilot early when it makes no tool progress across consecutive continuation turns
  ASK_USER_ELICITATION                                                 - Replace the standard ask user tool with a structured form-based variant
  MULTI_TURN_AGENTS                                                    - Enable multi-turn subagents that stay alive after responding, accepting follow-up messages via write_agent
  EXTENSIONS                                                           - Enable extensions — programmatic tools and hooks via @github/copilot-sdk, scaffolded and managed by the agent itself
  TOOL_SEARCH                                                          - Enable tool search with deferred loading for MCP and external tools
  AVAILABLE_TOOLS_HINT                                                 - Inject the available-tools reminder message listing deferred tools to load via tool search
  BACKGROUND_SESSIONS                                                  - Enable multiple concurrent sessions with background session management
  SANDBOX                                                              - Enable shell command sandboxing to restrict file and network access for executed commands
  EVERY_AND_AFTER                                                      - Enable /every and /after slash commands for scheduling recurring or one-shot prompts within the session
  CLI_CLOUD_SESSIONS                                                   - Enable the CLI startup flow for cloud sandbox sessions
  CLI_WORKTREE                                                         - Enable the --worktree flag to start the session in an isolated git worktree
  INLINE_IMAGES                                                        - Enable native inline image rendering in the timeline via the Kitty graphics protocol (inside and outside tmux)
  MCP_TASKS                                                            - Enable MCP Tasks support (spec 2025-11-25): tools the server marks `taskSupport: "required"` run as background subagents via `callToolAsTask`
  MCP_APPS                                                             - Enable MCP Apps (SEP-1865) UI extension passthrough — io.modelcontextprotocol/ui capability, ui:// resource auto-fetch, /mcp-app/* proxy endpoints
  WORKTREE                                                             - Enable /worktree slash command (aliased /move) to create a new git worktree and switch into it, moving any uncommitted changes along
  REWIND_V2                                                            - Tools-based rewind: restore files Copilot changed (edits, shell, sub-agents) on /rewind: conversation, or conversation + files
  DIFF_V2                                                              - Tools-based /diff: build the diff from files Copilot changed this session, so /diff works in non-git folders (git cwd keeps the uncommitted/branch toggle)

These features are not stable, may have bugs, and may be removed in the future.

Usage: /experimental show  - Show this help
       /experimental on    - Enable experimental mode
       /experimental off   - Disable experimental mode
コマンド 役割 この記事での見方
/after [delay] [prompt...] セッション内で 1 回だけ prompt / skill / slash command を予約 one-shot schedule
/every [interval] [prompt...] セッション内で prompt / skill / slash command を繰り返し予約 recurring schedule
/loop [interval] [prompt...] /every の alias recurring schedule の別名
/ask <question> 会話履歴に足さず、横道の質問をする side question
/search [query] conversation timeline 検索 履歴確認
/autopilot [on|off|objective] autopilot mode の切替、または objective 設定 今回は補足。autopilot 自体は通常機能
/goal [on|off|objective] /autopilot の alias 今回は補足
/worktree Git worktree を作って移動 今回は補足
/sandbox shell command sandboxing の制御 今回は補足。safety boundary
/extensions CLI extensions を管理 今回は補足
/fork 現在のセッションを分岐 今回は補足

同じ行にカンマ区切りで出ているものは alias です。alias 関係を抜き出すと、次のようになります。

主コマンド alias 見え方
/ask /btw 横道の質問。by the way の略として自然
/every /loop 繰り返し schedule。/loop 15m ... は every schedule として登録できた
/autopilot /goal autopilot mode / objective 指定。通常 autopilot 自体は Experimental 専用ではない
/extensions /extension CLI extensions 管理
/fork /branch 現在セッションの分岐。Git branch ではなく session fork の alias
/search /find conversation timeline 検索
/worktree /move Git worktree を作って移動

Feature Flags 側を見ると、単に slash command が増えただけではなく、複数の実行基盤まわりが Experimental 扱いになっていることが分かります。以下は /experimental show に表示された flag の要約 で、公式 Docs で個別仕様を確認できた一覧ではありません。

まとまり 該当する主な flag 何が増えるか
自走・停止条件 AUTOPILOT_OBJECTIVES / AUTOPILOT_NO_PROGRESS_STOP objective 指定と、進捗がないときの早期停止
スケジューリング EVERY_AND_AFTER セッション内の one-shot / recurring prompt
分離・巻き戻し CLI_WORKTREE / WORKTREE / REWIND_V2 / DIFF_V2 worktree 隔離、tool layer ベースの diff / rewind
安全境界 SANDBOX shell command のファイル・ネットワークアクセス制限
拡張・MCP EXTENSIONS / TOOL_SEARCH / MCP_TASKS / MCP_APPS extensions、deferred tool loading、MCP の background task / UI 化
セッション拡張 MULTI_TURN_AGENTS / BACKGROUND_SESSIONS / CLI_CLOUD_SESSIONS 長生きする subagent、複数 session、cloud sandbox session
表示・入力 INLINE_IMAGES / ASK_USER_ELICITATION / AVAILABLE_TOOLS_HINT 画像表示、構造化 ask、available tools のヒント

公式の GitHub Copilot CLI command reference にも、/after/everyOnly available in experimental mode として載っています。一方で、/loop alias や self-pace の説明、Feature Flags の細かい名前は、手元の /experimental show に出ていたものとして紹介します。

ここまで見ると、GitHub Copilot CLI のコマンド体系に セッション内スケジューラ が入り始めています。

手元では、/after 3s ... の発火と /every 1m おはよう の繰り返し発火まで見られました。/ask / /btw も横道質問として応答するところまでは確認しています。

一方で、この記事の主役ではない /diff/rewind/sandbox/fork などは、一覧に出ていることへ軽く触れるだけにします。詳しい挙動は別で見た方がよさそうです。

/after: 1 回だけ未来の自分に投げる

/after は one-shot です。

公式 Docs の説明では、現在のセッションに対して、指定した時間後に prompt / skill / schedulable slash command を 1 回だけ実行します。

例としては、こんな使い方が想定されています。

/after 30m remind me the time
/after 1h /chronicle standup

1 行目は、今の CLI セッションに「30 分後に remind me the time というプロンプトを 1 回だけ投げる」予約を置きます。2 行目は、1 時間後に /chronicle standup という schedulable slash command を 1 回だけ実行する例です。

手元では /after 3s ... も登録され、数秒後に [Scheduled prompt #1] として実行されました。短い秒指定でも動きます。

GitHub Copilot CLI の /after 3s 実行例

この手の予約は OS のタスクスケジューラや cron ではなく、Copilot CLI セッション内の schedule です。引数なしの /after で schedule manager を開けます。

Loop Engineering 的に見ると、これは Scheduling の一番小さい部品 です。

毎日・毎時の自動化までは要らない。でも「30 分後にもう一度確認して」「1 時間後に standup をまとめて」は欲しい。そういう 軽い reminder / delayed trigger を、外部 cron や OS タスクではなく、Copilot CLI のセッション内に置けるようになる。

小さい機能に見えますが、待ち時間のある作業では使う場面がありそうです。

なぜなら、エージェント作業では「今すぐ実行する」よりも、少し待ってからもう一度見る 方が自然な場面が多いからです。

  • CI が終わったころに結果を見る
  • デプロイ反映を数分待ってから smoke test する
  • 長い調査中に、あとで /chronicle standup を出す
  • ユーザー確認待ちの前に、一定時間後の整理を入れる

これまでなら、人間が覚えておくか、別の scheduler を使う必要がありました。/after は、その小さな穴を CLI セッション内で塞ぎに来ています。

/every / /loop: 繰り返し prompt が Experimental に入ってきた

/every は recurring です。/loop はその alias です。

公式 Docs の例では、次のような形です。

/every 1h run tests
/every 1d /chronicle standup

1 行目は、今の CLI セッションで 1 時間ごとに run tests を投げる recurring schedule を作ります。2 行目は、1 日ごとに /chronicle standup を実行する例です。

/after と同じく、/experimental show には /every 5m ... のような短い間隔の例が出ます。今回の検証では /every 15m ...Scheduled #1 every 15m ... として登録できました。/loop 15m ... も同じく every schedule として登録できたので、/loop/every の alias です。

GitHub Copilot CLI の /every 1m と /ask 実行例

手元の PowerShell で直接操作した場合は、/every 1m おはよう のような 1 分指定も受理され、1 分ごとに [Scheduled prompt #1] として実行されました。上の画面では、22:56 と 22:57 に同じ schedule が発火し、Copilot が「おはようございます!」と返しています。

/after と違い、/every は繰り返しなので、試すときは 止め方までセット で考えたいです。引数なしの /every で schedule manager を開けるので、予約状態を見てから使うのがよさそうです。

ここは期待値を分けておきたいところです。/every / /loop は、cron のような外部の定期実行基盤ではなく、開いている GitHub Copilot CLI セッションの中に置く schedule です。公式 Docs も /every を "for the current session" と説明しています。セッションを閉じたり別セッションに移ったりすれば、その予約もそこで切れます。強制力のある自動実行というより、作業中に「しばらく同じ確認を回しておく」ための軽いループです。

/experimental show には、もう 1 つ気になる説明がありました。

omit the time to let the model self-pace, choosing the delay before each run

この表示上は、間隔を省略すると、モデルが 次の実行までの delay を自分で選ぶ という説明です。

ここが Loop Engineering っぽいところです。

従来の cron は、人間が「5 分おき」「1 時間おき」を決めます。でもエージェントの作業では、毎回同じ間隔が最適とは限りません。

  • CI 待ちは 5 分後でいい
  • overnight research は 1 時間後でいい
  • デプロイ反映確認は最初だけ短く、安定したら長くしたい
  • 失敗が続くなら、いったん間隔を伸ばしたい

この説明どおりに動くなら、固定 interval ではなく、状況に合わせて次の実行間隔を変える loop に近づきます。

もちろん、ここは Experimental なので過信は禁物です。特に recurring prompt は、AI 利用枠やツール実行を消費し続ける可能性があります。上限、停止条件、通知方法を決めずに使うのは避けたいところです。

スケジュールが CLI セッション内に入った、という点は引き続き追いたいです。

/ask(alias: /btw): 会話履歴に足さないと説明されている横道質問

スケジュール実行と並んで目に留まったのが、/ask / /btw です。

/experimental show では、次のように説明されています。

/ask, /btw <question> - Ask a quick side question without adding to conversation history

メインの作業文脈に混ぜたくない質問を、横道として聞くための入口です。

たとえば、長い実装や調査の途中で、ふと「このエラー名って何だっけ?」「この略語の意味だけ確認したい」と思うことがあります。普通に会話へ投げると、その質問と回答も会話履歴に入り、以降のコンテキストに混ざります。/ask / /btw は、そこを分けるためのコマンドに見えます。

例としては、こんな使い方です。

/ask What does TUI mean?
/btw What does TUI mean?

先ほどのスクリーンショット下部にも、/ask なめこの味噌汁おいしい! を投げた結果が表示されています。メイン作業の流れから少し外れた質問を、その場で小さく聞けるのが分かります。

手元では、/ask / /btw の表示と応答までは確認しました。ただ、「本当に conversation history に追加されないか」までは今回は見ていません。

/ask / /btw は、Loop Engineering というより context hygiene(コンテキスト衛生) の部品です。長いセッションほど、関係ない横道を履歴に混ぜない価値が出てきます。

補足: autopilot は通常機能、/goal は alias

GitHub Docs では、Copilot CLI の autopilot mode は「初回指示後に、CLI がタスク完了と判断するまで自律的に進める」機能として説明されています。

ここは分けておきます。--autopilot や通常の autopilot mode 自体は、Experimental 専用ではありません。Experimental 一覧で出ているのは、/autopilot <objective> のような明示 objective 指定や、/goal alias まわりです。

公式の Allowing GitHub Copilot CLI to work autonomously では、停止条件として次が挙げられています。

  • agent がタスク完了と判断する
  • 進行不能な問題が起きる
  • ユーザーが Ctrl+C で止める
  • 設定した最大 continuation limit に到達する

--allow-all / --yolo と autopilot は別物です。

--allow-all権限 の話です。ツールやファイルアクセスを都度確認せず許可する。

一方で autopilot は 継続 の話です。モデルとの次のやり取りを、人間の入力なしに続ける。

/goal/autopilot の alias です。Goal mode という名前の独立機能ではなく、GitHub Copilot CLI では autopilot に objective を渡す UI です。

以前の調査では、GitHub Copilot CLI に /goal という固有スラッシュコマンドは確認できず、Microsoft / GitHub 系では autopilot mode が本命、と整理していました。今回の Experimental 表示は、その整理を少し更新します。

現時点では、GitHub Copilot CLI の /goal を OpenAI Codex の公式 Goal mode と同じ仕様だとは書きません。GitHub Copilot CLI 側では、/goal/autopilot の alias です。

補足: 一緒に見えていた隔離・確認系の機能

/experimental show には、スケジュール系だけでなく /worktree/diff/rewind/sandbox も並んでいました。

/worktree は作業ツリーを分ける入口、/diff/rewind は変更の確認と巻き戻し、/sandbox は shell command の制限に関わる入口です。/fork / /branch は、Git branch ではなく session fork の alias です。

このあたりも軽く触りましたが、この記事では深追いしません。/rewind の復元確定や /sandbox の allow / deny は、別記事で扱うくらいの話です。

このあたりは本題ではありません。ただ、/every のような繰り返し実行を使うなら、隔離、差分確認、巻き戻し、sandbox も近くに置かれています。

既存記事との関係

この記事は、チートシート本編から切り出した Experimental のスケジュール実行と横道質問編 です。設計思想としては以前書いた Loop Engineering や goal-loop の話ともつながりますが、ここでは /after / /every / /loop/ask / /btw を中心に見ます。

では、/loop/goal という名前が出てきたとき、過去に作った goal-loop Skill と「実質的に同じもの」なのか。

私の整理では、同じものではありません。ただし、同じ方向を向いた近縁の部品です。

違いは、どの層で回しているかです。

入口 / 考え方 何を回すか 止め方・判断の持ち方 goal-loop との関係
/after 今の CLI セッション内で、未来の 1 回を予約する 1 回実行したら終わる goal-loop ではなく、遅延実行の小さな部品
/every / /loop 今の CLI セッション内で、同じ prompt を繰り返し予約する schedule manager とセッション終了に依存 反復トリガー。ゴール達成判定までは持たない
/autopilot / /goal Copilot CLI に objective を渡し、自律継続させる autopilot の完了判断や continuation limit に依存 goal-loop に近いが、判断の多くは CLI 側にある
Codex の Goal mode goal 文をもとに、長いタスクの進行と完了判断を任せる Codex 側の Goal mode が進行と完了可否を見る かなり近い。ただし特定ツールの実行基盤に乗る機能
自作の goal-loop Skill ゴール、完了条件、検証、評価、停止条件を明示して回す criteria、外部検証、評価、停滞判定を workflow に持つ 実行機能というより、ツールをまたいで使う進め方の型

なので、/every / /loop は goal-loop そのものではありません。これは「時間が来たらもう一度投げる」ための schedule です。

一方で /autopilot / /goal は、goal-loop にかなり近い方向を向いています。ゴールを渡して、ある程度自走させるからです。ただ、GitHub Copilot CLI では、完了判断や継続回数の制御は CLI の autopilot 側に寄っています。

自作の goal-loop Skill は、その上に置く 進め方の型 です。最初に完了条件を固定し、外部シグナルで検証し、進捗が止まったら止める。つまり、/every/goal のような実行基盤を使う/使わないに関係なく、「何をもって終わりにするか」を外に出しておくためのものです。

そう見ると、今回の Experimental features は goal-loop の置き換えというより、goal-loop 的な運用で使える部品が CLI 側に増えてきた、という見方が近いです。

使いどころを考える

今のところ、私なら次のような用途から試します。

用途 コマンド候補 注意点
CI のあとで結果確認 /after 10m ... 10 分後に 1 回だけ確認 prompt を投げる。CI URL や対象 branch を明示する
長い調査の定期サマリ /every 1h /chronicle standup 1 時間ごとに standup 生成を予約する。セッション履歴に依存しすぎない
横道の用語確認 /ask What does TUI mean?/btw でも同じ) 本筋に混ぜたくない短い質問を投げる。履歴から完全に外れるかは今回は見ていない
テスト修正の自走 /autopilot / /goal objective を渡して自走させる。--max-autopilot-continues で上限を置く
デプロイ監視 /every watch the deploy 時間を省略し、self-pace に任せる形の例。挙動を過信しない
破壊的変更を含む修正 /worktree 併用 別 worktree / branch で作業させる。main worktree で回さない

--max-autopilot-continues は先に置いておきたい設定です。公式 Docs も、programmatic / CI 文脈では runaway loop を避けるために continuation limit が重要、と説明しています。

自動化は便利ですが、止め方を決めていない自動化はだいたい怖いです。

まとめ

GitHub Copilot CLI の Experimental features には、セッション内で「あとで実行する」「繰り返し実行する」「横道の質問を履歴から分ける」ための部品が増えています。

/every が繰り返せること自体より、CLI セッションの中に「あとで」「繰り返し」「横道質問」が入ってきたことの方が気になりました。

/after で未来の 1 回を置ける。/every / /loop で繰り返せる。/ask / /btw で、本筋から少し外れた質問を別枠にできる。補足として、/worktree/diff / /rewind/sandbox も同じ画面に見えている。

この一式がそろうと、CLI セッションは「今この場の 1 ターン」だけでなく、少し先の実行、繰り返し実行、横道質問、隔離と巻き戻し まで持つ作業面になっていきます。

まだ Experimental なので、今すぐ本番運用に入れる話ではありません。

少なくとも GitHub Copilot CLI では、単に「聞いたら答える」だけでなく、自分で次の実行タイミングを持つ 方向が見え始めています。

そして、そこまで来ると人間の仕事は、また少し変わります。

プロンプトを書く人ではなく、いつ実行するか、どの履歴に残すか、止め方・戻し方・検証条件をどう置くか まで設計する人になる。

今回は /every 1m が実際に 2 回発火するところまで見られました。次に見るなら、/ask が本当に履歴に残らないかと、/rewind がどこまで確実に戻せるかです。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?