agentsclimarketplace

User research user modeling

Skill LuckyOneTwoThree/pm-skill/pm-01-discovery/skills/user-research-user-modeling

102 AI Agent Skills for the full product lifecycle. Compatible with Trae / Claude Code. 9 modules from discovery to launch to growth. | 102 个覆盖产品全生命周期的 AI Agent Skills,兼容 Trae / Claude Code,9 大模块从探索发现到上线增长。

Install
npx -y skills add LuckyOneTwoThree/pm-skill --skill user-research-user-modeling

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

当需要基于用户声音分析和行为分析结果生成Persona、Empathy Map、Journey Map时使用。用户建模自动生成Pipeline。关键词:用户建模、Persona生成、同理心地图、用户旅程地图、用户画像、典型用户、用户角色、用户长什么样。

SKILL.md

17.5 KB, as published. Nobody here has run it

用户建模自动生成

核心原则

  1. Persona是假设不是事实——Persona是基于数据的推断模型,需持续验证而非固化,低置信度字段必须标注
  2. 声音+行为交叉验证——用户说的(VOC)和做的(行为)必须交叉印证,矛盾处标记为待验证假设
  3. 推断必须标注来源——每个特征字段标注data_source(voice/behavior/survey/inferred),推断性内容不可伪装为事实
  4. 低置信度即待验证假设——置信度<0.5的字段升级人类验证,不自动进入后续流程

交互模式

🤖→👤 AI建议人类审批 — AI生成模型草案,人类审批确认后方可用于后续流程


输入

输入项类型必填来源说明
voice-analysis.jsonJSONoutput/pm-discovery/user-research-voice-analysis/voice-analysis.json用户声音洞察、痛点、主题、分群
behavior-analysis.jsonJSONoutput/pm-discovery/user-research-behavior-analysis/behavior-analysis.json行为洞察、漏斗、路径、Aha Moment
survey_dataJSON用户提供问卷数据,补充人口统计学信息和态度数据
modeling_configobject用户提供建模配置(最大Persona数、置信度阈值、旅程阶段等)

输入格式

{
  "voice_analysis_path": "output/pm-discovery/user-research-voice-analysis/voice-analysis.json",
  "behavior_analysis_path": "output/pm-discovery/user-research-behavior-analysis/behavior-analysis.json",
  "survey_data": {
    "available": "boolean",
    "location": "string",
    "sample_size": "number"
  },
  "modeling_config": {
    "max_personas": "number",
    "min_confidence_threshold": "number",
    "journey_stages": ["string"],
    "include_emotional_arc": "boolean"
  }
}

输入依赖

  • voice-analysis.json:提供用户声音洞察、痛点、主题、分群
  • behavior-analysis.json:提供行为洞察、漏斗、路径、Aha Moment
  • 问卷数据(可选):补充人口统计学信息和态度数据

执行步骤

Step 1:用户聚类

  • 整合voice-analysis的用户分群与behavior-analysis的行为分群
  • 使用交叉验证确定最优聚类数(2-6个Persona)
  • 聚类维度:行为特征 × 声音特征 × 人口统计(如有)
  • 评估每个聚类的内聚度和区分度
  • 输出:聚类结果,每个聚类的核心特征描述

Step 2:特征画像提取

  • 对每个聚类提取关键特征:
    • 行为特征:核心使用场景、使用频率、功能偏好、Aha Moment
    • 声音特征:主要诉求、核心痛点、情感倾向、代表原声
    • 人口统计:年龄区间、职业倾向、技术熟练度(如有数据)
    • Jobs to be Done:Functional Job / Emotional Job / Social Job
  • 标注每个特征的置信度
  • 标注数据来源(voice / behavior / survey / 推断)
  • 输出:每个聚类的特征画像

Step 3:Persona文档生成

  • 为每个聚类生成Persona文档,包含:
    • 名称:易记的代称(如"效率先锋""体验探索者")
    • 核心目标:该Persona最想达成什么(2-3个)
    • 关键行为:典型使用行为模式(3-5个)
    • 核心痛点:最困扰的问题(2-4个,引用voice-analysis数据)
    • 代表性原声:来自真实用户反馈的引用(3-5条)
    • 规模占比:该Persona在用户群中的占比
    • 置信度:整体置信度评分(0-1)
  • 标注推断性内容(无直接数据支撑的特征)
  • 输出:persona.json

