Skip to content
cccskills
FreePublished on GitHub

chatgpt-export-acset

Transform ChatGPT ZIP exports into ACSets (Attributed C-Sets) for:

The English summary is being prepared. Showing the original description.

See how to install

Files included (6)

  • SKILL.md5.7 KB
  • agent_o_rama_acset.json1.0 MB
  • agent_o_rama_schema.jl515 B
  • CONCOMITANT_SKILLS.md2.3 KB
  • extract_agent_o_rama.py7.0 KB
  • SKILL.md.bak5.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

chatgpt-export-acset

Process ChatGPT data exports into ACSets for categorical analysis

Version: 1.0.0 Trit: 0 (ERGODIC - data transformation coordinator) Color: #10B981

Overview

Transform ChatGPT ZIP exports into ACSets (Attributed C-Sets) for:

  • Conversation graph analysis
  • Message threading reconstruction
  • Author/role relationship mapping
  • Attachment tracking

Schema

┌─────────────────────────────────────────────────────────────┐
│                    SchChatGPTExport                          │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  Conversation ◄──── conversation_of ──── Message            │
│       │                                     │                │
│       │                                     ├── author_of ──► Author
│       │                                     │                │
│       │                                     └── parent_msg ─┐│
│       │                                          ▲          ││
│       │                                          └──────────┘│
│       │                                                      │
│       └─────────────────────── Attachment ◄─ attachment_of ──┘
│                                                              │
└─────────────────────────────────────────────────────────────┘

ACSet Definition (Julia)

@present SchChatGPTExport(FreeSchema) begin
    Conversation::Ob
    Message::Ob
    Author::Ob
    Attachment::Ob
    
    conversation_of::Hom(Message, Conversation)
    author_of::Hom(Message, Author)
    parent_msg::Hom(Message, Message)
    attachment_of::Hom(Attachment, Message)
    
    # Attributes
    Title::AttrType
    Content::AttrType
    Role::AttrType
    Time::AttrType
    FileID::AttrType
    
    title::Attr(Conversation, Title)
    conv_id::Attr(Conversation, Title)
    create_time::Attr(Conversation, Time)
    
    msg_id::Attr(Message, Title)
    content::Attr(Message, Content)
    status::Attr(Message, Title)
    
    name::Attr(Author, Title)
    role::Attr(Author, Role)
    
    file_id::Attr(Attachment, FileID)
    file_type::Attr(Attachment, Title)
end

Python Implementation (py-acset style)

from dataclasses import dataclass, field

@dataclass
class PyACSet:
    schema: dict
    parts: dict = field(default_factory=dict)
    subparts: dict = field(default_factory=dict)
    
    def add_part(self, ob: str, **attrs) -> int:
        idx = len(self.parts[ob])
        self.parts[ob].append(idx)
        for attr, val in attrs.items():
            self.subparts[f"{ob}_{attr}"].append(val)
        return idx
    
    def set_subpart(self, morph: str, src: int, tgt: int):
        while len(self.subparts[morph]) <= src:
            self.subparts[morph].append(None)
        self.subparts[morph][src] = tgt

Usage

Extract agent-o-rama conversations

cd /path/to/extracted/zip
python3 extract_agent_o_rama.py

Query with Specter-style navigation

using ACSets

# All messages in a conversation
messages_in_conv(acset, conv_id) = incident(acset, conv_id, :conversation_of)

# Thread reconstruction (follow parent_msg)
function thread_path(acset, msg_id)
    path = [msg_id]
    while (parent = acset[msg_id, :parent_msg]) !== nothing
        pushfirst!(path, parent)
        msg_id = parent
    end
    path
end

# All messages by role
by_role(acset, role) = findall(==(role), acset[:role])

Files

FilePurpose
extract_agent_o_rama.pyPython extractor for agent-o-rama conversations
agent_o_rama_acset.jsonExported ACSet data
agent_o_rama_schema.jlJulia schema definition

Export Format

{
  "parts": {
    "Conversation": [0, 1, 2, ...],
    "Message": [0, 1, 2, ...],
    "Author": [0, 1, 2, 3]
  },
  "subparts": {
    "conversation_of": [0, 0, 0, 1, 1, ...],
    "author_of": [0, 1, 0, 1, ...],
    "parent_msg": [null, 0, 1, null, 3, ...],
    "Conversation_title": ["Title1", "Title2", ...],
    "Message_content": ["Hello", "Response", ...]
  }
}

Base directory: file:///Users/bob/.claude/skills/chatgpt-export-acset


End-of-Skill Interface

GF(3) Triads

three-match (-1) ⊗ chatgpt-export-acset (0) ⊗ gay-mcp (+1) = 0 ✓
temporal-coalgebra (-1) ⊗ chatgpt-export-acset (0) ⊗ duckdb-timetravel (+1) = 0 ✓

Related Skills

  • acsets-algebraic-databases - Core ACSet theory
  • specter-acset - Bidirectional navigation
  • lispsyntax-acset - Sexp bridge
  • duckdb-timetravel - Temporal versioning
  • agent-o-rama - Red Planet Labs Rama patterns

Autopoietic Marginalia

The interaction IS the skill improving itself.

Every use of this skill is an opportunity for worlding:

  • MEMORY (-1): Record what was learned
  • REMEMBERING (0): Connect patterns to other skills
  • WORLDING (+1): Evolve the skill based on use

Add Interaction Exemplars here as the skill is used.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Model ElevenLabs voice synthesis as an ACSet schema with Unison ability handlers for typed voice operations. Use when integrating ElevenLabs TTS into category-theoretic pipelines, building typed voice synthesis workflows, or managing multi-voice narration with GF(3) conservation.

The English summary is being prepared. Showing the original description.

plurigrid/asi70Updated Jul 10, 2026

Systematic process for analyzing and modernizing legacy applications to comply with the 12-Factor App methodology. Covers code analysis, configuration externalization, dependency management, and container/Kubernetes best practices.

The English summary is being prepared. Showing the original description.

plurigrid/asi70Updated Jul 10, 2026

13c0e3

Free

Gay MCP skill at invocation 26

The English summary is being prepared. Showing the original description.

plurigrid/asi70Updated Jul 10, 2026

19d57d

Free

Gay MCP skill at invocation 5

The English summary is being prepared. Showing the original description.

plurigrid/asi70Updated Jul 10, 2026

1ea91a

Free

Gay MCP skill at invocation 27

The English summary is being prepared. Showing the original description.

plurigrid/asi70Updated Jul 10, 2026

1eab21

Free

Gay MCP skill at invocation 3

The English summary is being prepared. Showing the original description.

plurigrid/asi70Updated Jul 10, 2026

See all skills by plurigrid

Report a problem with this skill