本文へ移動
cccskills
無料GitHub で公開

design-persona

Design and create a simulation persona for testing an AI agent. Guides through use case selection, voice and language configuration, behavior prompt crafting, and interruption calibration. Use when user says "create a persona", "design a persona", "set up a test persona", "configure simulation persona", or "build a caller profile".

インストール方法を見る

含まれるファイル(3)

  • SKILL.md7.6 KB
  • references/persona-templates.md3.2 KB
  • references/voice-options.md1.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Design Persona

Guide the user through designing and creating a simulation persona using the coval CLI. Follow the phases below in order, asking questions at each step.

If $ARGUMENTS contains a use case (e.g. "insurance_claims", "customer_support") or agent name, use it to skip or pre-fill relevant questions.

Phase 0: Preflight + Inventory

Step 1: Check authentication

coval whoami

If not authenticated, guide the user:

coval login

This prompts for an API key. Get one at https://app.coval.dev/settings (Organization > Manage > API Keys).

If the user doesn't have a Coval account, direct them to https://coval.dev to sign up.

Step 2: Inventory existing resources

Run these in parallel:

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

Decision matrix:

  • Has personas → present them as a numbered list: "You already have these personas. Want to reuse one, duplicate and modify, or create new?"
  • No personas → proceed to Phase 1
  • If $ARGUMENTS matches an existing agent name, pre-select that agent for Phase 1

Phase 1: Agent Context

Ask: "Which agent will this persona test?"

  • If agents exist, present them as a numbered list to pick from
  • If no agents exist, say: "No agents found. You can still create a persona — just tell me what type of agent it will test (voice, outbound-voice, chat, sms, websocket)."

If the user selects an agent, fetch its details:

coval agents get <agent_id> --format json

Extract from the response:

  • Agent type (model_type) — determines whether voice settings are relevant and conversation initiator direction
  • Agent name — for context in prompts
  • Agent prompt (if available) — helps craft a better persona

