はじめに
Copilot CLIのセッションはローカルマシン上に保存されていて、セッションを復元できるほかに、内容を参照することで、作業内容を振り返ったり、改善のヒントをもらったり、実際に改善タスクをCopilotに依頼することができます。
セッションの保存場所と復元
Copilot CLIのセッションは
~/.copilot/session-state/
に保存されていて、
copilot --resume
コマンドを使用すると、保存されたセッションを選択して再開することができるようになっています。
また、各セッションの中には
session.db
というSQLiteファイルが保存されていて、Copilotに過去の作業についての質問をしたり、 後ほど説明する
/chronicle
コマンドを使用する場合に、SQLiteファイル内をクエリして、内容を参照するようになっています。
過去の作業についての質問
「最近、TODOリストの仕様書作成ってした?」と質問すると、以下のようにセッションを思い出してくれます。
| 1 2 3 4 5 | ● はい、かなり最近にやっています。 保存済み履歴では、/Users/hoge/study/vscode-mcp で 2026-04-02 13:25ごろ に Create TODO List Specification、その直前 13:24ごろ に Add TODO List Feature という関連セッションがありました。 補足として、今回確認できたのはセッション要約レベルで、本文やチェックポイントはまだ履歴上では拾えませんでした。 |
/chronicle コマンド
このスラッシュコマンドを使うと、セッションデータを参照して、自分のCopilotの使用状況を分析したり、もっと上手く活用するための提案をしてくれます。
基本的には
/chronicle <SUBCOMMAND>
の形式で使用します。SUBCOMMANDに続けて追加の指示を出すことができます。
何度か試してみたところ、追加の指示を与えない場合は、全てのセッションを探しに行くことがあります。
そのため、現在のディレクトリのみに限定したい場合には「このディレクトリの作業について」と指示を与えると、指示通りの生成結果となりました。
/chronicle standup
このコマンドを使うと、最近のセッションで行った作業をまとめたレポートを生成します。
「/chronicle standup このディレクトリの作業について 」と依頼した結果です。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ● Standup for 2026-04-03: ✅ Done Create TODO List Specification (001-add-todo-list branch) - TODOリスト仕様を作成 - Session: b9d8b296-ca3b-4781-9cd4-3a166f5b5da6 Show Chronicle Tips (001-add-todo-list branch) - Tips表示の確認完了 - Session: ac1c7478-9d90-4f1b-be7c-98f183e02ae4 🚧 In Progress - 該当なし |
/chronicle tips
Copilot CLIをより効果的に使用するためのヒントを生成します。「/chronicle tips このディレクトリについて」と依頼した結果です。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | ● このディレクトリの履歴はまだ薄めですが、傾向ははっきりしています。/chronicle は継続利用していて、ここでは TODO仕様まわりの確認 が中心。一方で、この repo に入っている repo専用 agent/skill はまだかなり活かせそうです。 1. この repo では /agent を先に切ると精度が上がります。 このディレクトリの履歴では /chronicle 系が中心で、役割固定の agent 利用は見えていません。ここには specification.agent、Context7-Expert、accessibility、software-engineer-agent-v1 があるので、たとえば TODO仕様を書く日は specification、MUI/React 実装は Context7-Expert、UI/A11y 修正は accessibility を最初に選ぶと、毎回「どういう観点で見てほしいか」を説明し直さずに済みます。 2. 長文依頼は Ctrl+G で外部エディタに出して、最初から「完全版」にすると往復が減ります。 perl禁止、前後5行、コミット時刻、上書き禁止が後追いで追加されていました。こういう依頼は 最初から 目的 / 対象 / 制約 / 成果物 / 検証 の5見出しで書くのが効きます。CLI的には Ctrl+G と /terminal-setup の相性が良いです。 3. この repo では「コード相談」より「画面レビュー依頼」のほうが強いです。 package.json は Vite + React + TypeScript + MUI + Playwright で、さらに .github/skills/web-design-reviewer と a11y agent があります。なので、npm run dev 後に「http://localhost:5173 の TODO 画面をモバイル/デスクトップで見て、崩れとアクセシビリティ を直して」のように頼むと、このディレクトリ向けの装備をそのまま使えます。 4. この repo には .github/lsp.json が無いので、TypeScript LSP を足す価値が高いです。 今の構成は TS/React/MUI なのに、repo 単位の LSP 設定は見当たりませんでした。typescript-language-server をつないで /lsp を使えるようにすると、定義ジャンプ・hover・診断 が効くので、「このディレクトリで TODO 機能を足すならどこを見る?」みたいな探索系がかなり速くなります。 5. 「このディレクトリについて」は、@ で対象ファイルを pin すると一段深くなります。 直近のこの repo の質問は「最近、TODOリストの仕様書作成ってした?」のような履歴確認寄りでした。次は @package.json @src @spec を付けて「この構成で TODO 機能を入れるなら、どの層を触る?」「MUI Data Grid 周辺だけ見て改善点を出して」のように 対象を固定 すると、探索コストが減って返答の密度が上がります。 |
/chronicle improve
Copilotがユーザの意図を誤解した可能性のある箇所や、やり取りが頻繁に行われた箇所を特定し、今後Copilotがユーザの指示をよりよく理解できるようにするためのカスタムインストラクションを生成します。
分析が終了すると、以下のようにカスタムインストラクションに追加する候補を提示してくれます。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Copilot is requesting information │ │ 適用候補は次の4件です。いずれもこの repo の履歴で実際に見えたズレに対応しています。 │ │ │ │ 1. **Spec-first で進める** — TODO 仕様確認が繰り返し出ていたので、TODO系の相談・実装では `specs/001-add-todo-list/spec.md` と │ │ `spec/spec-design-employee-edit.md` を先に確認し、仕様とズレた提案を避ける。 │ │ 2. **repo 専用 agent/skill を優先する** — この repo では `/chronicle` │ │ 偏重で、`specification.agent`、`Context7-Expert`、`accessibility.agent.md`、`web-design-reviewer` │ │ などが活かされていなかったため、用途に応じて最初に選ぶ。 │ │ 3. **監査・レポート系の制約を先に固定する** — 過去の長文依頼では `perl禁止`、`前後5行`、`コミットハッシュ/時刻`、`上書き禁止` │ │ が後追い追加されていたので、監査や調査では制約・成果物・保存先を最初に明文化し、既存レポートは明示指示なしで上書きしない。 │ │ 4. **探索の起点ファイルを固定する** — この repo は │ │ `package.json`、`src/index.tsx`、`src/CrudDashboard.tsx`、`src/data/employees.ts`、`playwright.config.ts`、`specs/` │ │ を見ると全体像が早く掴めるので、広く探し回る前にここから入る。 │ │ │ │ あわせて、空の `.github/copilot-instructions.md` に **build/test コマンド・高レベル構成・主要慣習** │ │ のベース記述も入れられます。適用したいものを選んでください。 │ │ │ │ ベースの repo ガイドを追加 [適用する改善案] 補足 │ │ │ │ 適用する改善案: │ │ 必要なものだけ選んでください。 │ │ ❯ ○ Spec-first で進める │ │ ○ repo 専用 agent/skill を優先する │ │ ○ 監査・レポート系の制約を先に固定する │ │ ○ 探索の起点ファイルを固定する │ │ │ │ ↑↓ select · space toggle · Enter accept · Tab next · Shift+Tab prev · ctrl+d decline · Esc cancel │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ |
この中から追加したいものを選択すると、補足説明の追加を聞かれる場合があります。
何も書かないと英語での出力となったため、日本語指定をすると良いと思います。(補足説明で聞かれない場合は、ファイル書き込みの確認時に日本語指定をすると、日本語になりました。)
カスタムインストラクションの作成が完了すると、後続で追加のおすすめ設定も提案してくれます。例えば、今回はReactのプロジェクトを題材としたため、Playwright MCPの追加を提案されました。
/chronicle reindex
セッションストア(SQLiteのデータベース)を再インデックスするコマンドです。
セッションストアには、セッション中に自動で定期的に保存されるほか、終了時にも保存されるので、通常は使う必要のないコマンドですが、以下の場合に有効です。
- 古いセッションのインデックス作成をするとき
セッションストア機能が存在する以前に作られた、古いセッションに対するインデックスを作成できます。 - セッションの削除をするとき
セッションを削除するには、セッションディレクトリを削除してから、再インデックスをします。 - 別マシンからのセッションの移行/復元をするとき
- セッションファイルが破損したり、削除してしまった時
- Copilotが予期しない終了をした時
さいごに
Copilotは、ただセッションを記録するだけでなく、Copilotをもっと上手く使うための手段が提供されていることを知ることができました。