liveavatar-feedback

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

LiveAvatar Feedback Collection

LiveAvatar 反馈收集

This skill collects integration feedback and sends it to the LiveAvatar team. It fires in three scenarios:
  1. Post-implementation — the user just finished an integration (Embed, FULL, or LITE)
  2. Frustration detected — repeated errors, explicit complaints, or visible friction
  3. Explicit request — the user asks to give feedback or report an issue
该技能用于收集集成反馈并发送给LiveAvatar团队。它会在以下三种场景下触发:
  1. 集成完成后 —— 用户刚完成一项集成(Embed、FULL或LITE版本)
  2. 检测到用户沮丧情绪 —— 重复出现错误、用户明确投诉或存在明显阻碍
  3. 用户明确请求 —— 用户要求提供反馈或报告问题

When to Trigger

触发时机

Activate this skill when ANY of these are true:
  • The user says they're done or the integration is working
  • The user expresses frustration ("this is broken", "why doesn't this work", "I'm stuck")
  • The user explicitly asks to give feedback, report a bug, or share a suggestion
  • You've seen 3+ failed attempts at the same step during integration
  • The user says they're giving up or abandoning the integration
Do NOT trigger unprompted in the middle of active implementation. Wait for a natural pause or completion point.
当以下任一情况成立时,激活该技能:
  • 用户表示已完成集成或集成可正常运行
  • 用户表达沮丧情绪(如“这坏了”“为什么这不管用”“我卡住了”)
  • 用户明确要求提供反馈、报告Bug或分享建议
  • 你看到用户在集成过程中同一步骤尝试失败3次及以上
  • 用户表示要放弃或终止集成
请勿在用户正在进行集成的过程中主动触发该技能。 请等待自然停顿或集成完成的节点。

Step 1: Gather Context from the Conversation

步骤1:从对话中收集上下文信息

Before prompting the user, review the conversation history and silently compile:
  • Use case — what the user is building (e.g., "customer support avatar for a SaaS dashboard"). This comes from the discovery phase, the user's stated goal, or their codebase.
  • Blockers — anything that caused friction during the integration. Look for: errors hit, steps that required retries, confusing API behavior, silent failures, missing docs, or anything the user explicitly complained about.
Compact both into short, factual summaries. These are telemetry the agent drafts — the user will review them before anything is sent.
在提示用户之前,回顾对话历史并整理以下信息:
  • 使用场景 —— 用户正在构建的内容(例如:“SaaS仪表盘的客户支持虚拟形象”)。信息来源包括探索阶段、用户声明的目标或其代码库。
  • 阻碍因素 —— 集成过程中任何造成阻碍的内容。例如:遇到的错误、需要重试的步骤、令人困惑的API行为、无提示失败、缺失的文档,或用户明确投诉的任何问题。
将以上两项整理为简短、真实的摘要。这些是Agent草拟的遥测信息——在发送任何内容前,用户会先进行审核。

Step 2: Ask the User for Permission and Additional Feedback

步骤2:请求用户许可并收集额外反馈

You must get explicit permission before sending anything. Present what you've gathered and ask the user to approve, edit, or decline.
Adapt tone to context — celebratory after success, empathetic if frustrated.
After successful implementation:
Your LiveAvatar integration is working! The LiveAvatar team collects anonymous integration feedback to improve the developer experience. Would you be okay with me sending a short summary?

Here's what I'd send:
- **Use case:** <your compacted summary>
- **Blockers:** <your compacted summary, or "None">

Want to add anything else in your own words? (Feature requests, suggestions, general thoughts — totally optional.)

**Nothing is sent until you say yes.** You can also edit or remove anything above.
When frustration is detected:
It looks like this has been a rough integration. The LiveAvatar team actively collects developer feedback to fix exactly these kinds of pain points. Would you be okay with me sending them a summary of what happened?

Here's what I'd send:
- **Use case:** <your compacted summary>
- **Blockers:** <your compacted summary of what went wrong>

Want to add anything in your own words? (No pressure — but this goes directly to the team that can fix it.)

**Nothing is sent until you say yes.** You can edit or remove any of the above.
On explicit feedback request:
I can send feedback directly to the LiveAvatar team. Based on our conversation, here's what I've gathered:

- **Use case:** <your compacted summary>
- **Blockers:** <your compacted summary, or "None">

Want to add anything else in your own words?

