conversation-archive

Import AI chat exports and session transcripts into a searchable knowledge base.

29.4k|4.4k|Updated Apr 5, 2026
One-click install
npx skills add https://github.com/garrytan/gbrain --skill conversation-archive
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: conversation-archive
Source: https://github.com/garrytan/gbrain/tree/main/plugin/skills/conversation-archive
Command: npx skills add https://github.com/garrytan/gbrain --skill conversation-archive

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Years of AI-assistant history (ChatGPT, Claude, Perplexity) and agent session logs sit as unreadable JSON blobs or rotating session stores that silently evict content. This Skill converts them into dated, validated, fact-extracted markdown pages so you can search, trace, and answer questions like "when did I first discuss X" across your entire conversation history.

Core Features & Use Cases

  • Export Import: Convert ChatGPT conversations.json, Claude exports, Perplexity threads, and agent session logs into one dated page per conversation under conversations/, with mandatory secret/PII redaction before any page is written.
  • Validation & Fact Extraction: Validate every page against the native conversation parser and run the cost-capped gbrain extract-conversation-facts flow so conversations become queryable knowledge, not dead text.
  • Gap-Healing Archive: Detect missing conversations by diffing source dates against archived pages over a trailing window and backfill automatically, preventing silent data loss from missed runs or store eviction.
  • Retrieval & Tracing: Answer "when did I first discuss X", build idea-evolution timelines with verbatim quotes and dated slug citations, and pull full threads on demand.
  • Use Case: You downloaded a ChatGPT export with 4,000 threads. The Skill converts a 3-5 page trial sample, validates it, then bulk-imports with redaction, fact extraction, and a gap re-check — producing an import receipt and a permanently searchable archive.

Quick Start

Import my downloaded ChatGPT export conversations.json into the brain as dated conversation pages, then tell me when I first discussed agent memory architectures.

Frequently Asked Questions about conversation-archive

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I import a ChatGPT export into a searchable archive?

Export your data via ChatGPT Settings → Data controls, unzip conversations.json, then run the native importer or convert each thread into one dated markdown page per conversation. Validate a 3-5 page sample with the conversation parser before bulk-importing thousands of threads.

How to find when I first discussed a topic in past AI conversations?

Query the archive for the topic, sort conversation hits by their date-prefixed slugs, then probe earlier with date-bounded queries and synonym retries. Confirm the earliest page is a genuine first discussion and answer with the date, a verbatim quote, and the slug.

Does the importer redact API keys and personal data from transcripts?

Yes, every conversation is scanned for secret-shaped strings (API keys, tokens) and PII before its page is written, with matches replaced by labeled placeholders like [REDACTED_API_KEY]. Redaction counts are reported in the import receipt, and broad PII review remains a manual step for sensitive corpora.

What happens if scheduled archiving misses a day of session transcripts?

Every archive run diffs source dates against archived pages over a trailing window and backfills any gap, so a missed run self-heals on the next tick. The archiving cadence must also be shorter than the session store's eviction window to avoid unrecoverable loss.

Can I import Perplexity or Claude conversations with this approach?

Claude exports import natively from their conversations.json format, while Perplexity has no full-archive export or live connector, so its threads use the manual one-page-per-conversation conversion. Both produce the same dated page format under conversations/.

Why do same-day untitled conversations overwrite each other on import?

Untitled threads share slugs like YYYY-MM-DD-new-chat, and page writes have no compare-and-swap, so a second write silently overwrites the first. Suffix each slug with a short stable hash of the thread id and check before writing to prevent collisions.