update-skills-from-changelog
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseYou update ElevenLabs agent skills based on a merged weekly changelog in elevenlabs-dx. Do not read GitHub issues. Open a pull request in this repository when skill files change.
Skill files are evergreen source-of-truth documentation for current behavior. Use the changelog to discover what changed, but write final and content as timeless present-tense documentation.
SKILL.mdreferences/*.mdSkill files are high-level, task-oriented guidance for working with ElevenLabs. They are not meant to mirror every nuance from the changelog or API reference. Prefer documenting primary workflows, core capabilities, and important configuration surfaces. Usually omit edge cases, precedence chains, persistence mechanics, fallback order, implementation details, and narrow exceptions unless leaving them out would make the skill materially misleading or unusable.
你需要基于elevenlabs-dx中已合并的每周更新日志更新ElevenLabs Agent技能文档。请勿查看GitHub议题。当技能文件发生变更时,在该仓库中创建拉取请求。
技能文件是关于当前功能的常青式权威文档。使用更新日志发现变更内容,但最终的和文档需以无时间限制的现在时态撰写。
SKILL.mdreferences/*.md技能文件是面向ElevenLabs使用的高层级、任务导向型指南,无需完全复刻更新日志或API参考中的每一个细节。优先记录核心工作流、核心能力和重要配置层面的内容。通常可忽略边缘情况、优先级链、持久化机制、 fallback顺序、实现细节和特殊例外,除非省略这些内容会导致技能文档产生实质性误导或无法使用。
Workflow
工作流
- Resolve from the automation trigger or user message.
CHANGELOG_DATE - Fetch the merged changelog from
elevenlabs-dx.main - Apply the relevance filter. Stop if no skills are affected.
- Read every affected skill file and reference file.
- Verify each candidate update against canonical source documentation.
- Apply only targeted, evergreen skill edits that pass the fit gate.
- Self-check all edits.
- Create , commit, push, and open a PR.
skills-update/YYYY-MM-DD
Do not modify skills not implicated by the changelog.
- 从自动化触发器或用户消息中解析。
CHANGELOG_DATE - 从elevenlabs-dx的main分支获取已合并的更新日志。
- 应用相关性筛选。若没有技能受影响则停止操作。
- 读取所有受影响的技能文件和参考文件。
- 对照权威源文档验证每一项候选更新内容。
- 仅应用通过适配校验的、针对性的常青式技能文档编辑。
- 自行检查所有编辑内容。
- 创建分支,提交、推送并创建PR。
skills-update/YYYY-MM-DD
请勿修改更新日志未提及的技能。
Step 1: Fetch changelog
步骤1:获取更新日志
Determine () from the automation trigger or user message.
CHANGELOG_DATEYYYY-MM-DDFetch the merged changelog file:
bash
gh api "repos/elevenlabs/elevenlabs-dx/contents/fern/docs/pages/changelog/${CHANGELOG_DATE}.md?ref=main" \
--jq '.content' | base64 -d > "/tmp/changelog-${CHANGELOG_DATE}.md"If the file does not exist, stop and report that no merged changelog was found for that date.
Also read the published page when helpful:
https://elevenlabs.io/docs/changelog#${CHANGELOG_DATE}T00:00:00.000Z从自动化触发器或用户消息中确定(格式为)。
CHANGELOG_DATEYYYY-MM-DD获取已合并的更新日志文件:
bash
gh api "repos/elevenlabs/elevenlabs-dx/contents/fern/docs/pages/changelog/${CHANGELOG_DATE}.md?ref=main" \
--jq '.content' | base64 -d > "/tmp/changelog-${CHANGELOG_DATE}.md"若文件不存在,停止操作并报告未找到该日期的已合并更新日志。
必要时也可查看已发布的页面:
https://elevenlabs.io/docs/changelog#${CHANGELOG_DATE}T00:00:00.000ZStep 2: Apply relevance filter
步骤2:应用相关性筛选
Read and map changes against these skills:
/tmp/changelog-${CHANGELOG_DATE}.md| Skill | What triggers an update |
|---|---|
| New/deprecated models, new TTS parameters, voice settings changes, output format changes, SDK method signature changes for |
| New transcription models, new parameters, changed response schemas, SDK method changes |
| New LLM providers/models, new tool types, new agent config fields, conversation config schema changes, new CLI commands, widget changes |
| New generation parameters, model changes, SDK method changes |
| New endpoints, new parameters, model changes |
| New parameters, model changes, SDK method changes for |
| Speech Engine WebSocket API changes, conversation token changes, SDK method changes for real-time voice conversations |
| New speech-to-speech parameters, model changes, SDK method changes for |
| Authentication flow changes, API key dashboard changes, environment variable guidance |
A change is relevant if it affects model tables, code examples, parameter documentation, configuration tables, or CLI commands documented in skills.
A change is not relevant if it only affects internal/admin APIs, optional fields with no usage-level impact, backward-compatible renames, or pricing/dashboard UI unrelated to the API key setup flow.
If no skills are affected, stop successfully without opening a pull request. Report .
No skills-relevant changes for CHANGELOG_DATEFor each relevant item, note the affected skill and affected area, such as model table, code examples, LLM provider table, tools section, CLI section, parameter documentation, or configuration table.
读取,并将变更内容与以下技能进行匹配:
/tmp/changelog-${CHANGELOG_DATE}.md| 技能 | 触发更新的条件 |
|---|---|
| 新增/弃用模型、新增TTS参数、语音设置变更、输出格式变更、 |
| 新增转录模型、新增参数、响应 schema 变更、SDK方法变更 |
| 新增LLM提供商/模型、新增工具类型、新增Agent配置字段、对话配置schema变更、新增CLI命令、组件变更 |
| 新增生成参数、模型变更、SDK方法变更 |
| 新增端点、新增参数、模型变更 |
| 新增参数、模型变更、 |
| Speech Engine WebSocket API变更、对话令牌变更、实时语音对话相关的SDK方法变更 |
| 新增语音转语音参数、模型变更、 |
| 认证流程变更、API密钥控制台变更、环境变量配置指南变更 |
若变更内容影响技能文档中的模型表格、代码示例、参数文档、配置表格或CLI命令,则视为相关变更。
若变更仅涉及内部/管理API、对使用层面无影响的可选字段、向后兼容的重命名,或与API密钥设置流程无关的定价/控制台UI变更,则视为不相关变更。
若没有技能受影响,无需创建拉取请求,直接完成操作并报告。
No skills-relevant changes for CHANGELOG_DATE针对每一项相关变更,记录受影响的技能和领域,例如模型表格、代码示例、LLM提供商表格、工具章节、CLI章节、参数文档或配置表格。
Step 3: Read current skill files
步骤3:读取当前技能文件
For each affected skill, read:
{skill}/SKILL.md- All files in
{skill}/references/
Skill directories:
- (
text-to-speech/plusSKILL.md,references/installation.md,references/streaming.md)references/voice-settings.md - (
speech-to-text/plusSKILL.md,references/installation.md,references/transcription-options.md,references/realtime-server-side.md,references/realtime-client-side.md,references/realtime-commit-strategies.md)references/realtime-events.md - (
agents/plusSKILL.md,references/installation.md,references/agent-configuration.md,references/client-tools.md,references/widget-embedding.md)references/outbound-calls.md - (
sound-effects/plusSKILL.md)references/installation.md - (
music/plusSKILL.md,references/installation.md)references/api_reference.md - (
voice-isolator/plusSKILL.md)references/installation.md - (
speech-engine/plusSKILL.md,references/installation.md,references/javascript-sdk-reference.md)references/python-sdk-reference.md - (
voice-changer/plusSKILL.md)references/installation.md - (
setup-api-key/only)SKILL.md
针对每一项受影响的技能,读取:
{skill}/SKILL.md- 下的所有文件
{skill}/references/
技能目录:
- (包含
text-to-speech/及SKILL.md、references/installation.md、references/streaming.md)references/voice-settings.md - (包含
speech-to-text/及SKILL.md、references/installation.md、references/transcription-options.md、references/realtime-server-side.md、references/realtime-client-side.md、references/realtime-commit-strategies.md)references/realtime-events.md - (包含
agents/及SKILL.md、references/installation.md、references/agent-configuration.md、references/client-tools.md、references/widget-embedding.md)references/outbound-calls.md - (包含
sound-effects/及SKILL.md)references/installation.md - (包含
music/及SKILL.md、references/installation.md)references/api_reference.md - (包含
voice-isolator/及SKILL.md)references/installation.md - (包含
speech-engine/及SKILL.md、references/installation.md、references/javascript-sdk-reference.md)references/python-sdk-reference.md - (包含
voice-changer/及SKILL.md)references/installation.md - (仅包含
setup-api-key/)SKILL.md
Step 4: Verify source documentation
步骤4:验证源文档
Before editing, fetch and read the actual source material. The changelog tells you what changed; API/reference docs tell you what to document as current behavior.
For common areas, start with:
- Agents: ,
https://elevenlabs.io/docs/api-reference/agents/createhttps://elevenlabs.io/docs/api-reference/agents/update - TTS:
https://elevenlabs.io/docs/api-reference/text-to-speech/convert - STT:
https://elevenlabs.io/docs/api-reference/speech-to-text/convert
For every documented field, parameter, schema, enum, endpoint, model ID, or SDK method:
- Verify the exact field name, type, nesting, allowed values, and method signature in source documentation.
- Never infer schemas from changelog wording.
- If a feature appears in the changelog but source docs do not provide enough schema detail, do not write field tables or code examples for it. Put it under in the report.
Needs Manual Authoring
在编辑之前,获取并阅读实际的源材料。更新日志仅告知变更内容,而API/参考文档才是当前功能的权威记录依据。
针对常见领域,可从以下链接开始:
- Agents: ,
https://elevenlabs.io/docs/api-reference/agents/createhttps://elevenlabs.io/docs/api-reference/agents/update - TTS:
https://elevenlabs.io/docs/api-reference/text-to-speech/convert - STT:
https://elevenlabs.io/docs/api-reference/speech-to-text/convert
针对每一个已记录的字段、参数、schema、枚举、端点、模型ID或SDK方法:
- 在源文档中验证确切的字段名称、类型、嵌套结构、允许值和方法签名。
- 切勿仅根据更新日志的描述推断schema。
- 若某项功能出现在更新日志中,但源文档未提供足够的schema细节,则不要为其编写字段表格或代码示例,将其归入报告中的部分。
Needs Manual Authoring
Step 5: Decide whether each item belongs
步骤5:判断内容是否适合加入
Run this fit gate before editing each changelog item:
- Map to a natural home in an existing section, table, list, or example.
- Include only primary capabilities, common workflows, or important top-level configuration concepts.
- Skip secondary nuances: edge cases, precedence rules, persistence details, fallback order, implementation details, narrow exceptions, or deprecation notes.
- Prefer no-op over forced structure. If no natural home exists, leave skill files unchanged and report it under .
No Skill Change Needed - Add a new section only when the concept is substantial, reusable, user-facing, high-level, and clearly missing from current structure.
- Prefer the current path. If a field, endpoint, model, package, or pattern replaces another, document the current supported way and keep deprecated context in the report.
Good fits:
- Add a new supported model row to an existing model table.
- Add a new top-level parameter to an existing parameter table.
- Update existing Python, JavaScript, and cURL examples when method signatures change.
Bad fits:
- Insert a standalone sentence between unrelated sections just to mention a changelog item.
- Add deprecated fields, removed enum values, old package names, or migration warnings unless the skill already has an explicit migration/troubleshooting section and the change is needed there.
- Document internal precedence, local persistence behavior, fallback chains, or rare exception behavior.
在编辑每一项更新日志内容之前,先执行以下适配校验:
- 为内容找到现有章节、表格、列表或示例中的合理位置。
- 仅包含核心能力、常用工作流或重要的顶层配置概念。
- 跳过次要细节:边缘情况、优先级规则、持久化细节、fallback顺序、实现细节、特殊例外或弃用说明。
- 若无合理位置,宁愿不做修改也不要强行添加结构。若找不到合适的位置,保持技能文件不变,并将其归入部分。
No Skill Change Needed - 仅当概念具有实质性、可复用性、面向用户、高层级且当前结构明显缺失时,才新增章节。
- 优先记录当前可用方案。若某个字段、端点、模型、包或模式替代了原有方案,仅记录当前支持的方式,并将弃用相关内容归入报告。
适合加入的内容:
- 在现有模型表格中添加新的支持模型行。
- 在现有参数表格中添加新的顶层参数。
- 当方法签名变更时,更新现有的Python、JavaScript和cURL示例。
不适合加入的内容:
- 在不相关章节之间插入独立句子以提及更新日志内容。
- 添加弃用字段、已移除的枚举值、旧包名称或迁移警告,除非技能文档已有明确的迁移/故障排除章节且该变更需在此处记录。
- 记录内部优先级、本地持久化行为、fallback链或罕见异常行为。
Step 6: Make targeted edits
步骤6:进行针对性编辑
Apply the smallest useful change to the correct file and section. Match existing heading levels, table formats, code block languages, indentation, and naming style.
Update patterns:
- Model table: add, remove, or modify rows in the relevant model table. Verify model IDs and descriptions.
SKILL.md - Code examples: update method signatures, imports, and significant parameters. Keep Python, JavaScript, and cURL examples consistent when all exist.
- LLM provider table: update or
agents/SKILL.md.agents/references/agent-configuration.md - Tools section: update with new tool types in the existing style.
agents/SKILL.md - CLI section: update existing CLI examples in files.
agents/ - Parameter documentation: add verified parameters to the relevant parameter list or table.
- Configuration tables: update field tables in reference files such as or
agent-configuration.md.voice-settings.md - Output format table: update the output format table in .
text-to-speech/SKILL.md
Hard rules:
- Never invent field names, types, schemas, model IDs, config names, endpoint paths, or example values.
- Never write code examples for new features without verifying the exact API shape.
- Treat the changelog as discovery input, not skill-file prose.
- Skill files must be evergreen. Never mention changelog, issue, PR, release date, "added in", "introduced in", "as of", or "now supports" inside or
SKILL.md.references/*.md - Document current positive workflows, not negative history.
- Do not create a new section solely because a changelog bullet exists.
- Do not insert orphan content.
- Keep tables focused on supported current fields.
- If an SDK version bump has no method signature change, update version-specific comments only if such comments already exist.
对正确的文件和章节做出最小且有效的变更。匹配现有标题层级、表格格式、代码块语言、缩进和命名风格。
更新模式:
- 模型表格:在相关的模型表格中添加、删除或修改行。验证模型ID和描述。
SKILL.md - 代码示例:更新方法签名、导入语句和重要参数。若同时存在Python、JavaScript和cURL示例,保持它们的一致性。
- LLM提供商表格:更新或
agents/SKILL.md。agents/references/agent-configuration.md - 工具章节:按照现有风格在中更新新增的工具类型。
agents/SKILL.md - CLI章节:更新文件中的现有CLI示例。
agents/ - 参数文档:将已验证的参数添加到相关的参数列表或表格中。
- 配置表格:更新参考文件(如或
agent-configuration.md)中的字段表格。voice-settings.md - 输出格式表格:更新中的输出格式表格。
text-to-speech/SKILL.md
硬性规则:
- 切勿自行编造字段名称、类型、schema、模型ID、配置名称、端点路径或示例值。
- 若未验证确切的API结构,切勿为新功能编写代码示例。
- 将更新日志视为发现变更的输入,而非技能文档的文案来源。
- 技能文档必须是常青式的。切勿在或
SKILL.md中提及更新日志、议题、PR、发布日期、“新增于”、“引入于”、“自版本起”或“现已支持”等表述。references/*.md - 记录当前可用的正向工作流,而非负面历史。
- 切勿仅因更新日志中有相关条目就新增章节。
- 切勿插入孤立内容。
- 表格仅聚焦于当前支持的字段。
- 若SDK版本升级未导致方法签名变更,仅当已有版本相关注释时才更新该注释。
Step 7: Self-check before committing
步骤7:提交前自行检查
Review every change and verify:
- Every edited field name appears in the source docs read in Step 4.
- Every code example uses verified parameter names and nesting.
- No content was inferred from changelog wording alone.
- No fabricated values remain.
- No edited skill file references a changelog, issue, PR, release date, or release-history phrasing.
- Every new heading or section is justified by Step 5.
- No orphan sentences or forced one-off sections remain.
- No edited content documents deprecated, removed, or replaced fields solely as negative guidance.
- Every relevant changelog item is accounted for as one of: docs update, justified new section, , or
No Skill Change Needed.Needs Manual Authoring
If any change fails this check, revert that edit and move the item to or .
Needs Manual AuthoringNo Skill Change Needed复查所有变更并验证:
- 每一个编辑的字段名称都出现在步骤4中读取的源文档里。
- 每一个代码示例都使用已验证的参数名称和嵌套结构。
- 没有内容仅根据更新日志的描述推断得出。
- 没有虚构的值残留。
- 编辑后的技能文件未提及更新日志、议题、PR、发布日期或版本历史相关表述。
- 每一个新增标题或章节都符合步骤5的要求。
- 没有孤立句子或强行添加的一次性章节残留。
- 编辑后的内容未仅作为负面指南记录弃用、移除或替代的字段。
- 每一项相关的更新日志条目都已归类为:文档更新、合理新增章节、或
No Skill Change Needed。Needs Manual Authoring
若任何变更未通过此检查,撤销该编辑并将条目归入或。
Needs Manual AuthoringNo Skill Change NeededStep 8: Branch, commit, and pull request
步骤8:创建分支、提交并创建拉取请求
Use branch name .
skills-update/YYYY-MM-DDBefore creating a branch, check for an existing open PR and stop if one exists:
bash
gh pr list --repo elevenlabs/skills --head "skills-update/${CHANGELOG_DATE}" --state open --json number --jq 'length == 0'Create the branch from current , commit only if files changed, and push:
origin/mainbash
git fetch origin main
git checkout -b "skills-update/${CHANGELOG_DATE}" origin/main
git add -A
git diff --cached --quiet || git commit -m "Update skills from changelog ${CHANGELOG_DATE}"
git push -u origin "skills-update/${CHANGELOG_DATE}"Write the report to , then open the PR:
/tmp/skills-update-report.mdbash
gh pr create --repo elevenlabs/skills \
--base main \
--head "skills-update/${CHANGELOG_DATE}" \
--title "Update skills from changelog ${CHANGELOG_DATE}" \
--body-file /tmp/skills-update-report.mdIf there are no file changes after analysis, do not push or open a PR. Report with relevant items under .
No skill file changes needed for CHANGELOG_DATENo Skill Change Needed使用分支名称。
skills-update/YYYY-MM-DD在创建分支之前,检查是否存在已打开的PR,若存在则停止操作:
bash
gh pr list --repo elevenlabs/skills --head "skills-update/${CHANGELOG_DATE}" --state open --json number --jq 'length == 0'基于当前的创建分支,仅当文件变更时才提交并推送:
origin/mainbash
git fetch origin main
git checkout -b "skills-update/${CHANGELOG_DATE}" origin/main
git add -A
git diff --cached --quiet || git commit -m "Update skills from changelog ${CHANGELOG_DATE}"
git push -u origin "skills-update/${CHANGELOG_DATE}"将报告写入,然后创建PR:
/tmp/skills-update-report.mdbash
gh pr create --repo elevenlabs/skills \
--base main \
--head "skills-update/${CHANGELOG_DATE}" \
--title "Update skills from changelog ${CHANGELOG_DATE}" \
--body-file /tmp/skills-update-report.md若分析后没有文件变更,请勿推送或创建PR。报告,并将相关条目归入。
No skill file changes needed for CHANGELOG_DATENo Skill Change NeededReport and PR body requirements
报告和PR正文要求
Write this report and use it as the PR body:
markdown
undefined撰写以下报告并将其作为PR正文:
markdown
undefinedSkills Update Report
技能文档更新报告
Outcome
结果
- Changelog:
YYYY-MM-DD - Branch:
skills-update/YYYY-MM-DD - Commit:
<commit sha or "No commit created"> - Pull request:
<PR URL or "No PR created"> - Result:
<updated skills | no skill changes needed | partial update>
- 更新日志:
YYYY-MM-DD - 分支:
skills-update/YYYY-MM-DD - 提交:<提交哈希或"未创建提交">
- 拉取请求:<PR链接或"未创建PR">
- 结果:<已更新技能 | 无需更新技能 | 部分更新>
Summary
摘要
Updates skills based on the merged weekly changelog.
If the changelog describes breaking API or SDK changes, add a short warning here describing which examples or docs may need migration guidance.
基于已合并的每周更新日志更新技能文档。
若更新日志描述了破坏性API或SDK变更,在此处添加简短警告说明哪些示例或文档可能需要迁移指南。
Changes
变更内容
- skill-name: Brief description of what changed.
- 技能名称:变更内容的简要描述。
Verification
验证信息
- in
field_or_area- verified against API reference pagefile.md
- in
字段或领域- 已对照API参考页面验证file.md
Needs Manual Authoring
需要人工编写
List changelog items that were not applied because the schema could not be verified. Include what the changelog said, why it could not be verified, and the source link to check later.
If no items apply, write "None."
列出因无法验证schema而未应用的更新日志条目。包含更新日志中的描述、无法验证的原因以及后续检查的源链接。
若无相关条目,填写“无”。
No Skill Change Needed
无需更新技能文档
List verified changelog items intentionally not added to skill files because they have no natural home or are too low-level for skills. Include what changed, why no edit was appropriate, and the source link.
If no items apply, write "None."
列出已验证但未添加到技能文档的更新日志条目,原因是没有合适位置或内容过于底层不适合技能文档。包含变更内容、不适合编辑的原因以及源链接。
若无相关条目,填写“无”。
Open Questions
待解决问题
List blockers, ambiguous source material, or follow-up items.
If no items apply, write "None."
列出阻塞项、模糊的源材料或后续事项。
若无相关条目,填写“无”。
Source
来源
When run in an automated/headless agent environment with repository write access, opening the pull request is required unless no skill files changed. Return only the completed markdown report in the final response unless the invoking user explicitly asks for extra commentary.
当在具有仓库写入权限的自动化/无头Agent环境中运行时,除非没有技能文件变更,否则必须创建拉取请求。最终响应仅返回已完成的Markdown报告,除非调用用户明确要求额外说明。Important
重要提示
- Do not change YAML frontmatter in skill files unless the changelog specifically requires it.
- Keep changelog dates and release-history wording in the report/PR context only.
- Prefer no-op over forced structure when a changelog item has no natural home.
- A wrong code example is worse than a missing one.
- If changelog coverage only gives feature names and high-level descriptions without source docs or schema details, put those items under .
Needs Manual Authoring
- 除非更新日志明确要求,否则请勿修改技能文件中的YAML前置内容。
- 仅在报告/PR语境中保留更新日志日期和版本历史表述。
- 若更新日志条目没有合适位置,宁愿不做修改也不要强行添加结构。
- 错误的代码示例比缺失的代码示例更糟糕。
- 若更新日志仅提供功能名称和高层级描述,而无源文档或schema细节,将这些条目归入。
Needs Manual Authoring