Letta logo

Skill

navigating-chatgpt-history

navigate and search conversation history

Published by Letta Updated Jul 13
Covers ChatGPT Knowledge Management Search

Description

Navigates archived ChatGPT or Claude-style conversation exports and a MemFS reference archive on demand. Use when recalling what a past assistant knew, searching old conversations, rendering specific chats, seeding reference memory from export sidecars, or mining historical context without doing a full import.

SKILL.md

Navigating Chat History Without Digesting Everything

Use this skill when the goal is referenceable history, not immediate full ingestion.

Good fits

  • search my exported ChatGPT history for a topic
  • figure out what the old assistant knew about me
  • render the conversation where we discussed X
  • keep this export around as external memory and only mine it when needed
  • seed MemFS from memories.json or projects.json

Default posture

Treat the export as an archive you can navigate later.

  1. read the MemFS archive index first if it exists: reference/chatgpt/index.md
  2. inspect the export with scripts/inspect-export.py
  3. search or list before rendering broad ranges
  4. preserve findings to reference/chatgpt/ first
  5. promote to system/human.md only when the fact is durable, current, and worth carrying every turn

Do not re-digest the entire archive unless the user explicitly wants that.

Archive layout in MemFS

Keep the external-memory archive under reference/chatgpt/.

Recommended files:

  • reference/chatgpt/index.md — source exports, schema notes, known paths, retrieval strategy
  • reference/chatgpt/export-YYYY-MM-DD.md — inventory and sidecar summary for one export
  • reference/chatgpt/chatgpt-memory-summary-YYYY-MM-DD.md — content from memories.json
  • reference/chatgpt/projects-YYYY-MM-DD.md — projects sidecar summary when useful
  • reference/chatgpt/transcripts/NNN-slug.md — curated high-signal conversation summaries
  • reference/chatgpt/notes/ — topic-specific notes mined later

Prefer progressive memory. Keep active memory small.

Scripts

scripts/inspect-export.py

Use first. It inventories the export and reads sidecars such as memories.json, projects.json, and 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

Use to browse by title, recency, or message count.

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

Use when titles are not enough.

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

Use for one conversation once you know the index.

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

Use only for focused batches after search narrows the field.

python3 scripts/render-range.py <export-path> --start-index 210 --end-index 220 --output-dir /tmp/chat-range

Workflow

1. Anchor yourself in existing MemFS notes

Before touching the raw export, check whether the archive already has:

  • an export summary
  • a prior project summary
  • curated transcripts
  • a note on the same topic

If yes, use that first.

2. Inspect before mining

Run inspect-export.py to answer:

  • what export shape is this?
  • how many conversations are there?
  • does memories.json already contain a synthesized memory block?
  • does projects.json hold useful background?

For large archives, this often answers the question before raw conversation mining is needed.

3. Narrow, then render

Prefer this sequence:

  1. list-conversations.py for browse
  2. search-conversations.py for content lookup
  3. render-conversation.py for deep read
  4. render-range.py only when several adjacent conversations matter

Do not render dozens of chats just because you can.

4. Write findings to progressive memory first

When a conversation matters, summarize it into:

  • reference/chatgpt/transcripts/ for high-signal conversation summaries
  • reference/chatgpt/notes/ for topic notes

Only then decide whether anything belongs in system/human.md.

5. Promotion rule

Promote to active memory only when the fact is:

  • explicit or strongly evidenced
  • current rather than historical-only
  • likely useful across many future conversations
  • low-risk to keep in context every turn

Everything else can stay in reference/chatgpt/.

Reference files

Read references/repository-layout.md when creating or extending the MemFS archive layout.

Notes on export formats

This skill is designed for newer exports that contain conversations.json with chat_messages, while still handling older shard-based exports with conversations-*.json and mapping graphs.

When in doubt, start with inspect-export.py instead of assuming the schema.

© 2026 YourAI.tools. Every skill from an identity-verified publisher.

Independent catalog. Not affiliated with, endorsed by, or sponsored by Anthropic or any listed publisher. All trademarks belong to their respective owners.