Step 4:Empathy Map生成

  • 为每个Persona生成Empathy Map,包含四个象限:
    • Says:用户说了什么(来自voice-analysis的原声)
    • Thinks:用户可能在想什么(推断,标注置信度)
    • Does:用户做了什么(来自behavior-analysis的行为数据)
    • Feels:用户的情绪状态(来自情感分析 + 推断,标注置信度)
  • 标注每个象限条目的数据来源和置信度
  • 输出:empathy-map.json

Step 5:Journey Map生成

  • 为每个Persona生成Journey Map,包含:
    • 阶段:认知 → 考虑 → 使用 → 深度使用 → 流失/留存
    • 每个阶段
      • 用户行为(来自behavior-analysis)
      • 触点(产品内外)
      • 情绪曲线(高/低点标注)
      • 痛点(来自voice-analysis)
      • 机会点(痛点 × 未满足需求)
  • 标注情绪曲线的置信度(行为数据支撑 vs 推断)
  • 输出:journey-map.json

Step 6:置信度评估

  • 评估每个Persona的整体置信度
  • 评估每个输出字段的置信度
  • 识别低置信度字段(< 0.5)并标记需人类验证
  • 生成置信度报告:哪些结论有强数据支撑,哪些需要补充验证
  • 输出:置信度评估报告

输出

persona.json

输出文件:output/pm-discovery/user-research-user-modeling/persona.json

输出Schema

{
  "type": "object",
  "required": ["personas", "metadata"],
  "properties": {
    "personas": {"type": "array", "description": "Persona列表,含目标、行为、痛点和JTBD"},
    "metadata": {"type": "object", "description": "元数据,含时间戳、来源和聚类质量评分"}
  }
}

输出校验规则

字段路径类型必填说明
personasarrayPersona列表,不可为空
personas[].idstringPersona唯一标识
personas[].namestringPersona名称
personas[].core_goalsarray核心目标列表,每项须含goal、confidence、data_source
personas[].core_goals[].data_sourcestring数据来源枚举:voice/behavior/survey/inferred
personas[].core_goals[].confidencenumber目标置信度,0-1
personas[].key_behaviorsarray关键行为列表,每项须含behavior、confidence、data_source
personas[].key_behaviors[].data_sourcestring数据来源枚举:voice/behavior/survey/inferred
personas[].core_pain_pointsarray核心痛点列表,每项须含pain_point、severity、confidence、data_source
personas[].core_pain_points[].severitystring痛点等级枚举:P0/P1/P2/P3
personas[].core_pain_points[].evidence_refstring证据引用来源
personas[].representative_quotesarray代表原声列表,每个Persona≥3条
personas[].size_rationumber规模占比,0-1
personas[].confidencenumberPersona整体置信度,0-1
personas[].jobs_to_be_done.functional_jobobject功能性Job,须含description、confidence
personas[].jobs_to_be_done.emotional_jobobject情感性Job,须含description、confidence
personas[].jobs_to_be_done.social_jobobject社会性Job,须含description、confidence
personas[].low_confidence_fieldsstring[]低置信度字段列表
metadata.analysis_timestampstring分析时间戳
metadata.input_sourcesstring[]输入来源列表
metadata.clustering_quality_scorenumber聚类质量评分,0-1
metadata.confidence_overallnumber整体置信度,0-1
{
  "personas": [
    {
      "id": "string",
      "name": "string",
      "core_goals": [
        {
          "goal": "string",
          "confidence": "number",
          "data_source": "voice|behavior|survey|inferred"
        }
      ],
      "key_behaviors": [
        {
          "behavior": "string",
          "confidence": "number",
          "data_source": "voice|behavior|survey|inferred"
        }
      ],
      "core_pain_points": [
        {
          "pain_point": "string",
          "severity": "P0|P1|P2|P3",
          "confidence": "number",
          "data_source": "voice|behavior|survey|inferred",
          "evidence_ref": "string"
        }
      ],
      "representative_quotes": [
        {
          "quote": "string",
          "source": "string",
          "sentiment": "string"
        }
      ],
      "size_ratio": "number",
      "confidence": "number",
      "jobs_to_be_done": {
        "functional_job": {
          "description": "string",
          "confidence": "number"
        },
        "emotional_job": {
          "description": "string",
          "confidence": "number"
        },
        "social_job": {
          "description": "string",
          "confidence": "number"
        }
      },
      "low_confidence_fields": ["string"]
    }
  ],
  "metadata": {
    "analysis_timestamp": "string",
    "input_sources": ["string"],
    "clustering_quality_score": "number",
    "confidence_overall": "number"
  }
}

