npx skills add ...
npx skills add elevenlabs/skills --skill update-skills-from-changelog
npx skills add elevenlabs/skills --skill update-skills-from-changelog
Update ElevenLabs agent skills from a merged weekly changelog in elevenlabs-dx, then open a pull request in elevenlabs/skills. Trigger after a changelog merges to main on elevenlabs-dx, or when asked to update skills from changelog YYYY-MM-DD.
You 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 SKILL.md and references/*.md content as timeless present-tense documentation.
Skill 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.
CHANGELOG_DATE from the automation trigger or user message.elevenlabs-dx main.skills-update/YYYY-MM-DD, commit, push, and open a PR.Do not modify skills not implicated by the changelog.
Determine CHANGELOG_DATE (YYYY-MM-DD) from the automation trigger or user message.
Fetch the merged changelog file:
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
Read /tmp/changelog-${CHANGELOG_DATE}.md and map changes against these skills:
| Skill | What triggers an update |
|---|---|
text-to-speech | New/deprecated models, new TTS parameters, voice settings changes, output format changes, SDK method signature changes for text_to_speech.convert() |
speech-to-text | New transcription models, new parameters, changed response schemas, SDK method changes |
agents | New LLM providers/models, new tool types, new agent config fields, conversation config schema changes, new CLI commands, widget changes |
sound-effects | New generation parameters, model changes, SDK method changes |
music | New endpoints, new parameters, model changes |
voice-isolator | New parameters, model changes, SDK method changes for audio_isolation.convert() |
speech-engine | Speech Engine WebSocket API changes, conversation token changes, SDK method changes for real-time voice conversations |
voice-changer | New speech-to-speech parameters, model changes, SDK method changes for speech_to_speech.convert() or speechToSpeech.convert() |
setup-api-key | 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_DATE.
For 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.
For each affected skill, read:
{skill}/SKILL.md{skill}/references/Skill directories:
text-to-speech/ (SKILL.md plus references/installation.md, references/streaming.md, references/voice-settings.md)speech-to-text/ (SKILL.md plus 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 plus references/installation.md, references/agent-configuration.md, references/client-tools.md, references/widget-embedding.md, references/outbound-calls.md)sound-effects/ (SKILL.md plus references/installation.md)music/ (SKILL.md plus references/installation.md, references/api_reference.md)voice-isolator/ (SKILL.md plus references/installation.md)speech-engine/ (SKILL.md plus references/installation.md, references/javascript-sdk-reference.md, references/python-sdk-reference.md)voice-changer/ (SKILL.md plus references/installation.md)setup-api-key/ (SKILL.md only)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:
https://elevenlabs.io/docs/api-reference/agents/create, https://elevenlabs.io/docs/api-reference/agents/updatehttps://elevenlabs.io/docs/api-reference/text-to-speech/converthttps://elevenlabs.io/docs/api-reference/speech-to-text/convertFor every documented field, parameter, schema, enum, endpoint, model ID, or SDK method:
Needs Manual Authoring in the report.Run this fit gate before editing each changelog item:
No Skill Change Needed.Good fits:
Bad fits:
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:
SKILL.md model table. Verify model IDs and descriptions.agents/SKILL.md or agents/references/agent-configuration.md.agents/SKILL.md with new tool types in the existing style.agents/ files.agent-configuration.md or voice-settings.md.text-to-speech/SKILL.md.Hard rules:
SKILL.md or references/*.md.Review every change and verify:
No Skill Change Needed, or Needs Manual Authoring.If any change fails this check, revert that edit and move the item to Needs Manual Authoring or No Skill Change Needed.
Use branch name skills-update/YYYY-MM-DD.
Before creating a branch, check for an existing open PR and stop if one exists:
Create the branch from current origin/main, commit only if files changed, and push:
Write the report to /tmp/skills-update-report.md, then open the PR:
If there are no file changes after analysis, do not push or open a PR. Report No skill file changes needed for CHANGELOG_DATE with relevant items under No Skill Change Needed.
Write this report and use it as the PR body:
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.
Needs Manual Authoring.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}"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# Skills 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>`
## 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.
### Changes
- **skill-name**: Brief description of what changed.
### Verification
- `field_or_area` in `file.md` - verified against [API reference page](url)
### 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."
### 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
[Changelog YYYY-MM-DD](https://elevenlabs.io/docs/changelog#YYYY-MM-DDT00:00:00.000Z)
[Changelog file on GitHub](https://github.com/elevenlabs/elevenlabs-dx/blob/main/fern/docs/pages/changelog/YYYY-MM-DD.md)