navigating-chatgpt-history について
ChatGPT のエクスポートを一括で読み込まず、外部アーカイブとして必要な範囲を調べるスキルです。会話の確認、検索、表示を進め、得られた内容を MemFS に整理する方法を示します。
主な機能
- 01エクスポート構造と付属ファイルの確認
- 02会話の一覧表示と検索
- 03選んだ会話や範囲の表示
- 04MemFS でのアーカイブノート整理
- 05長期的な事実の選択的な昇格
活用シーン
- 01特定の話題に関する過去の会話の検索
- 02以前のアシスタントが把握していた内容の確認
- 03チャットエクスポートを検索可能な外部メモリとして保持
- 04選んだ会話の MemFS での要約
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ letta-ai/ skills --skill navigating-chatgpt-historyインストール後、Claude Code で/navigating-chatgpt-historyを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/repository-layout.mdscripts/common.pyinspect-export.pylist-conversations.pyrender-conversation.pyrender-range.pysearch-conversations.py詳細
すべてを読み込まずにチャット履歴をたどる
すぐにすべてを読み込むのではなく、後から参照できる履歴が目的の場合に、このスキルを使います。
適した用途
- エクスポートした ChatGPT 履歴からトピックを検索する
- 以前のアシスタントが自分について何を知っていたか確認する
- X について話し合った会話を表示する
- このエクスポートを外部メモリーとして保持し、必要なときだけ情報を抽出する
memories.jsonまたはprojects.jsonから MemFS にデータを取り込む
基本方針
エクスポートは、後からたどれるアーカイブとして扱います。
- MemFS アーカイブのインデックスがある場合は、まず
reference/chatgpt/index.mdを読みます scripts/inspect-export.pyでエクスポートを確認します- 広範囲を表示する前に、検索または一覧表示を行います
- 見つかった情報は、まず
reference/chatgpt/に保存します - その事実が長期的に有効で、現在も当てはまり、毎回のやり取りで保持する価値がある場合に限り、
system/human.mdに昇格させます
ユーザーが明示的に希望しない限り、アーカイブ全体を再度読み込まないでください。
MemFS のアーカイブ構成
外部メモリーのアーカイブは reference/chatgpt/ 以下に保持します。
推奨ファイル:
reference/chatgpt/index.md— ソースのエクスポート、スキーマの注記、既知のパス、検索方法reference/chatgpt/export-YYYY-MM-DD.md— 1 つのエクスポートの一覧とサイドカーの概要reference/chatgpt/chatgpt-memory-summary-YYYY-MM-DD.md—memories.jsonの内容reference/chatgpt/projects-YYYY-MM-DD.md— 有用な場合に作成するプロジェクトのサイドカー概要reference/chatgpt/transcripts/NNN-slug.md— 厳選した重要な会話の概要reference/chatgpt/notes/— 後から抽出するトピック別のメモ
段階的なメモリーを優先します。アクティブメモリーは小さく保ちます。
スクリプト
scripts/inspect-export.py
最初に使います。エクスポートの内容を一覧化し、memories.json、projects.json、users.json などのサイドカーを読み込みます。
python3 scripts/inspect-export.py <export-path>
python3 scripts/inspect-export.py <export-path> --output /tmp/export-summary.md
scripts/list-conversations.py
タイトル、最近の会話、メッセージ数を基準に会話を閲覧する際に使います。
python3 scripts/list-conversations.py <export-path> --limit 25
python3 scripts/list-conversations.py <export-path> --title-contains Letta --sort messages
scripts/search-conversations.py
タイトルだけでは不十分な場合に使います。
python3 scripts/search-conversations.py <export-path> --query "Recovery Bench"
python3 scripts/search-conversations.py <export-path> --query TFCC --role user --limit 20
scripts/render-conversation.py
インデックスが分かったら、個別の会話を表示する際に使います。
python3 scripts/render-conversation.py <export-path> --index 212
python3 scripts/render-conversation.py <export-path> --index 212 --compact-nontext --output /tmp/chat-212.md
scripts/render-range.py
検索で対象を絞り込んだ後、対象を限定した一括処理にのみ使います。
python3 scripts/render-range.py <export-path> --start-index 210 --end-index 220 --output-dir /tmp/chat-range
ワークフロー
1. 既存の MemFS メモを確認する
生のエクスポートに触れる前に、アーカイブに次のものがすでにあるか確認します。
- エクスポートの概要
- 以前のプロジェクト概要
- 厳選した会話記録
- 同じトピックに関するメモ
ある場合は、まずそれを使います。
2. 情報を抽出する前に確認する
inspect-export.py を実行して、次の点を確認します。
- このエクスポートの形式はどのようなものか?
- 会話はいくつあるか?
memories.jsonにすでに統合済みのメモリーブロックがあるか?projects.jsonに有用な背景情報があるか?
大規模なアーカイブでは、生の会話から情報を抽出しなくても、この段階で疑問が解消されることがよくあります。
3. 対象を絞ってから表示する
次の順序を優先します。
- 一覧を閲覧するには
list-conversations.py - 内容を検索するには
search-conversations.py - 詳しく読むには
render-conversation.py - 隣接する複数の会話が重要な場合に限り
render-range.py
できるからといって、何十ものチャットを表示しないでください。
4. 見つかった情報は、まず段階的なメモリーに記録する
会話が重要な場合は、次の場所に要約します。
- 重要な会話の概要は
reference/chatgpt/transcripts/ - トピック別のメモは
reference/chatgpt/notes/
その後で、system/human.md に記録すべき情報があるか判断します。
5. 昇格のルール
次の条件を満たす事実に限り、アクティブメモリーに昇格させます。
- 明示されている、または強い根拠がある
- 過去の事実にとどまらず、現在も当てはまる
- 今後の多くの会話で役立つ可能性が高い
- 毎回のやり取りでコンテキストに保持してもリスクが低い
それ以外は reference/chatgpt/ に保持できます。
参考ファイル
MemFS アーカイブの構成を作成または拡張する際は、references/repository-layout.md を読みます。
エクスポート形式に関する注意事項
このスキルは、chat_messages を含む conversations.json を備えた新しいエクスポート向けに設計されていますが、conversations-*.json と mapping グラフを使用する古いシャードベースのエクスポートにも対応しています。
判断に迷った場合は、スキーマを決めつけるのではなく、まず inspect-export.py を実行してください。