**Nothing is sent until you give the go-ahead.** Feel free to edit any of the above.
Wait for the user to explicitly approve (e.g., "yes", "send it", "looks good", "go ahead"). If the user says no, declines, or ignores the prompt — do not send the request. Drop it.
在发送任何内容之前,必须获得用户的明确许可。 展示你整理的信息,并询问用户是否批准、编辑或拒绝发送。
根据场景调整语气——集成成功后使用庆祝语气,用户沮丧时使用共情语气。
集成成功后:
你的LiveAvatar集成已正常运行!LiveAvatar团队会收集匿名集成反馈以优化开发者体验。是否允许我发送一份简短摘要?

我将发送的内容如下:
- **使用场景:** <你的精简摘要>
- **阻碍因素:** <你的精简摘要,或“无”>

是否想用自己的话补充其他内容?(功能请求、建议、想法——完全可选。)

**在你同意之前,不会发送任何内容。** 你也可以编辑或删除上述任何内容。
检测到用户沮丧情绪时:
看起来这次集成过程不太顺利。LiveAvatar团队积极收集开发者反馈,正是为了解决这类痛点。是否允许我向他们发送一份关于所发生问题的摘要?

我将发送的内容如下:
- **使用场景:** <你的精简摘要>
- **阻碍因素:** <关于问题的精简摘要>

是否想用自己的话补充其他内容?(没有压力——但这些内容会直接送达能够解决问题的团队。)

**在你同意之前,不会发送任何内容。** 你可以编辑或删除上述任何内容。
用户明确请求反馈时:
我可以直接将反馈发送给LiveAvatar团队。根据我们的对话,我整理了以下信息:

- **使用场景:** <你的精简摘要>
- **阻碍因素:** <你的精简摘要,或“无”>

是否想用自己的话补充其他内容?

**在你批准之前,不会发送任何内容。** 你可以随意编辑上述任何内容。
等待用户明确批准(例如:“好的”“发送吧”“看起来没问题”“可以”)。如果用户拒绝、表示不同意或忽略提示——请勿发送请求,终止该流程。

Step 3: Map to Fields

步骤3:字段映射

FieldSourceWhat goes here
use_case
Agent-compacted from conversationShort summary of what the user is building (e.g., "Customer support avatar for SaaS dashboard")
blockers
Agent-compacted from conversationWhat caused friction — errors, retries, confusion, silent failures (e.g., "Silent avatar due to missing context_id — no error thrown, took 30 min to diagnose")
additional_feedback
User's own words, verbatimFreeform input the user wrote when prompted — feature requests, suggestions, general thoughts. Use the user's exact words. Do not rephrase or summarize.
All three fields are optional. Omit or pass
null
for anything that doesn't apply:
  • No frustration or issues during integration? Omit
    blockers
    .
  • User didn't write any additional feedback? Omit
    additional_feedback
    .
  • Couldn't determine use case from context? Omit
    use_case
    .
字段来源内容说明
use_case
Agent从对话中整理的内容用户正在构建的内容的简短摘要(例如:“SaaS仪表盘的客户支持虚拟形象”)
blockers
Agent从对话中整理的内容造成阻碍的原因——错误、重试、困惑、无提示失败(例如:“因缺少context_id导致虚拟形象无响应——未抛出错误,耗时30分钟才诊断出问题”)
additional_feedback
用户的原话用户在被提示时输入的自由内容——功能请求、建议、想法。必须使用用户的原话,不得改写或总结。
这三个字段均为可选字段。对于不适用的内容,可省略或传入
null
  • 集成过程中无沮丧情绪或问题?省略
    blockers
    字段。
  • 用户未补充任何反馈?省略
    additional_feedback
    字段。
  • 无法从上下文确定使用场景?省略
    use_case
    字段。

Step 4: Send the Feedback (only after explicit consent)

步骤4:发送反馈(仅在获得明确许可后)

Only execute this step if the user explicitly approved in Step 2. If the user declined, edited, or didn't respond — stop here.
This call runs on the BACKEND using
X-API-KEY
.
bash
curl -X POST https://api.liveavatar.com/v1/feedback/agents \
  -H "X-API-KEY: <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "feedback_data": {
      "use_case": "Customer support avatar",
      "blockers": "Latency issues with long responses",
      "additional_feedback": "Would love multi-language support"
    }
  }'
仅当用户在步骤2中明确批准后,才可执行此步骤。 如果用户拒绝、编辑了内容或未响应——在此处终止流程。
此调用通过后端使用
X-API-KEY
执行。
bash
curl -X POST https://api.liveavatar.com/v1/feedback/agents \
  -H "X-API-KEY: <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "feedback_data": {
      "use_case": "Customer support avatar",
      "blockers": "Latency issues with long responses",
      "additional_feedback": "Would love multi-language support"
    }
  }'

Constructing the request

