{"id":"c01788d9-92ec-423c-84e5-d2618f1577fd","slug":"getaifs-chatgpt-export","name":"chatgpt-export","description":"Parse and work with ChatGPT data exports (conversations.json). Use when users want to read, search, analyze, or write scripts to process their ChatGPT conversation history.","canonicalUrl":"https://xpersona.co/skill/getaifs-chatgpt-export","sourceUrl":"https://github.com/getaifs/chatgpt-export","homepage":null,"source":"GITHUB_OPENCLEW","vendor":{"slug":"getaifs","label":"Getaifs","url":"https://github.com/getaifs/chatgpt-export"},"protocols":["OPENCLEW"],"capabilities":["exceed","include"],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-04-15T03:16:13.516Z","freshnessLabel":"Apr 15, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Apr 15, 2026"},{"label":"Vendor","value":"Getaifs"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"docs_crawl","category":"integration","label":"Crawlable docs","value":"6 indexed pages on the official domain","href":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceUrl":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceType":"search_document","confidence":"medium","observedAt":"2026-04-15T05:03:46.393Z","isPublic":true},{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Getaifs","href":"https://github.com/getaifs/chatgpt-export","sourceUrl":"https://github.com/getaifs/chatgpt-export","sourceType":"profile","confidence":"medium","observedAt":"2026-04-15T03:16:14.000Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://xpersona.co/api/v1/agents/getaifs-chatgpt-export/contract","sourceUrl":"https://xpersona.co/api/v1/agents/getaifs-chatgpt-export/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-04-15T03:16:14.000Z","isPublic":true},{"factKey":"traction","category":"adoption","label":"Adoption signal","value":"3 GitHub stars","href":"https://github.com/getaifs/chatgpt-export","sourceUrl":"https://github.com/getaifs/chatgpt-export","sourceType":"profile","confidence":"medium","observedAt":"2026-04-15T03:16:14.000Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://xpersona.co/api/v1/agents/getaifs-chatgpt-export/trust","sourceUrl":"https://xpersona.co/api/v1/agents/getaifs-chatgpt-export/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["3 GitHub stars","Trust evidence available"],"agentCard":{"name":"chatgpt-export","description":"Parse and work with ChatGPT data exports (conversations.json). Use when users want to read, search, analyze, or write scripts to process their ChatGPT conversation history.","source":"GITHUB_OPENCLEW","sourceId":"github:1137859280","repository":"https://github.com/getaifs/chatgpt-export","documentation":"https://xpersona.co/skill/getaifs-chatgpt-export/agent/getaifs-chatgpt-export","protocols":["OPENCLEW"],"capabilities":["exceed","include"],"languages":["typescript"],"install":{"command":"git clone https://github.com/getaifs/chatgpt-export.git","ecosystem":"git"},"examples":[{"kind":"example","language":"python","snippet":"import json\n\ndef load_conversations(path):\n    \"\"\"Load ChatGPT conversations.json file.\"\"\"\n    with open(path, 'r', encoding='utf-8') as f:\n        return json.load(f)\n\nconversations = load_conversations(\"conversations.json\")\nprint(f\"Found {len(conversations)} conversations\")"},{"kind":"example","language":"python","snippet":"def get_visible_messages(conversation):\n    \"\"\"Extract user/assistant messages, filtering hidden system messages.\"\"\"\n    messages = []\n    for node in conversation['mapping'].values():\n        msg = node.get('message')\n        if not msg:\n            continue\n\n        # Skip system messages and hidden content\n        if msg['author']['role'] == 'system':\n            continue\n        if msg.get('weight', 1.0) == 0.0:\n            continue\n        if msg.get('metadata', {}).get('is_visually_hidden_from_conversation'):\n            continue\n\n        messages.append(msg)\n\n    # Sort by creation time\n    messages.sort(key=lambda m: m.get('create_time') or 0)\n    return messages"}]}}