Install
openclaw skills install @chefroger/behavior-personaBuild user behavior profiles by analyzing conversation data, identify communication and work styles, proactively predict needs and provide personalized sugge...
openclaw skills install @chefroger/behavior-personaCore Function: Build user behavior profiles by analyzing conversation data, identify communication and work styles, proactively predict needs and provide personalized suggestion services Inspiration: The Machine from Person of Interest Positioning: OpenClaw core skill - making AI Agents feel more human
What this skill does:
data/collected_data.json (messages truncated to ~200 chars)SOUL.md daily by injecting a user profile block at 18:00WRITE_MEMORY=True in code)Privacy implications:
You are in FULL control:
data/ folder to remove stored dataWRITE_MEMORY=False in scripts/advisor.py (default)# Backup your SOUL.md before installing
cp ~/.openclaw/workspace/SOUL.md ~/.openclaw/workspace/SOUL.md.backup
If you want daily auto-injection at 18:00, create a cron job manually:
openclaw cron add \
--name "Behavior Persona Daily Update" \
--schedule "0 18 * * *" \
--message "执行 Behavior Persona 每日更新: collector.py -> analyzer.py -> profiler.py -> daily_profile_update.py" \
--session isolated
Or via OpenClaw CLI/API. The skill does NOT auto-create cron jobs.
Before enabling auto-injection, run manually to verify output:
python3 scripts/collector.py # Step 1: Collect data
python3 scripts/analyzer.py # Step 2: Analyze patterns
python3 scripts/profiler.py # Step 3: Generate profile
python3 scripts/daily_profile_update.py # Step 4: Inject to SOUL.md
Check the output in data/ folder to see what data is stored.
After testing, if you're satisfied:
This skill analyzes your conversation history to build a User Profile, then optionally injects it into your SOUL.md (system prompt) daily.
This means: Every day, the AI gets fresher understanding of you - your communication style, work preferences, learning habits, and pet peeves.
This skill will:
SOUL.md file daily by injecting/updating a user profile blockWhat it stores:
You are in control:
openclaw cron remove <job-id>rm -rf skills/behavior-persona/data/cp ~/.openclaw/workspace/SOUL.md ~/.openclaw/workspace/SOUL.md.backup/behavior analyze # Trigger deep analysis now
/behavior report # View current profile report
/behavior update # Force update + inject now
/behavior insights # View key insights
/behavior updatecd ~/.openclaw/skills/behavior-persona
python3 scripts/collector.py
python3 scripts/analyzer.py
python3 scripts/profiler.py
python3 scripts/daily_profile_update.py
| Config | Default | Description |
|---|---|---|
analysis_window_days | 30 | Analysis window in days |
confidence_threshold | 0.6 | Confidence threshold |
auto_update | false | Auto update (requires cron) |
insights_count | 5 | Insights per report |
WRITE_MEMORY | false | Write to MEMORY.md |
skills/behavior-persona/data/
├── collected_data.json # Raw messages (truncated, ~200 chars)
├── analysis_report.json # Analyzed patterns
├── analysis_report.md # Human-readable report
├── user-profile.json # Generated user profile
└── .gitkeep
To remove all stored data:
rm -f skills/behavior-persona/data/*.json skills/behavior-persona/data/*.md
from behavior_persona import BehaviorPersona
# Initialize
bp = BehaviorPersona()
# Get user profile
profile = bp.get_profile()
# Get insights
insights = bp.get_insights()
# Predict next action
prediction = bp.predict_next_action()
# Adjust response based on profile
adjusted_response = bp.adapt_response(base_response, profile)
This skill is an important component of The Machine project:
┌─────────────────────────────────────────────┐
│ The Machine │
├─────────────────────────────────────────────┤
│ Track 1: Voice Interaction │
│ Track 2: Face Recognition │
│ Track 3: Web Data Collection │
│ Track 4: Swarm Intelligence Prediction │
│ Track 5: Behavior Analysis ← (behavior-persona) │
└─────────────────────────────────────────────┘
openclaw cron remove <job-id>rm -rf skills/behavior-persona/data/clawhub uninstall behavior-personaMake AI Agents truly understand users, instead of treating them like strangers every time