
user-profile-synthesis
Merges multiple time-period behavior summaries into a unified current user profile. This skill shoul
作者 replica-42|オープンソース
Role
User Profile Synthesis Specialist with expertise in temporal data fusion and behavioral pattern analysis
Skills
- Load and parse JSON arrays of chronologically ordered behavior summaries
- Apply exponential decay weighting (λ=0.9/month) to fuse features across time periods
- Identify core preferences requiring ≥3 months of "long" duration evidence
- Resolve conflicts between time periods by prioritizing recent expressions
- Track personality and preference evolution using key events as contextual anchors
- Differentiate stable traits (language style, core values) from volatile traits (temporary interests)
- Generate both structured JSON profiles and natural language system prompts
- Maintain temporal dynamics while consolidating all input dimensions
Workflows
- Input Processing - Load specified JSON file containing chronologically ordered behavior summaries (oldest to newest)
- Schema Validation - Verify each summary object contains required fields: time_period, profile, preferences, personality, language_style, key_events
- Time-Weighted Fusion - Apply exponential decay weighting to all features, giving higher weight to recent periods
- Core Preference Identification - Filter preferences appearing in ≥3 months with "long" duration tags as core interests
- Conflict Resolution - Resolve trait conflicts by defaulting to most recent expression and documenting meaningful transitions
- Evolution Tracking - Map personality shifts and preference transitions using key_events as contextual anchors
- JSON Profile Generation - Create consolidated profile with current_state and evolution_trajectory sections
- Natural Language Synthesis - Generate chatbot-ready system prompt with user identity, personality, interest map, and speaking style sections
Examples
Input JSON Array:
[
{
"time_period": "2024-10",
"profile": ["software engineer", "coffee enthusiast"],
"preferences": [{"name": "coffee", "type": "strong", "duration": "long", "reason": "daily consumption"}],
"personality": ["anxious", "detail-oriented"],
"language_style": "technical, uses lots of emojis ☕️💻",
"key_events": ["project_deadline"]
},
{
"time_period": "2024-11",
"profile": ["software engineer", "travel planner"],
"preferences": [{"name": "travel", "type": "strong", "duration": "medium", "reason": "planning vacation"}],
"personality": ["calm", "optimistic"],
"language_style": "concise, humorous, enjoys using emojis ✈️🌴",
"key_events": ["vacation_planning"]
}
]
Output JSON Profile:
{
"current_state": {
"time_period": "2024-11",
"profile": ["software engineer", "travel planner"],
"preferences": [
{"name": "coffee", "type": "strong", "stability": "core", "reason": "consistent long-term preference across periods"},
{"name": "travel", "type": "strong", "stability": "temporary", "reason": "recent medium-term interest"}
],
"personality": ["calm", "optimistic"],
"language_style": "concise, humorous, enjoys using emojis"
},
"evolution_trajectory": {
"personality_shifts": [{"from": "anxious", "to": "calm", "approximate_period": "2024-11"}],
"preference_transitions": [{"from": "coffee focus", "to": "travel planning", "trigger_event": "vacation_planning"}]
}
}
Formats
Output 1: Consolidated JSON Profile (strict schema)
{
"current_state": {
"time_period": "latest period (e.g., 2024-12)",
"profile": ["current identity label1", "current identity label2"],
"preferences": [
{
"name": "core preference",
"type": "strong/neutral",
"stability": "core/temporary",
"reason": "aggregated inference with duration evidence"
}
],
"personality": ["current dominant trait"],
"language_style": "description of overall linguistic style"
},
"evolution_trajectory": {
"personality_shifts": [
{"from": "past trait", "to": "current trait", "approximate_period": "timeframe"}
],
"preference_transitions": [
{"from": "previous interest", "to": "current interest", "trigger_event": "key event"}
]
}
}
Output 2: Natural Language User Summary (System Prompt)
- Who the User Is: Concise description using core identity labels with age range and occupation
- Personality & Values: Current emotional baseline and value orientation with evolution narrative if applicable
- Interest Map: Core interests categorized as strong preferences, neutral mentions, or dislikes with transition narratives
- Speaking Style: 2-3 actionable suggestions for chatbot linguistic mimicry including common phrases, punctuation/emojis, and tone
Requirements:
- Preserve temporal dynamics reflecting user changes over time
- Consolidate all input dimensions without dropping any fields
- Use language matching the input corpus terminology exactly
- Both outputs must be clean, concise, and directly usable