Chat Navigator
チャット履歴の記録・読み込み・ナビゲーションをすべて担うスキル。hooks や PowerShell に依存しない。
セッション開始時(毎回必ず実行)
C:\Users\yoshi\.cursor\sessions-log.md を Read ツールで読み込む。
- 最近のセッションのタイトルと Summary を把握し、今回の会話の継続性を確認する
- ユーザーが過去の作業に言及したとき・関連する過去セッションがありそうなときは積極的に参照する
- 読み込みに失敗した場合(ファイル未存在)は新規作成:
# Sessions Log\n\n---\n
セッション終了時(タスク完了・会話が一段落したとき)
会話が実質的な作業を含む場合に限り、sessions-log.md にエントリを追記・更新する。
エントリ形式
### [YYYY-MM-DD HH:mm] タイトル
**Summary**: 1〜2文の日本語要約
- タイトル: 最初のユーザーメッセージの先頭50文字(改行・余分な空白を除去)
- 日時: 会話開始時のタイムスタンプ(システムの
<timestamp>から取得) - Summary: 今回の作業内容を1〜2文で要約
書き込み手順
- sessions-log.md を Read で読み込む
- 今回のセッション(タイムスタンプ一致)が既にある場合 → StrReplace で Summary 行を更新
- まだない場合 → ファイル末尾に追記(StrReplace で末尾の既存テキストを置換)
既存の末尾行を含めて置換する例:
old: "**Summary**: (未記録)" ← 最後のエントリの最終行
new: "**Summary**: (未記録)\n\n### [2026-06-18 05:54] タイトル\n**Summary**: 今回の要約"
短い・テストのみの会話
要約できる実質的な内容がない場合は更新しない。
セッション内ナビゲーション(「あの話を探して」と言われたとき)
Step 1: 現在のセッションを整理する
会話の流れを振り返り、主なトピックを時系列で提示する:
## 現在のセッション トピック一覧
- [前半] トピックA: (概要1行)
- [中盤] トピックB: (概要1行)
- [直近] トピックC: (概要1行)
探しているトピックが見つかればここで終了。
Step 2: 過去セッションを検索する
現在のセッションに見つからない場合、C:\Users\yoshi\.cursor\sessions-log.md を読み込んで関連セッションを特定する。
- タイトルと Summary からキーワードで絞り込む
- 候補をユーザーに提示して確認を取る
Step 3: トランスクリプトを読む(ユーザーが「もっと詳しく」と言った場合)
パス: C:\Users\yoshi\.cursor\projects\{project-slug}\agent-transcripts\{full-uuid}\{full-uuid}.jsonl
よく使うプロジェクトスラグ:
c-Users-yoshi-src-progress-manegement-myfirst-web-appc-Users-yoshi-src-personal-visual-explainers
JSONL は1行1メッセージ。キーワード検索は Grep ツールを使い、前後5行程度だけ Read する。
出力フォーマット
## 見つかった議論
### 現在のセッション
- [前半] ...
### 過去セッション [YYYY-MM-DD HH:mm] — タイトル
**Summary**: ...
**関連箇所**: (見つかった内容の要約)
続きを読む場合はトランスクリプトを開けます。
注意
- Summary が
(未記録)のセッションはトランスクリプトを直接 Grep する - トランスクリプトは大きい場合がある。Grep でキーワード絞り込み → 前後数行 Read が効率的
- sessions-log.md の既存エントリ(hooks が作ったUUID形式)と新規エントリ(タイムスタンプ形式)は共存してよい