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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "user-cognitive-profiles" with this command: npx skills add sebastianffx/user-cognitive-profiles

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

  1. Go to ChatGPT → Settings → Data Controls → Export Data
  2. Click "Export" and confirm
  3. Wait for the email (usually arrives within 24 hours)
  4. Download the ZIP file from the email link
  5. 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:

DimensionLowHigh
Message LengthBrief commandsExtended analysis
StructureOrganic flowSystematic breakdown
DepthPractical focusTheoretical exploration
ToneTransactionalCollaborative

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

MetricDescriptionWhy It Matters
avg_message_lengthAverage words per user messageShort = efficiency mode, Long = exploration mode
question_ratio% of turns that are questionsHigh = collaborative, Low = directive
code_block_ratio% of messages with codeTechnical vs. conceptual focus
context_shiftsDetected mode transitionsIndicates multiple archetypes at play
confidenceCluster cohesion scoreHigher = 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:

  1. Export ChatGPT data
  2. Run analysis locally
  3. Review my-cognitive-profile.json
  4. Manually add relevant insights to SOUL.md
  5. (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:

  1. Archetype definition in examples/
  2. Sample data (anonymized)
  3. Validation that it clusters distinctly

References

  • references/methodology.md — Technical details on clustering algorithm
  • references/archetype-taxonomy.md — Full archetype definitions
  • examples/ — Sample profiles and configurations

Built for humans who want their AI to truly understand them. 🤖🤝🧠

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Chatgpt Image Generation

Generate images from ChatGPT using Playwright browser automation. Opens ChatGPT, sends prompts, waits for generation, and saves the resulting images.

Registry SourceRecently Updated
0170
Profile unavailable
Automation

OpenClaw QQBot 个性化提示词优化工具

OpenClaw QQBot 个性化提示词优化工具。可以解决 QQ Bot 回复太官方、太傻逼的问题,让 AI 回复更符合用户自己的性格。支持自动检测并替换默认提示词,支持自定义提示词模板,支持灵魂文件。

Registry SourceRecently Updated
0250
Profile unavailable
Automation

Fleet Communication System

Enables real-time text messaging and broadcasting between multiple OpenClaw nodes across machines for coordinated fleet operations.

Registry SourceRecently Updated
0221
Profile unavailable