empathy-map.json

输出文件:output/pm-discovery/user-research-user-modeling/empathy-map.json

输出Schema

{
  "type": "object",
  "required": ["empathy_maps"],
  "properties": {
    "empathy_maps": {"type": "array", "description": "同理心地图列表,含Says/Thinks/Does/Feels四象限"}
  }
}

输出校验规则

字段路径类型必填说明
empathy_mapsarray同理心地图列表,不可为空
empathy_maps[].persona_idstring关联Persona ID
empathy_maps[].persona_namestring关联Persona名称
empathy_maps[].saysarraySays象限,每项须含content、source、confidence,≥2条
empathy_maps[].thinksarrayThinks象限,每项须含content、inference_basis、confidence,≥2条
empathy_maps[].doesarrayDoes象限,每项须含content、source、confidence,≥2条
empathy_maps[].feelsarrayFeels象限,每项须含emotion、intensity、inference_basis、confidence,≥2条
{
  "empathy_maps": [
    {
      "persona_id": "string",
      "persona_name": "string",
      "says": [
        {
          "content": "string",
          "source": "string",
          "confidence": "number"
        }
      ],
      "thinks": [
        {
          "content": "string",
          "inference_basis": "string",
          "confidence": "number"
        }
      ],
      "does": [
        {
          "content": "string",
          "source": "string",
          "confidence": "number"
        }
      ],
      "feels": [
        {
          "emotion": "string",
          "intensity": "number",
          "inference_basis": "string",
          "confidence": "number"
        }
      ]
    }
  ]
}

journey-map.json

输出文件:output/pm-discovery/user-research-user-modeling/journey-map.json

输出Schema

{
  "type": "object",
  "required": ["journey_maps"],
  "properties": {
    "journey_maps": {"type": "array", "description": "用户旅程地图列表,含阶段、情绪曲线和机会点"}
  }
}

输出校验规则

字段路径类型必填说明
journey_mapsarray旅程地图列表,不可为空
journey_maps[].persona_idstring关联Persona ID
journey_maps[].persona_namestring关联Persona名称
journey_maps[].stagesarray旅程阶段列表,须覆盖核心阶段
journey_maps[].stages[].stage_namestring阶段名称
journey_maps[].stages[].user_behaviorsstring[]用户行为列表
journey_maps[].stages[].touchpointsstring[]触点列表
journey_maps[].stages[].emotion_scorenumber情绪评分
journey_maps[].stages[].emotion_confidencenumber情绪置信度,0-1
journey_maps[].stages[].pain_pointsstring[]痛点列表
journey_maps[].stages[].opportunitiesstring[]机会点列表
journey_maps[].emotional_arcobject情绪弧线,须含high_points、low_points、overall_trend
{
  "journey_maps": [
    {
      "persona_id": "string",
      "persona_name": "string",
      "stages": [
        {
          "stage_name": "string",
          "user_behaviors": ["string"],
          "touchpoints": ["string"],
          "emotion_score": "number",
          "emotion_confidence": "number",
          "pain_points": ["string"],
          "opportunities": ["string"]
        }
      ],
      "emotional_arc": {
        "high_points": ["string"],
        "low_points": ["string"],
        "overall_trend": "string"
      }
    }
  ]
}

