User Cognitive Profiles
š¤š¤š§ Discover how you communicate with AI and optimize your agent interactions.
This skill analyzes your ChatGPT conversation history to identify cognitive archetypes ā recurring patterns in how you think, communicate, and collaborate. Use these insights to calibrate your OpenClaw agent for more effective, personalized interactions.
Why This Matters
Human-AI communication is not one-size-fits-all. Just as you adapt your communication style between contexts (work meeting vs. casual chat), effective AI assistance requires matching your cognitive architecture.
The Problem:
- Default AI behavior assumes a generic user
- Your communication style varies dramatically by context (professional vs. personal)
- Misaligned AI responses feel inefficient or frustrating
The Solution:
- Analyze your actual conversation patterns
- Identify your dominant cognitive archetypes
- Configure your agent to match your communication style
Quick Start
1. Export Your ChatGPT Data
- Go to ChatGPT ā Settings ā Data Controls ā Export Data
- Click "Export" and confirm
- Wait for the email (usually arrives within 24 hours)
- Download the ZIP file from the email link
- Extract it ā you'll find
conversations.json
2. Run the Analysis
cd /path/to/user-cognitive-profiles
python3 scripts/analyze_profile.py \
--input ~/Downloads/chatgpt-export/conversations.json \
--output ~/.openclaw/my-cognitive-profile.json \
--archetypes 3
3. Apply to Your Agent
Add to your SOUL.md or AGENTS.md:
## User Cognitive Profile
<!-- Source: generated by user-cognitive-profiles skill -->
- **Primary Archetype:** Efficiency Optimizer
- **Avg Message Length:** 47 words
- **Context Switching:** High (professional vs. personal modes)
- **Key Patterns:** Prefers direct answers, values examples over theory
### Communication Calibration
- Default to concise responses
- Provide examples + theory + hands-on steps
- Watch for professional/personal mode shifts
Cognitive Archetypes
The analysis identifies archetypes based on four dimensions:
| Dimension | Low | High |
|---|---|---|
| Message Length | Brief commands | Extended analysis |
| Structure | Organic flow | Systematic breakdown |
| Depth | Practical focus | Theoretical exploration |
| Tone | Transactional | Collaborative |
Common Archetypes
š§ Efficiency Optimizer
- Messages: Short, direct, action-oriented
- Wants: Quick answers, minimal explanation
- AI Role: Tool to get things done
- Example: "Set up email. Use pass. Go."
šļø Systems Architect
- Messages: Long, structured, comprehensive
- Wants: Deep analysis, trade-offs, strategic thinking
- AI Role: Collaborative partner for complex problems
- Example: 300-word technical breakdown with multiple considerations
š§ Philosophical Explorer
- Messages: Varies widely, questions assumptions
- Wants: Meaning, patterns, cross-domain connections
- AI Role: Socratic partner for insight generation
- Example: "How does this relate to [completely different domain]?"
šØ Creative Synthesizer
- Messages: Connects disparate ideas, uses analogies
- Wants: Novel combinations, pattern recognition
- AI Role: Ideation partner and pattern mirror
- Example: "This is like jazz improvisation..."
Customization
Define Your Own Archetypes
Create ~/.openclaw/my-archetypes.yaml:
archetypes:
- name: "Research Mode"
keywords:
- "research"
- "analyze"
- "compare"
- "trade-off"
patterns:
- long_messages
- multiple_questions
- citation_requests
- name: "Quick Mode"
keywords:
- "quick"
- "brief"
- "simple"
- "just"
patterns:
- short_messages
- imperative_tone
- minimal_context
Run with custom archetypes:
python3 scripts/analyze_profile.py \
--input conversations.json \
--archetypes-config ~/.openclaw/my-archetypes.yaml
Adjust Cluster Count
More archetypes = finer granularity, but harder to act on:
# Simple: 2-3 archetypes
python3 scripts/analyze_profile.py --archetypes 2
# Detailed: 5-7 archetypes
python3 scripts/analyze_profile.py --archetypes 5
# Complex: 10+ (for power users)
python3 scripts/analyze_profile.py --archetypes 10
Understanding the Output
Profile JSON Structure
{
"metadata": {
"total_conversations": 3784,
"date_range": "2024-01-01 to 2025-01-31",
"analysis_date": "2026-02-02"
},
"archetypes": [
{
"id": 0,
"name": "Systems Architect",
"confidence": 0.87,
"metrics": {
"avg_message_length": 382,
"avg_response_length": 450,
"question_ratio": 0.23,
"code_block_ratio": 0.45
},
"keywords": ["architecture", "design", "trade-off", "system"],
"sample_conversations": ["uuid-1", "uuid-2"],
"recommendations": {
"ai_role": "Senior Architect",
"communication_style": "Detailed, systematic, collaborative",
"response_length": "long",
"structure": "hierarchical"
}
}
],
"context_shifts": [
{
"trigger": "technical_keywords",
"from_archetype": "Efficiency Optimizer",
"to_archetype": "Systems Architect"
}
],
"insights": {
"primary_mode": "Systems Architect",
"context_switching": "high",
"communication_preferences": [
"Examples before theory",
"Hands-on application",
"Cross-domain analogies"
]
}
}
Key Metrics Explained
| Metric | Description | Why It Matters |
|---|---|---|
avg_message_length |
Average words per user message | Short = efficiency mode, Long = exploration mode |
question_ratio |
% of turns that are questions | High = collaborative, Low = directive |
code_block_ratio |
% of messages with code | Technical vs. conceptual focus |
context_shifts |
Detected mode transitions | Indicates multiple archetypes at play |
confidence |
Cluster cohesion score | Higher = more distinct pattern |
Privacy & Security
All processing is local. The script:
- ā Runs entirely on your machine
- ā Never uploads data to external services
- ā Stores results in your local OpenClaw workspace
- ā You control what gets shared (if anything)
Recommended workflow:
- Export ChatGPT data
- Run analysis locally
- Review
my-cognitive-profile.json - Manually add relevant insights to
SOUL.md - (Optional) Delete the export and raw profile
Advanced Usage
Compare Profiles Over Time
Track how your communication evolves:
# January analysis
python3 scripts/analyze_profile.py \
--input conversations_jan.json \
--output profile_jan.json
# June analysis
python3 scripts/analyze_profile.py \
--input conversations_jun.json \
--output profile_jun.json
# Compare
python3 scripts/compare_profiles.py profile_jan.json profile_jun.json
Export for Other Agents
Generate a prompt snippet for Claude, GPT, or other agents:
python3 scripts/analyze_profile.py \
--input conversations.json \
--format prompt-snippet \
--output agent-prompt.txt
Output:
## User Communication Profile
- Primary style: Systems Architect (detailed, analytical)
- Secondary style: Efficiency Optimizer (brief, pragmatic)
- Context switching: High (watch for mode shifts)
- Preferences: Examples + theory + hands-on steps
- Treat as: Senior technical partner, not assistant
Troubleshooting
"conversations.json not found"
The export ZIP contains multiple files. Make sure you're pointing to:
chatgpt-export/
āāā conversations.json <-- This one
āāā user.json
āāā ...
"No conversations detected"
Your export might be empty or corrupted. Check:
head -20 conversations.json
Should show: [{"title": "...", "messages": [...]}, ...]
"All archetypes have similar confidence"
Try adjusting the cluster count:
# Too granular
python3 scripts/analyze_profile.py --archetypes 10
# Try simpler
python3 scripts/analyze_profile.py --archetypes 3
"Analysis takes too long"
For large conversation histories (10k+ messages):
# Sample for faster analysis
python3 scripts/analyze_profile.py \
--input conversations.json \
--sample 1000 # Analyze random 1000 conversations
Integration with OpenClaw
Automatic Profile Loading
Add to your OpenClaw workspace AGENTS.md:
## On Session Start
1. Read `~/.openclaw/my-cognitive-profile.json` if exists
2. Adapt communication style to primary archetype
3. Watch for context shift indicators
Dynamic Mode Detection
For agents that can switch modes mid-conversation:
# Pseudocode for agent integration
def detect_mode_shift(current_message, profile):
for shift in profile["context_shifts"]:
if shift["trigger"] in current_message:
return shift["to_archetype"]
return profile["insights"]["primary_mode"]
Contributing
Have a new archetype that works well? Submit a PR with:
- Archetype definition in
examples/ - Sample data (anonymized)
- Validation that it clusters distinctly
References
references/methodology.mdā Technical details on clustering algorithmreferences/archetype-taxonomy.mdā Full archetype definitionsexamples/ā Sample profiles and configurations
Built for humans who want their AI to truly understand them. š¤š¤š§