design-persona について
`coval` CLIでシミュレーション用ペルソナを設計・作成するガイド付きスキルです。エージェントの情報とユースケース別テンプレートを使い、作成前に行動、音声設定、プロンプトを決めます。
主な機能
- 01既存のペルソナとエージェントを確認
- 02ユースケースに応じたテンプレートを選択
- 03言語、音声、背景音を設定
- 04待機時間と割り込み動作を定義
- 05ペルソナのプロンプトを作成・確認
活用シーン
- 01カスタマーサポートのテスト用に通話者ペルソナを作成
- 02選択したエージェントに合わせてテンプレートを調整
- 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
詳細
ペルソナの設計
coval CLI を使って、シミュレーション用ペルソナの設計と作成をユーザーに案内します。以下のフェーズを順番に進め、各ステップで質問します。
$ARGUMENTS にユースケース(例:「insurance_claims」、「customer_support」)またはエージェント名が含まれている場合は、それを使って関連する質問を省略するか、あらかじめ入力してください。
フェーズ 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
判定マトリクス:
- ペルソナがある場合 → 番号付きリストで提示します:「すでに次のペルソナがあります。再利用、複製して変更、新規作成のどれにしますか?」
- ペルソナがない場合 → フェーズ 1 に進みます
$ARGUMENTSが既存のエージェント名と一致する場合は、そのエージェントをフェーズ 1 であらかじめ選択します
フェーズ 1:エージェントのコンテキスト
質問します:「このペルソナでどのエージェントをテストしますか?」
- エージェントが存在する場合は、選択できるよう番号付きリストで提示します
- エージェントが存在しない場合は、次のように伝えます:「エージェントが見つかりません。ペルソナは作成できます。テスト対象のエージェントの種類(voice、outbound-voice、chat、sms、websocket)を教えてください。」
ユーザーがエージェントを選択した場合は、その詳細を取得します。
coval agents get <agent_id> --format json
応答から以下を抽出します。
- エージェントの種類(
model_type)— 音声設定が関係するかどうか、および会話の開始者の方向を判断します - エージェント名 — プロンプトでの文脈として使用します
- エージェントのプロンプト(利用可能な場合)— より適切なペルソナの作成に役立ちます
主な種類の対応関係:
MODEL_TYPE_VOICE/MODEL_TYPE_OUTBOUND_VOICE→ 音声設定が重要です。会話の開始者は方向によって異なりますMODEL_TYPE_CHAT/MODEL_TYPE_WEBSOCKET/MODEL_TYPE_API/MODEL_TYPE_ENDPOINT→ 音声設定はデフォルト値にすぎず、シミュレーションには影響しません
フェーズ 2:ユースケースの検出
質問します:「エージェントは何をしますか?」
以下の選択肢を提示します。
- 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 を読み込みます。
以下の質問をします。
-
「ペルソナはどの言語で話す必要がありますか?」
- en-US — 英語(米国)
- es-ES — スペイン語(スペイン)
- fr-FR — フランス語(フランス)
- de-DE — ドイツ語
- pt-BR — ポルトガル語(ブラジル)
- ja-JP — 日本語
-
「希望する音声はありますか?」
- 女性:aria(明瞭でプロフェッショナル)
- 男性:callum(明瞭でプロフェッショナル)
音声を使わないエージェント(chat、websocket、API)については、次のように説明します:「エージェントはテキストベースのため、音声と言語はデフォルト値として保存されますが、シミュレーションには影響しません。」
フェーズ 4:環境と振る舞い
背景音
ユースケースに応じたおすすめとともに、以下の選択肢を提示します。
| 値 | 説明 | おすすめの用途 |
|---|---|---|
| quiet | 背景ノイズなし | 医療、法律、金融の通話 |
| office | オフィスの環境音 | 企業、ビジネス、IT サポート |
| cafe | レストランやカフェの雑音 | カジュアルなシナリオ、レストランのシナリオ |
| airport | 空港や旅行の雑音 | 旅行関連のエージェント |
次のように伝えます:「 のユースケースには がおすすめです。これを使いますか、それとも別のものを選びますか?」
待機時間
接続後、ペルソナが話し始めるまでの待機時間です。
| 値 | スタイル | 最適な用途 |
|---|---|---|
| 0.3 | 反応が速い | レストランの注文、テンポの速いやり取り |
| 0.5 | 標準 | ほとんどの着信シナリオ |
| 1.0 | ゆっくり/慎重 | 発信、債権回収、高齢の発信者 |
次のように伝えます。「テンプレートでは