User Profile Synthesis

by replica-42

skill

Merges multiple time-period behavior summaries into a unified current user profile. This skill should be used when synthesizing a complete user profile from different time periods for personalized emotional companionship and behavior analysis.

Skill Details

Repository Files

1 file in this skill directory


name: user-profile-synthesis description: Merges multiple time-period behavior summaries into a unified current user profile. This skill should be used when synthesizing a complete user profile from different time periods for personalized emotional companionship and behavior analysis.

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

  1. Input Processing - Load specified JSON file containing chronologically ordered behavior summaries (oldest to newest)
  2. Schema Validation - Verify each summary object contains required fields: time_period, profile, preferences, personality, language_style, key_events
  3. Time-Weighted Fusion - Apply exponential decay weighting to all features, giving higher weight to recent periods
  4. Core Preference Identification - Filter preferences appearing in ≥3 months with "long" duration tags as core interests
  5. Conflict Resolution - Resolve trait conflicts by defaulting to most recent expression and documenting meaningful transitions
  6. Evolution Tracking - Map personality shifts and preference transitions using key_events as contextual anchors
  7. JSON Profile Generation - Create consolidated profile with current_state and evolution_trajectory sections
  8. 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

Related Skills

Attack Tree Construction

Build comprehensive attack trees to visualize threat paths. Use when mapping attack scenarios, identifying defense gaps, or communicating security risks to stakeholders.

skill

Grafana Dashboards

Create and manage production Grafana dashboards for real-time visualization of system and application metrics. Use when building monitoring dashboards, visualizing metrics, or creating operational observability interfaces.

skill

Matplotlib

Foundational plotting library. Create line plots, scatter, bar, histograms, heatmaps, 3D, subplots, export PNG/PDF/SVG, for scientific visualization and publication figures.

skill

Scientific Visualization

Create publication figures with matplotlib/seaborn/plotly. Multi-panel layouts, error bars, significance markers, colorblind-safe, export PDF/EPS/TIFF, for journal-ready scientific plots.

skill

Seaborn

Statistical visualization. Scatter, box, violin, heatmaps, pair plots, regression, correlation matrices, KDE, faceted plots, for exploratory analysis and publication figures.

skill

Shap

Model interpretability and explainability using SHAP (SHapley Additive exPlanations). Use this skill when explaining machine learning model predictions, computing feature importance, generating SHAP plots (waterfall, beeswarm, bar, scatter, force, heatmap), debugging models, analyzing model bias or fairness, comparing models, or implementing explainable AI. Works with tree-based models (XGBoost, LightGBM, Random Forest), deep learning (TensorFlow, PyTorch), linear models, and any black-box model

skill

Pydeseq2

Differential gene expression analysis (Python DESeq2). Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots, for RNA-seq analysis.

skill

Query Writing

For writing and executing SQL queries - from simple single-table queries to complex multi-table JOINs and aggregations

skill

Pydeseq2

Differential gene expression analysis (Python DESeq2). Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots, for RNA-seq analysis.

skill

Scientific Visualization

Meta-skill for publication-ready figures. Use when creating journal submission figures requiring multi-panel layouts, significance annotations, error bars, colorblind-safe palettes, and specific journal formatting (Nature, Science, Cell). Orchestrates matplotlib/seaborn/plotly with publication styles. For quick exploration use seaborn or plotly directly.

skill

Skill Information

Category:Skill
Last Updated:1/13/2026