关于 design-persona
通过 `coval` CLI 引导设计并创建模拟 Persona 的技能。它结合 Agent 信息和用例模板,在创建前确定 Persona 行为、语音设置和提示词。
主要功能
- 01检查现有 Persona 和 Agent
- 02按用例选择 Persona 模板
- 03设置语言、语音和背景音
- 04定义等待时间与打断行为
- 05编写并确认 Persona 提示词
适用场景
- 01为客户支持测试创建来电者 Persona
- 02根据选定 Agent 调整模板
- 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,查看可用选项。
询问以下问题:
-
"Persona 应该使用哪种语言?"
- en-US — 英语(美国)
- es-ES — 西班牙语(西班牙)
- fr-FR — 法语(法国)
- de-DE — 德语
- pt-BR — 葡萄牙语(巴西)
- ja-JP — 日语
-
"偏好哪种声音?"
- 女性:aria(清晰、专业)
- 男性:callum(清晰、专业)
对于非语音 Agent(chat、websocket、API),请说明:"由于你的 Agent 以文本为基础,语音和语言会作为默认值保存,但不会影响模拟。"
阶段 4:环境 + 行为
背景声音
根据使用场景展示选项并提供建议:
| 值 | 描述 | 推荐场景 |
|---|---|---|
| quiet | 无背景噪音 | 医疗、法律、金融通话 |
| office | 办公室环境噪音 | 企业、商务、IT 支持 |
| cafe | 餐厅/咖啡馆噪音 | 轻松、餐厅场景 |
| airport | 机场/旅行噪音 | 旅行相关 Agent |
请说:"根据你的 使用场景,我建议选择 。你想使用这个选项,还是选择其他选项?"
等待秒数
连接后,Persona 开始说话前等待的时间:
| 值 | 风格 | 适用场景 |
|---|---|---|
| 0.3 | 快速响应 | 餐厅订单、快节奏互动 |
| 0.5 | 标准 | 大多数呼入电话场景 |
| 1.0 | 缓慢 / 深思熟虑 | 呼出电话、债务催收、老年呼叫者 |
请说:“模板使用