Key type mappings:

  • MODEL_TYPE_VOICE / MODEL_TYPE_OUTBOUND_VOICE → voice settings matter, conversation initiator depends on direction
  • MODEL_TYPE_CHAT / MODEL_TYPE_WEBSOCKET / MODEL_TYPE_API / MODEL_TYPE_ENDPOINT → voice settings are defaults only (won't affect simulation)

Phase 2: Use Case Detection

Ask: "What does your agent do?"

Present the options:

  • customer_support — Customer Support
  • scheduling_booking — Scheduling & Booking
  • sales — Sales
  • insurance_claims — Insurance Claims
  • healthcare_intake — Healthcare Intake
  • restaurant_orders — Restaurant Orders
  • debt_collection — Debt Collection
  • it_helpdesk — IT Helpdesk
  • other — Other (describe it)

Load references/persona-templates.md and select the template matching the chosen use case.

Present the template as a starting point:

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>"

Ask: "Use this as a starting point? (yes / customize name / start from scratch)"

Phase 3: Voice + Language

Load references/voice-options.md for available options.

Ask these questions:

  1. "What language should the persona speak?"

    • en-US — English (US)
    • es-ES — Spanish (Spain)
    • fr-FR — French (France)
    • de-DE — German
    • pt-BR — Portuguese (Brazil)
    • ja-JP — Japanese
  2. "Voice preference?"

    • Female: aria (clear, professional)
    • Male: callum (clear, professional)

For non-voice agents (chat, websocket, API), explain: "Since your agent is text-based, voice and language are stored as defaults but won't affect the simulation."

Phase 4: Environment + Behavior

Background Sound

Present options with recommendations based on the use case:

ValueDescriptionRecommended For
quietNo background noiseMedical, legal, financial calls
officeOffice ambient noiseCorporate, business, IT support
cafeRestaurant/cafe noiseCasual, restaurant scenarios
airportAirport/travel noiseTravel-related agents

Say: "Based on your <use case> use case, I'd recommend <recommended>. Use that or pick another?"

Wait Seconds

How long the persona waits before speaking after connection:

ValueStyleBest For
0.3Fast responderRestaurant orders, fast-paced interactions
0.5StandardMost inbound call scenarios
1.0Slow / deliberateOutbound calls, debt collection, elderly callers

Say: "The template uses <template wait>s. Keep that or adjust?"

Interruption Rate

How often the persona interrupts the agent mid-sentence:

RateBehaviorBest For
NONENever interruptsCompliance testing, scripted flows
LOWRare interruptionsStandard testing, polite callers
MEDIUMOccasional interruptionsRealistic conversation simulation
HIGHFrequent interruptionsStress testing, impatient callers

Explain: "NONE is best for validating scripted compliance flows. LOW is realistic for most callers. MEDIUM simulates natural conversation. HIGH stress-tests your agent's ability to handle interruptions."

Ask: "What interruption rate? (NONE / LOW / MEDIUM / HIGH)"

Note: Interruption rate is not yet available as a CLI flag. To set it after creation, use the Coval API: PATCH /v1/personas/{persona_id} with {"interruption_rate": "LOW"}.

Phase 5: Prompt Crafting

Start from the template's description as a base prompt.

Explain the key distinction: "The persona prompt defines WHO the caller is and HOW they behave — their personality, speaking style, and emotional state. It does NOT define what they ask about — that's handled by test cases."

Ask: "What specific behavior should this persona exhibit? For example:"

  • "Speaks quickly and gets frustrated if put on hold"
  • "Elderly caller who needs things repeated"
  • "Non-native speaker who sometimes uses wrong words"
  • "Aggressive caller who threatens to cancel"

Help the user refine the simulated_user_prompt by combining:

  1. The template description as a foundation
  2. The user's language choice applied to {language} placeholders
  3. Any custom behavior the user describes

Present the final prompt for confirmation before proceeding.

Phase 6: Create + Confirm

Present a full summary before creating:

Ready to create this persona:

  Name:              <name>
  Voice:             <voice>
  Language:          <language>
  Background:        <background>
  Wait Seconds:      <wait>
  Interruption Rate: <rate>
  Prompt:            "<final prompt>"

Ask: "Create this persona? (yes / edit)"

Create the persona:

coval personas create \
  --name "<name>" \
  --voice "<voice>" \
  --language "<language>" \
  --prompt "<final prompt>" \
  --background "<background>" \
  --wait-seconds <wait> \
  --format json

Capture persona_id from the JSON response.

Confirm success:

Persona created!

  ID:   <persona_id>
  Name: <name>

  View: https://app.coval.dev/personas/<persona_id>

Phase 7: Next Steps

Suggest what the user can do next:

What's next?

  Build test cases for this persona:     /build-test-suite
  Configure evaluation metrics:          /configure-metrics
  Launch a quick evaluation:             /quick-eval

  Or manage this persona later:
  coval personas get <persona_id>
  coval personas update <persona_id> --prompt "new prompt"

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Analyze a Coval accent testing report from runs across different speaker accents. Use when a user provides a Coval report URL, report export, run IDs, screenshots, or metric summary and wants evidence-backed next steps such as prompt changes, STT/confirmation adjustments, accent-robust routing, or expanded accent coverage.

日本語の概要は準備中です。原文の説明を表示しています。

coval-ai/coval-external-skills32026年9月16日 更新

Analyze a Coval adversarial / red-team testing report and turn it into an agent-hardening plan. Use when a user provides a Coval report URL, report export, run IDs, screenshots, or a per-scenario scorecard from an adversarial sweep and wants evidence-backed next steps such as prompt/guardrail changes, refusal hardening, verification fixes, escalation routing, or expanded attack coverage.

日本語の概要は準備中です。原文の説明を表示しています。

coval-ai/coval-external-skills32026年9月16日 更新

Analyze a Coval audio-quality testing report from runs across different voice, speaking-style, volume, interruption, and background-noise scenarios. Use when a user provides a Coval report URL, report export, run IDs, screenshots, or metric summary and wants evidence-backed next steps such as prompt changes, tool handling fixes, STT/TTS adjustments, trace setup, or expanded audio-scenario coverage.

日本語の概要は準備中です。原文の説明を表示しています。

coval-ai/coval-external-skills32026年9月16日 更新

Build or improve a Coval dashboard with metric visualizations backed by real data. Creates new dashboards from scratch or rebuilds existing ones by analyzing usage patterns, metric frequency, and data density. Use when user says "create a dashboard", "build a dashboard", "improve my dashboard", "add widgets", "visualize my metrics", "make a performance dashboard", or "dashboard for my runs".

日本語の概要は準備中です。原文の説明を表示しています。

coval-ai/coval-external-skills32026年9月16日 更新

Build a compact Coval test set from product requirements, observed conversation failures or a coverage gap. Design realistic scenarios with separate expected behaviors, provenance and controlled voice/persona variation.

日本語の概要は準備中です。原文の説明を表示しています。

coval-ai/coval-external-skills32026年9月16日 更新

Select and configure a Coval metric for a concrete product criterion, choosing transcript, audio, trace or deterministic evidence and testing the result. Use for metric creation or scoring design, not for final human calibration.

日本語の概要は準備中です。原文の説明を表示しています。

coval-ai/coval-external-skills32026年9月16日 更新

coval-ai のスキルをすべて見る

このスキルの問題を報告する