user-cognitive-profiles
Analyze ChatGPT conversation exports to discover cognitive archetypes and optimize AI-human communication patterns. Enables personalized agent interactions based on detected user profiles.
- License 许可
- MIT
- 最近更新
- 2026-08-23
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- user-cognitive-profiles
- homepage
- https://github.com/openclaw/user-cognitive-profiles
- metadata
- { "openclaw": { "tags": [ "communication", "persona", "user-research", "optimization", "nlp" ], "emoji": "???", "requires": { "bins": [ "python3" ] } } }
- description
- Analyze ChatGPT conversation exports to discover cognitive archetypes and optimize AI-human communication patterns. Enables personalized agent interactions based on detected user profiles.
02 资源文件 11
- 参考文档_meta.json323 B
- 参考文档examples/custom-archetypes.yaml3.1 KB
- 参考文档examples/sample-profile.json3.0 KB
- 参考文档PACKAGE_SUMMARY.md4.1 KB
- 参考文档README.md1.0 KB
- 参考文档references/methodology.md8.2 KB
- 参考文档requirements-test.txt273 B
- 参考文档requirements.txt155 B
- 脚本scripts/analyze_profile.py32.6 KB
- 脚本scripts/compare_profiles.py5.6 KB
- 脚本test_wildchat.py13.0 KB
03 SKILL.md 正文
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. ???
04 同仓库更多 Skills
crowd-prompting
A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.
dilemm-ai
Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).
arxiv-paper-reviews
Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.
arxiv-paper-reviews
Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.
git-summary
Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.
agent-constitution
Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.