Agent skill · Media & Video

cosyvoice-ssml

内部技能,仅用于数字人 / VideoRetalk / 资产库角色口播视频链路中的 CosyVoice TTS 子步骤。普通 AI 聊天、普通音频、普通短视频、产品视频或广告视频请求不得直接调用本技能;这些视频请求必须先走 video-director。只有 video-director 已确认这是数字人口播,且需要把已批准的台词合成为角色驱动音频时,才可激活本技能。

Jamailargithub.com/JamailarGitHub ↗
claude-codeNOASSERTION
Install
npx skills add Jamailar/Beav --skill cosyvoice-ssml --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 19 KB
Bundled scripts: none
Path: desktop/builtin-skills/cosyvoice-ssml/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 1,349
Language: TypeScript

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Internal skill used only within theCosyVoice SSML playback path for digital humans in VideoRetalk/asset library videos. It activates only after video-director confirms a digital-person playback and approved lines, and if the TTS model is CosyVoice. It does not run for ordinary chats, plain audio, or non-SSML entry points.

How it works

When invoked, it does not perform text-to-SSML conversion or return SSML by itself. Instead, it guides the user to:

  • split the approved lines into character performance segments (opening, scene progression, emphasis, conclusion, etc.);
  • write a full <speak> SSML for each segment with rate, pitch, and volume, plus a short prompt per segment;
  • call voice.speech once to generate the audio. It requires producing either a single <speak> for short text or multiple <speak> blocks organized as segments with their own prompts. Each segment must be a complete <speak> and must not nest <speak> tags.

It supports CosyVoice models: cosyvoice-v3.5-plus, cosyvoice-v3.5-flash, cosyvoice-v3-plus, cosyvoice-v3-flash, cosyvoice-v2, and requires explicit SSML per segment. The final payload is either a single input SSML or a segments array with inputs that are complete SSML blocks.

When to use it

Use only when the current task is under video-director management for asset-library talking-head playback, and the TTS model chosen is CosyVoice. If user asks for a video or product/advertisement in plain chat, first go through video-director.

What it can touch

  • tool: voice.speech (single invocation for final audio)
  • inputs/segments must contain complete SSML blocks with rate, pitch, and volume attributes

Caveats

  • Activation does not produce SSML outputs on its own; it does not modify text beyond structuring SSML per segments.
  • It cannot be used as an entry point for non-digital-human playback tasks; only invoked within the specified video-director pathway.
  • It requires CosyVoice SSML constraints (no <prosody>, fixed allowed tags, and numeric ranges for rate/pitch/volume).
  • License is NOASSERTION; exact usage rights depend on repository terms.
From the SKILL.md

# CosyVoice SSML 表演导演 仅当当前任务已经是 `video-director` 管理下的数字人 / VideoRetalk / 资产库角色 talking-head 口播视频,并且选中的 TTS 模型是 CosyVoice 时,使用这个技能。 普通 AI 聊天里的“做一个口播视频 / 生成视频 / 短视频 / 产品视频 / 广告片”不能直接进入本技能。必须先激活 `video-director`,由它完成视频脚本、分镜、确认、角色与音频驱动链路。普通音频、普通旁白、普通 TTS 也不能用本技能作为入口。 ## 技能激活语义 `skills.invoke` 只会把本技能说明加入当前轮上下文,不会替你转换文本,也不会返回 SSML。 只有在数字人口播视频链路中激活后,你必须自己完成这三步: 1. 根据已经批准的数字人口播台词拆出角色表演片段:开头、场景、信息推进、重点、收束等。 2. 为每个片段写出一个完整 `<speak rate="..." pitch="..." volume="...">...</speak>` SSML,并给这个片段写一个简短 `prompt`。 3. 立即调用一次 `voice.speech` 生成音频。 不要再次调用 `cosyvoice-ssml` 等待结果;不要说“缺少 SSML 加工结果”;不要创造 `cosyvoice-ssml-turn` 之类不存在的技能名。 你的任务不是展示 SSML 知识,而是把最终要朗读的文本变成一次可执行的 `voice.speech` 请求: - 先判断文本类型、听众、商业目标、卖点结构和口播节奏。 - 再逐句决定怎么读:哪里慢、哪里轻、哪里强调、哪里停顿。 - 在 Agent 音频创作里,多句、换行、短视频带货、自媒体口播、产品讲解、知识分享、种草测评或用户要求语气时,必须产出 `<speak>...</speak>` SSML。 - 长文本、多段文本、带货口播、自媒体口播、种草测评、产品讲解、广告口播、教程和任何明显有信息推进的文本,必须使用 `segments`。每个 segment 是一个独立 CosyVoice 合成片段,media runtime 会自动合并最终音频。 - 只有极短、中性、单一语气的一句话,才可以使用单个 `input`。 - 只有用户明确要求“不要 SSML / 直接纯文本”,或者文本就是极短中性一句话时,才可以不用 SSML。 - 保留用户原文含义;除非用户要求改写,否则不要改词。 - 最终只调用一次 `voice.speech`,不要逐句多次调用工具,也不要手动拼接音频。 ## 可用模型 只在这些 CosyVoice 系列模型上使用本技能: - `cosyvoice-v3.5-plus` - `cosyvoice-v3.5-flash` - `

What's inside
Steps it walks through
  1. 技能激活语义
  2. 可用模型
  3. 最终输出格式
  4. 合格输出标准
  5. 1. 合法
  6. 2. 可朗读
  7. 3. 有细颗粒度表演设计
  8. 生成前自检
  9. 4. 可执行
  10. 5. 最小合格示例
  11. 细颗粒度标注原则
  12. 必须细标的位置
  13. 颗粒度示例
  14. CosyVoice 支持的 SSML
More from Beav
All skills →
About this skill
What does the cosyvoice-ssml skill do?

内部技能,仅用于数字人 / VideoRetalk / 资产库角色口播视频链路中的 CosyVoice TTS 子步骤。普通 AI 聊天、普通音频、普通短视频、产品视频或广告视频请求不得直接调用本技能;这些视频请求必须先走 video-director。只有 video-director 已确认这是数字人口播,且需要把已批准的台词合成为角色驱动音频时,才可激活本技能。

How do I install it?

Run `npx skills add Jamailar/Beav --skill cosyvoice-ssml --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From Jamailar/Beav, a repository with 1,349 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going