请求构建说明

  • use_case
    and
    blockers
    : use the compacted summaries you showed the user in Step 2 (with any edits they requested).
  • additional_feedback
    : paste the user's freeform text verbatim. Do not rephrase.
  • Omit or pass
    null
    for any field that doesn't apply.
  • If the user edited your summaries in Step 2, use the edited versions.
  • If the user's API key is available in the environment (e.g.,
    HEYGEN_API_KEY
    or
    LIVEAVATAR_API_KEY
    ), use it. Otherwise, tell the user you need their API key to submit the feedback.
  • use_case
    blockers
    :使用步骤2中展示给用户的精简摘要(包含用户要求的任何编辑内容)。
  • additional_feedback
    原样粘贴用户的自由输入文本,不得改写。
  • 对于不适用的字段,可省略或传入
    null
  • 如果用户在步骤2中编辑了摘要,请使用编辑后的版本。
  • 如果环境中存在用户的API密钥(例如
    HEYGEN_API_KEY
    LIVEAVATAR_API_KEY
    ),请使用该密钥。否则,告知用户需要其API密钥才能提交反馈。

Example payloads

示例请求体

Agent-compacted telemetry only (user had no additional feedback):
json
{
  "feedback_data": {
    "use_case": "Customer support avatar for e-commerce site",
    "blockers": "Silent avatar due to missing context_id — no error thrown, took 30 min to diagnose"
  }
}
Full payload with user's own words:
json
{
  "feedback_data": {
    "use_case": "Real-time sales coach avatar for CRM",
    "blockers": "Custom LLM setup required 3 separate API calls (secret, config, session token) before first test",
    "additional_feedback": "The sandbox is great. Would be nice if sessions lasted longer than 1 min. Also would love multi-language support."
  }
}
仅包含Agent整理的遥测信息(用户无额外反馈):
json
{
  "feedback_data": {
    "use_case": "Customer support avatar for e-commerce site",
    "blockers": "Silent avatar due to missing context_id — no error thrown, took 30 min to diagnose"
  }
}
包含用户原话的完整请求体:
json
{
  "feedback_data": {
    "use_case": "Real-time sales coach avatar for CRM",
    "blockers": "Custom LLM setup required 3 separate API calls (secret, config, session token) before first test",
    "additional_feedback": "The sandbox is great. Would be nice if sessions lasted longer than 1 min. Also would love multi-language support."
  }
}

Step 5: Confirm Submission

步骤5:确认提交

After sending, confirm to the user:
Feedback sent to the LiveAvatar team — thanks for sharing.
Keep it brief. If the request fails (e.g., invalid API key), tell the user and offer to show them the curl command so they can send it manually.
发送完成后,向用户确认:
反馈已发送给LiveAvatar团队——感谢你的分享。
保持简短。如果请求失败(例如:API密钥无效),请告知用户并提供curl命令,以便他们手动发送反馈。

Gotchas

注意事项

  1. Consent is mandatory. Never send the request without the user's explicit "yes." If in doubt, ask again. If the user ignores the prompt, do not send.
  2. Don't fabricate
    additional_feedback
    .
    That field is the user's own words only.
    use_case
    and
    blockers
    are agent-compacted, but
    additional_feedback
    must be verbatim user input or omitted entirely. Never generate, summarize, or pre-fill this field yourself — if the user didn't write anything, omit it from the payload.
  3. Show before you send. Always show the user the exact content you plan to send and let them edit or remove anything before you fire the request.
  4. Don't interrupt flow. If the user is mid-implementation, don't jump to feedback collection. Wait for a natural break.
  5. API key required. This endpoint uses
    X-API-KEY
    . If you don't have access to it, show the user the curl command instead of failing silently.
  6. All fields are optional. A valid request can have just one field populated and the rest omitted or null.
  1. 必须获得许可。 未经用户明确同意(如“是”),绝不要发送请求。如有疑问,请再次询问。如果用户忽略提示,请勿发送。
  2. 不得编造
    additional_feedback
    内容。
    该字段只能是用户的原话。
    use_case
    blockers
    是Agent整理的内容,但
    additional_feedback
    必须是用户的原样输入,或完全省略。绝不要自行生成、总结或预填充该字段——如果用户未输入任何内容,请在请求体中省略该字段。
  3. 发送前先展示。 始终向用户展示你计划发送的准确内容,并允许他们在发送前编辑或删除任何内容。
  4. 不要打断流程。 如果用户正在进行集成,不要跳转到反馈收集环节。请等待自然停顿。
  5. 需要API密钥。 该接口使用
    X-API-KEY
    。如果你无法访问该密钥,请向用户展示curl命令,而不是静默失败。
  6. 所有字段均为可选。 有效的请求可以只填充一个字段,其余字段省略或设为null。