mcpField
D
design-persona

design-persona

github.com/coval-ai测试与质量360 次安装1 天前更新
代码仓库

关于 design-persona

通过 `coval` CLI 引导设计并创建模拟 Persona 的技能。它结合 Agent 信息和用例模板,在创建前确定 Persona 行为、语音设置和提示词。

主要功能

  1. 01检查现有 Persona 和 Agent
  2. 02按用例选择 Persona 模板
  3. 03设置语言、语音和背景音
  4. 04定义等待时间与打断行为
  5. 05编写并确认 Persona 提示词

适用场景

  1. 01为客户支持测试创建来电者 Persona
  2. 02根据选定 Agent 调整模板
  3. 03为模拟配置语音和行为

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/coval-ai/coval-external-skills --skill design-persona

安装后在 Claude Code 中输入/design-persona确认已加载。

附带文件references/persona-templates.mdreferences/voice-options.md

详细介绍

设计 Persona

引导用户使用 coval CLI 设计并创建模拟 Persona。按顺序执行以下阶段,并在每一步提问。

如果 $ARGUMENTS 包含使用场景(例如 "insurance_claims"、"customer_support")或 Agent 名称,请用它跳过相关问题或预填答案。

阶段 0:准备检查 + 资源清点

步骤 1:检查身份验证
coval whoami

如果尚未完成身份验证,请引导用户:

coval login

这会提示用户输入 API 密钥。请前往 https://app.coval.dev/settings 获取密钥(Organization > Manage > API Keys)。

如果用户没有 Coval 账户,请引导他们前往 https://coval.dev 注册。

步骤 2:清点现有资源

并行运行以下命令:

coval personas list --format json
coval agents list --format json

决策矩阵:

  • 有 Persona → 以编号列表的形式展示:"你已有以下 Persona。想要复用一个、复制并修改,还是创建新的?"
  • 没有 Persona → 进入阶段 1
  • 如果 $ARGUMENTS 与现有 Agent 名称匹配,则在阶段 1 中预选该 Agent

阶段 1:Agent 背景信息

询问:"这个 Persona 要测试哪个 Agent?"

  • 如果存在 Agent,请以编号列表的形式展示,供用户选择
  • 如果没有 Agent,请说:"未找到 Agent。你仍然可以创建 Persona——只需告诉我它要测试哪种类型的 Agent(voice、outbound-voice、chat、sms、websocket)。"

如果用户选择了 Agent,请获取其详细信息:

coval agents get <agent_id> --format json

从响应中提取:

  • Agent 类型(model_type)——用于确定语音设置是否相关,以及对话发起方的方向
  • Agent 名称——用于在提示词中提供背景信息
  • Agent 提示词(如果有)——有助于设计更合适的 Persona

主要类型映射:

  • MODEL_TYPE_VOICE / MODEL_TYPE_OUTBOUND_VOICE → 语音设置很重要,对话发起方取决于方向
  • MODEL_TYPE_CHAT / MODEL_TYPE_WEBSOCKET / MODEL_TYPE_API / MODEL_TYPE_ENDPOINT → 语音设置仅为默认值(不会影响模拟)

阶段 2:识别使用场景

询问:"你的 Agent 是做什么的?"

展示以下选项:

  • customer_support — 客户支持
  • scheduling_booking — 预约与预订
  • sales — 销售
  • insurance_claims — 保险理赔
  • healthcare_intake — 医疗接诊
  • restaurant_orders — 餐厅订单
  • debt_collection — 催收
  • it_helpdesk — IT 服务台
  • other — 其他(请描述)

加载 references/persona-templates.md,并选择与所选使用场景匹配的模板。

将模板作为起点展示:

Here's a starting persona for <use case>:

  Name:       <template name>
  Voice:      <voice>
  Language:   en-US
  Background: <background>
  Wait:       <wait seconds>s
  Prompt:     "<template description>"

询问:"要以此为起点吗?(是 / 自定义名称 / 从头开始)"

阶段 3:语音 + 语言

加载 references/voice-options.md,查看可用选项。

询问以下问题:

  1. "Persona 应该使用哪种语言?"

    • en-US — 英语(美国)
    • es-ES — 西班牙语(西班牙)
    • fr-FR — 法语(法国)
    • de-DE — 德语
    • pt-BR — 葡萄牙语(巴西)
    • ja-JP — 日语
  2. "偏好哪种声音?"

    • 女性:aria(清晰、专业)
    • 男性:callum(清晰、专业)

对于非语音 Agent(chat、websocket、API),请说明:"由于你的 Agent 以文本为基础,语音和语言会作为默认值保存,但不会影响模拟。"

阶段 4:环境 + 行为

背景声音

根据使用场景展示选项并提供建议:

值描述推荐场景
quiet无背景噪音医疗、法律、金融通话
office办公室环境噪音企业、商务、IT 支持
cafe餐厅/咖啡馆噪音轻松、餐厅场景
airport机场/旅行噪音旅行相关 Agent

请说:"根据你的 使用场景,我建议选择 。你想使用这个选项,还是选择其他选项?"

等待秒数

连接后,Persona 开始说话前等待的时间:

值风格适用场景
0.3快速响应餐厅订单、快节奏互动
0.5标准大多数呼入电话场景
1.0缓慢 / 深思熟虑呼出电话、债务催收、老年呼叫者

请说:“模板使用

评论

支持 Markdown