Analyze chat exports from any messaging platform — WhatsApp, Telegram, iMessage, Slack, Discord, or plain text logs — for psychological profiling, decision-making patterns, and sales receptivity insights.
When the user starts a session or says "let's begin", "start", "analyze", or similar:
-
First, ask: "Do you have a chat export ready to analyze? If so, place it in
data/chats/and let me know the folder name. I support WhatsApp, Telegram, iMessage, Slack, Discord, and plain text logs. Or drag the export file here and I'll help you set it up." -
Once data is located, ask using AskUserQuestion:
- Question: "What type of analysis would you like?"
- Options:
- "Text only (fast)" - Analyze just _chat.txt for conversation patterns
- "Text + Documents" - Include PDFs and shared files
- "Full analysis" - Everything including images, voice notes, video frames
-
Then ask:
- Question: "What's your primary goal?"
- Options:
- "Psychological profile" - Understand personality, communication style, values
- "Sales insights" - Buying signals, receptivity, how to pitch
- "Relationship dynamics" - Communication patterns, power balance, history
- "General exploration" - Open-ended Q&A about the conversation
-
Begin analysis based on selections.
chat-analyzer/
├── index.json # Master index linking conversations to analyses
├── data/
│ └── chats/
│ └── [person-name]/ # One folder per person/conversation
│ ├── _chat.txt # Main conversation file
│ └── media/
│ ├── photos/
│ ├── videos/
│ ├── audio/
│ └── documents/
│ ├── media/ # Standalone media files (not from exports)
│ ├── docs/ # Additional documents
│ └── links/ # Saved webpage content
├── analysis/
│ └── profiles/
│ └── [person-name]/ # Mirrors data structure - one folder per person
│ └── *.md # Analysis files for this person
│ └── reports/ # Cross-conversation or summary reports
├── skills/ # Custom analysis skills
└── scripts/ # Helper scripts (ffmpeg extraction, etc.)
The master index links data folders to analysis folders and stores metadata:
id: Folder name (e.g., "paul-stevens")data_path: Path to raw chat and mediaanalysis_path: Path to generated analysesdate_range: First and last message datesstats: Message count, media counts by typeanalyses: List of completed analysis files with summariestags: For filtering across multiple conversations
Always update index.json when adding a new conversation or analysis.
| Platform | How to Export | Primary Chat File |
|---|---|---|
| Chat → ⋮ → More → Export chat → Include media | _chat.txt |
|
| Telegram | Desktop app → ⋮ → Export chat history → JSON or HTML | result.json or messages.html |
| iMessage | Use iMazing or similar tool to export | .txt or .csv |
| Slack | Workspace admin → Export data | *.json per channel |
| Discord | Use DiscordChatExporter | .json or .csv |
| Signal | Settings → Chats → Export | .txt or backup file |
| Other | Any timestamped text log | .txt, .csv, .json |
- Create a folder:
data/chats/[person-name]/(lowercase, hyphenated) - Place the chat file(s) in the root of the person folder
- Organize media into subfolders:
- Images →
media/photos/ - Videos →
media/videos/ - Audio/voice notes →
media/audio/ - Documents →
media/documents/
- Images →
- Create matching analysis folder:
analysis/profiles/[person-name]/ - Add entry to
index.json
The system auto-detects the chat format — just drop the files in and run /analyze-chat.
- Supported: Images (PNG, JPG, WEBP), Audio (MP3, M4A, OGG, OPUS), Video (MP4, MOV, WebM)
- Place in
data/media/with descriptive names - For transcription needs, note file paths for processing
- PDFs and docs go in
data/docs/ - For links: save as markdown summaries in
data/links/
- Communication style analysis (formal/informal, emoji usage, response patterns)
- Emotional tone tracking over time
- Attachment style indicators
- Big Five personality trait estimation
- Response latency patterns (quick vs deliberate)
- Information-seeking behavior
- Risk tolerance indicators
- Authority/social proof responsiveness
- Product category interests (from shared links/media)
- Price sensitivity signals
- Trust-building progression
- Objection patterns and responses
- Timing preferences for engagement
/start- Begin here - Interactive guided setup with prompts/process-export- Handle large chat exports (100MB+) with mixed media/analyze-chat- Full chat analysis with profile generation/profile-person- Deep psychological profile from all available data/sales-insights- Sales-focused analysis and recommendations/compare-sessions- Compare patterns across different data sets/transcribe-media- Process audio/video for analysis
| File Type | Claude Can... | Method |
|---|---|---|
Chat text (.txt, .json, .html, .csv) |
Read directly | Read tool |
| JPEG/PNG images | View and describe | Read tool (multimodal) |
| PDFs | Extract text + visuals | Read tool |
| MP3/M4A/OPUS/OGG audio | Transcribe directly | Read tool |
| MP4 video | Audio only | Extract frames first (see scripts/) |
| vCard (.vcf) | Parse text | Read tool |
Run the frame extraction script first:
./scripts/extract-video-frames.sh data/chats/[export-folder]/Then Claude can analyze the extracted frame images.
1. Place data in appropriate folders under data/
2. Run: /analyze-chat
3. Review generated profile in analysis/profiles/
4. Ask follow-up questions about specific patterns
For comprehensive analysis, use this agent delegation pattern:
-
Data Ingestion Agent (Explore subagent)
- Catalog all files in data/
- Extract text from chats, transcribe media
- Summarize documents and links
-
Pattern Analysis Agent (general-purpose subagent)
- Identify communication patterns
- Track sentiment over time
- Map topic frequencies
-
Profile Synthesis Agent (general-purpose subagent)
- Combine pattern data into profiles
- Generate psychological assessments
- Create decision-making models
-
Research Agent (general-purpose with WebSearch)
- Research psychological frameworks
- Find relevant sales methodologies
- Validate profile hypotheses
- All analysis is local; no data leaves your machine
- Profiles are probabilistic assessments, not diagnoses
- Use insights ethically and with consent awareness
- Delete sensitive data after analysis if appropriate
- Start Claude Code in this folder:
cd ~/Desktop/chat-analyzer && claude - Say "let's begin" or "start analysis"
- Claude will prompt you to:
- Upload/locate your chat export (any platform)
- Choose analysis depth (text only, text + docs, or full)
- Choose your goal (profile, sales, relationships, or explore)
- Follow the guided analysis workflow
- Ask follow-up questions about anything you discover