决策规则

条件动作
Persona整体置信度 < 0.5升级至人类验证,标记"需人工确认",不自动进入后续流程
Emotional Job推断置信度 < 0.5升级至人类验证,标记"情感需求推断待确认"
Social Job推断置信度 < 0.5升级至人类验证,标记"社交需求推断待确认"
两个Persona区分度不足(特征重叠 > 70%)合并为1个Persona或标记"需人工判断是否拆分"
聚类质量评分 < 0.4标记"聚类质量不佳",建议调整聚类参数或补充数据

质量检查

检查项标准不达标处理
至少1个Persona置信度 ≥ 0.7满足无高置信度Persona时标记"建模不充分",建议补充数据或访谈
每个Persona有数据支撑每个字段标注数据来源推断性字段占比 > 50%时标记"数据支撑不足"
Persona间区分度特征重叠 < 70%重叠过高时建议合并或重新聚类
代表性原声每个Persona ≥ 3条原声不足时标记"原声支撑不足"
Empathy Map四象限完整每个象限 ≥ 2条内容缺失象限标记"数据不足"
Journey Map阶段完整覆盖核心阶段缺失阶段标记"数据缺失"
所有输出标注置信度100%缺失置信度的字段补填默认值0.3并标记

降级策略

当上游文件不存在时,本Skill仍可独立执行:

缺失的上游输入降级方案输出影响
voice-analysis.json基于用户口头描述的目标用户特征推断Persona,标注"缺乏声音数据支撑"Persona声音特征和痛点基于推断,representative_quotes缺失,core_pain_points置信度降低
behavior-analysis.json基于用户口头描述的用户行为推断Persona,标注"缺乏行为数据支撑"Persona行为特征和Aha Moment基于推断,key_behaviors置信度降低,Journey Map行为数据缺失
voice-analysis.json + behavior-analysis.json用户提供目标用户描述 → 基于描述推断Persona,整体置信度降低personas整体confidence降低,data_source多为inferred,low_confidence_fields增多
所有上游文件均缺失提示用户先执行前序阶段,或基于用户口头描述执行轻量版Persona推断输出为纯推断Persona,confidence_overall上限0.3,所有字段标注inferred
若用户未提供survey_data跳过该输入相关步骤,Persona中人口统计学信息基于推断,标注"缺乏问卷数据"人口统计字段data_source为inferred,置信度降低
若用户未提供modeling_config跳过该输入相关步骤,使用默认建模配置(最大Persona数:4,置信度阈值:0.5)使用默认配置,Persona数量和阈值可能非最优

数据获取说明

本Skill需要用户声音分析和行为分析数据,请通过以下方式之一提供:

  1. 直接粘贴用户描述文本(目标用户特征、行为模式等)
  2. 上传voice-analysis.json / behavior-analysis.json文件
  3. 提供数据文件路径
  • AI不负责外部数据采集,仅负责分析

上游变更响应

上游变更影响

上游Skill变更类型影响范围响应动作
user-research-voice-analysisvoice-analysis.json结构变更用户分群、痛点、主题数据格式变化检查输入字段映射,适配新结构,不兼容时标记"上游数据格式异常"
user-research-voice-analysisvoice-analysis.json内容更新痛点等级、情感分布、分群结果变化重新执行聚类和Persona生成,标注"基于更新数据重建"
user-research-behavior-analysisbehavior-analysis.json结构变更行为分群、Aha Moment、功能使用数据格式变化检查输入字段映射,适配新结构,不兼容时标记"上游数据格式异常"
user-research-behavior-analysisbehavior-analysis.json内容更新漏斗、路径、异常检测结果变化重新执行聚类和Persona生成,标注"基于更新数据重建"

下游通知机制

下游Skill通知触发条件通知方式通知内容
user-research-interview-assistpersona.json更新完成写入output文件通知Persona数据已就绪,可用于访谈脚本设计
user-research-reportpersona.json / empathy-map.json / journey-map.json更新完成写入output文件通知用户建模数据已就绪,可用于报告生成

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.