HyperFrames Media Use
heygen-com/hyperframes
Finds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades.
Generate expressive audio clips using Fish Audio S2 TTS with bracket emotion tags.
$ npx skills add vellum-ai/vellum-assistant --skill fish-audio -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vellum-ai/vellum-assistant fish-audio --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/fish-audio .claude/skills/fish-audio && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "fish-audio" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/skills/fish-audio into .claude/skills/fish-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fish-audio", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/vellum-ai/vellum-assistant/tree/main/skills/fish-audioType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add vellum-ai/vellum-assistant --skill fish-audio -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vellum-ai/vellum-assistant fish-audio --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/fish-audio .agents/skills/fish-audio && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "fish-audio" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/skills/fish-audio into .agents/skills/fish-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fish-audio", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vellum-ai/vellum-assistant --skill fish-audio -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vellum-ai/vellum-assistant fish-audio --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/fish-audio .cursor/skills/fish-audio && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "fish-audio" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/skills/fish-audio into .cursor/skills/fish-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fish-audio", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/vellum-ai/vellum-assistant.git --path skills/fish-audio--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add vellum-ai/vellum-assistant --skill fish-audio -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vellum-ai/vellum-assistant fish-audio --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/fish-audio .gemini/skills/fish-audio && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "fish-audio" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/skills/fish-audio into .gemini/skills/fish-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fish-audio", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install vellum-ai/vellum-assistant fish-audioInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add vellum-ai/vellum-assistant --skill fish-audio -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/fish-audio .github/skills/fish-audio && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "fish-audio" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/skills/fish-audio into .github/skills/fish-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fish-audio", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vellum-ai/vellum-assistant --skill fish-audio -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install vellum-ai/vellum-assistant fish-audio --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vellum-ai/vellum-assistant.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/fish-audio .opencode/skills/fish-audio && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "fish-audio" agent skill from https://github.com/vellum-ai/vellum-assistant/tree/main/skills/fish-audio into .opencode/skills/fish-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fish-audio", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
fish-audioGenerate expressive audio clips using Fish Audio S2 TTS with bracket emotion tags.
Fish Audio is an agent skill from vellum-ai/vellum-assistant. Generate expressive audio clips using Fish Audio S2 TTS with bracket emotion tags. Record voice memos, narration, audio messages, or any spoken content.
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Designed for Vellum personal assistants
It sits in Media & Creative, covering Text to speech and voice and Transcription. The repository describes itself as: An AI Assistant that’s easy to setup, does your work 24/7, knows your preferences and gets better over time. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 33cc983. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ffmpegcurlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.fish.audioAlso links to:
fish.audioFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Designed for Vellum personal assistants
From compatibility in the SKILL.md frontmatter.
Fish Audio loads about 3.7k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 1,183 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from vellum-ai/vellum-assistant at commit 33cc983, republished under its MIT licence (© vellum-ai). 1,183 words, ~3,718 tokens.
.claude/skills/fish-audio/SKILL.md (or your agent's skills folder).Generate expressive audio clips using the Fish Audio S2 TTS API with [bracket] emotion tags.
This skill lets you create audio clips on demand — narration, announcements, podcast intros, dramatic readings, voice memos, or any spoken content. Uses Fish Audio S2 Pro with the full bracket syntax for emotional expressiveness.
https://api.fish.audio/v1/ttss2-proassistant config get services.tts.providers.fish-audio.referenceIdfish-audio/api_keymp3 at 192kbpsscratch/The Fish Audio API key must be stored securely via the credential store. Get an API key from the Fish Audio dashboard at https://fish.audio.
Check if the key is already configured:
assistant credentials inspect --service fish-audio --field api_key --jsonIf not set, collect it securely (never ask the user to paste it in chat):
assistant credentials prompt --service fish-audio --field api_key \
--label "Fish Audio API Key" \
--placeholder "sk-..." \
--description "Enter your Fish Audio API key"Use bash with curl to call the Fish Audio API:
curl -s -X POST "https://api.fish.audio/v1/tts" \
-H "Authorization: Bearer $(assistant credentials reveal --service fish-audio --field api_key)" \
-H "Content-Type: application/json" \
-H "model: s2-pro" \
-d '{
"text": "YOUR TEXT WITH [bracket] TAGS HERE",
"reference_id": "'"$(assistant config get services.tts.providers.fish-audio.referenceId)"'",
"format": "mp3",
"mp3_bitrate": 192,
"temperature": 0.8
}' --output scratch/OUTPUT_FILENAME.mp3Important: This API call requires network access. Always use network_mode: proxied when running this command.
For longer pieces (narrations, multi-part messages), generate each clip separately then combine with ffmpeg:
ffmpeg -f lavfi -i anullsrc=r=44100:cl=mono -t 1.5 -q:a 9 -acodec libmp3lame scratch/silence.mp3 -ycat > scratch/concat.txt << 'EOF'
file 'clip1.mp3'
file 'silence.mp3'
file 'clip2.mp3'
file 'silence.mp3'
file 'clip3.mp3'
EOFffmpeg -f concat -safe 0 -i scratch/concat.txt -c copy scratch/final_output.mp3 -yFish Audio S2 uses [bracket] syntax for inline emotion and prosody control. This is the core of what makes the voice expressive. Tags are natural-language instructions placed directly in the text that control how words are spoken — the delivery, emotion, pacing, or vocal quality at that exact point.
Key principle: You are not choosing from a fixed menu. You write the description, and S2 interprets it. If you can describe it to a voice actor, S2 can attempt it. Over 15,000+ unique tags are supported, and the system understands free-form descriptions.
Tags affect what comes after them. Place the tag at the exact point where the shift should happen. Placement IS meaning.
[whispering] I didn't want to go inside. <- whispers the entire line
I didn't want to go [whispering] inside. <- only whispers from "inside" onwardTags can go anywhere — start, middle, or end of a sentence. They apply from the point they appear until the next tag or end of the sentence.
These tags consistently produce strong results. Organized by category:
| Tag | Effect | Best For |
|---|---|---|
[happy] | Cheerful, upbeat | Good news, greetings |
[sad] | Melancholic, downcast | Sympathy, vulnerability |
[angry] | Frustrated, aggressive | Arguments, complaints |
[excited] | Energetic, enthusiastic | Celebrations, announcements |
[surprised] | Shocked, amazed | Reactions, discoveries |
[embarrassed] | Awkward, flustered | Mistakes, confessions |
[delight] | Very pleased, joyful | Genuine happiness |
[nervous] | Anxious, uncertain | Vulnerability, apologies |
[confident] | Assertive, self-assured | Bold statements |
[nostalgic] | Longing for the past | Memories, stories |
[scared] | Frightened, fearful | Warnings, tension |
[jealous] | Envious, resentful | Comparisons, possessiveness |
[shocked] | Sudden realization | Dramatic reveals |
[moved] | Emotionally touched | Heartfelt moments |
| Tag | Effect | Best For |
|---|---|---|
[soft] | Gentle, tender | Intimate moments, kindness |
[whisper] | Very quiet, close | Secrets, tension, suspense |
[breathy] | Airy, expressive | Vulnerability, emphasis |
[low voice] | Deep, quiet register | Gravity, seriousness |
[loud] | Raised volume | Emphasis, excitement |
[screaming] | Full volume yelling | Anger, extreme excitement |
[shouting] | Forceful projection | Arguments, calling out |
[emphasis] | Stressed delivery | Key words, making a point |
[singing] | Musical quality | Playfulness, joy |
[echo] | Reverberant effect | Dramatic moments |
[with strong accent] | Pronounced accent | Character work |
| Tag | Effect | Best For |
|---|---|---|
[laughing] | Full laugh | Joy, humor, warmth |
[chuckling] | Soft, low laugh | Warmth, amusement |
[giggling] | Light, playful laugh | Lightheartedness, delight |
[sigh] | Audible exhale | Relief, longing, exasperation |
[inhale] | Audible breath in | Before speaking, anticipation |
[exhale] | Breath out | Relief, settling |
[panting] | Heavy breathing | Exertion, intensity |
[gasp] | Sharp intake of breath | Surprise, shock |
[tsk] | Disapproving click | Judgment, disapproval |
[clearing throat] | Ahem | Transitioning, getting attention |
[moaning] | Vocal moan | Pain, frustration |
[sobbing] | Crying with voice | Deep sadness |
[crying loudly] | Full crying | Extreme emotion |
| Tag | Effect | Best For |
|---|---|---|
[pause] | Brief silence (~0.5-1s) | Beat between thoughts |
[short pause] | Quick beat (~0.3s) | Rhythm, emphasis |
[long pause] | Extended silence (~1.5-2s) | Dramatic tension, letting moments land |
| Tag | Effect | Best For |
|---|---|---|
[volume up] | Gradually louder | Building energy |
[volume down] | Gradually quieter | Drawing someone in |
[low volume] | Consistently quiet | Background, aside |
You are NOT limited to the tags above. S2 accepts any natural language description in brackets. The model generalizes from its training data to interpret novel instructions. Write what you would tell a voice actor:
[laughing nervously][angry but trying to stay calm][happy with a hint of sadness][excited but whispering][voice rough from crying, trying to sound normal][professional broadcast tone][speaking slowly, almost hesitant][whispering like a secret][dead tired, end of a very long shift][the calm, measured tone of someone who has done this a thousand times][overly cheerful, clearly forcing it][pitch up][pitch down][speaking slowly with warmth][speaking quickly with excitement][pitch up slightly while maintaining warmth][trailing off][voice breaking][barely holding it together][soft voice][interrupting][laughing tone] (speaking while laughing, not just a laugh)[excited tone] (speaking with excitement woven through)A single well-placed [sigh] or [long pause] can change a line completely. Add more tags only when the simpler version is not enough. Over-tagging competes with itself.
Too many tags (competing):
[soft] [whisper] [sad] [slow] I miss the old days.Better — one well-chosen tag:
[nostalgic] I miss the old days.The most powerful moments come from sudden shifts. Going from loud to soft, angry to vulnerable, laughing to serious — the contrast is what creates emotional impact.
[screaming] I can't BELIEVE you did that! [long pause] [soft] ...do you even care?[excited] Oh my god we got the apartment! [pause] [voice breaking] I can't believe it's actually happening.[pause] and [long pause] are your most powerful tags. Use them:
[confident] I have an announcement to make. [long pause] [excited] We did it. We actually did it.Real people laugh, sigh, gasp, and breathe between words. Weaving these in makes speech feel alive rather than read.
[sigh] Look, I know this is hard. [pause] [inhale] But we need to talk about it.I told him the news and he just — [laughing] he literally dropped his coffee.Do not use [screaming] for mild annoyance or [sobbing] for minor disappointment. The tag should match the emotional weight of the words.
When a single-word tag is not enough, describe the exact delivery you want:
[speaking slowly, choosing each word carefully] I think we should reconsider our approach.This gives S2 much richer information than just [slow] or [sad].
S2 excels at dynamic emotional shifts. Use this for natural-feeling monologues:
[excited] I got the promotion! [pause] [uncertain] But... it means relocating. [sad] I'll miss everyone here. [long pause] [hopeful] Maybe it'll be worth it though.Narration (audiobook style):
[soft] The city was quiet that morning. [pause] Not the peaceful kind of quiet — [long pause] [low voice] the kind that makes you hold your breath. [inhale] [whisper] Something was about to change. [pause] [confident] And everyone knew it.Podcast intro:
[excited] Welcome back to another episode! [pause] [professional broadcast tone] Today we're diving into something I've been researching for months. [chuckling] And honestly? It blew my mind. [pause] [volume down] [speaking slowly with warmth] So grab your coffee, get comfortable, and let's get into it.Dramatic reading:
[soft] She stood at the edge of the platform, [pause] watching the last train pull away. [long pause] [voice breaking] It wasn't supposed to end like this. [sigh] [whisper] None of it was. [pause] [angry but trying to stay calm] And yet here she stood — [emphasis] alone — [long pause] [nostalgic] remembering a time when the station was full of laughter.Announcement:
[confident] Attention everyone. [pause] [excited] After three years of development, [volume up] we are thrilled to announce [emphasis] the official launch! [long pause] [laughing] I know, I know — it's been a long time coming. [pause] [soft] But we wanted to get it right. [pause] [professional broadcast tone] And we did.| Parameter | Default | Description |
|---|---|---|
text | (required) | The text to synthesize, with [bracket] tags |
reference_id | (from config) | Voice model ID |
format | mp3 | Output format: mp3, wav, pcm, opus |
mp3_bitrate | 192 | MP3 quality: 64, 128, 192 |
temperature | 0.8 | Expressiveness (higher = more varied) |
top_p | 0.7 | Diversity via nucleus sampling |
chunk_length | 300 | Text segment size (100-300) |
latency | normal | Quality tradeoff: normal, balanced, low |
condition_on_previous_chunks: true (default) helps maintain consistency within a single API call<vellum-attachment> tags[bracket] syntax inside text passed to the Fish Audio API, not in regular text responses© vellum-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/fish-audio of vellum-ai/vellum-assistant.
Open the folder on GitHubat commit 33cc983
Fish Audio next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Fish Audio this skillvellum-ai/vellum-assistant | 1.4k | — | ~3.7k | Automated safety check: Pass | MIT | |
| HyperFrames Media Useheygen-com/hyperframes | 60k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Edu Chem Videowy51ai/edulab | 1.4k | — | ~2.1k | Automated safety check: Notes | Apache-2.0 | |
| Edu Math Videowy51ai/edulab | 1.4k | — | ~2.5k | Automated safety check: Notes | Apache-2.0 | |
| Edu Physics Videowy51ai/edulab | 1.4k | — | ~2.3k | Automated safety check: Notes | Apache-2.0 | |
| Elevenlabs Transcribeqdhenry/Claude-Command-Suite | 1.3k | — | ~1.5k | Automated safety check: Notes | None |
heygen-com/hyperframes
Finds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades.
wy51ai/edulab
A skill your agent uses when asked to make an explainer / walkthrough video (讲解视频、解题视频、例题精讲、微课) for a chemistry problem (化学题: 氧化还原配平 双线桥 电子守恒, 物质的量计算, 化学平衡 三段式 平衡常数 转化率 反应速率, 离子反应, 电化学, 溶液 滴定…
wy51ai/edulab
A skill your agent uses when asked to make an explainer / walkthrough video (讲解视频、解题视频、例题精讲、微课) for a math problem (数学题, geometry, algebra, functions, motion/行程 problems), from a problem screenshot…
wy51ai/edulab
A skill your agent uses when asked to make an explainer / walkthrough video (讲解视频、解题视频、例题精讲、微课) for a physics problem (物理题: mechanics/力学 受力分析 牛顿定律 斜面 传送带 板块 平抛 圆周 能量 动量, optics/光学 折射…
qdhenry/Claude-Command-Suite
Transcribes audio/video files using ElevenLabs Scribe v2 API.
zenstory-ai/video-recap-skills
合成视频解说最终成片:把旁白音频铺到源视频上,按旁白窗口压低原声,生成 SRT / ASS 字幕并可烧录, 最后做响度标准化。作为最终合成阶段使用。输入源视频、ttsmeta.json 与旁白位置; 输出 recap 成片和字幕。触发词:视频合成、混音、字幕、压字幕、assemble video、mux、ducking、subtitles、成片。
vellum-ai/vellum-assistant
Create and configure a GitHub App so the assistant can push commits, open PRs, and comment under its own bot identity.
vellum-ai/vellum-assistant
Connect a Discord bot to the assistant via the Discord Gateway with guided application creation and intent configuration
vellum-ai/vellum-assistant
Create and configure a Sentry internal integration so the assistant can manage issues, alerts, and releases under its own identity
vellum-ai/vellum-assistant
Ingest a large dataset into memory as a skimmed map. An agent skill from vellum-ai/vellum-assistant.
vellum-ai/vellum-assistant
A skill your agent uses when the user wants to build, scaffold, ship, or edit a Vellum plugin that bundles multiple surfaces (hooks, tools, skills, and more) into one installable package.
vellum-ai/vellum-assistant
Connect a Slack app to the Vellum Assistant via Socket Mode.
Categories
Generate expressive audio clips using Fish Audio S2 TTS with bracket emotion tags. Fish Audio is an agent skill from vellum-ai/vellum-assistant. Generate expressive audio clips using Fish Audio S2 TTS with bracket emotion tags.
Fish Audio fits situations like: tasks that involve Text to speech and voice; tasks that involve Transcription.
Run `npx skills add vellum-ai/vellum-assistant --skill fish-audio -a claude-code`. Or copy the skill folder (skills/fish-audio in vellum-ai/vellum-assistant) into .claude/skills/fish-audio in your project. Claude Code loads it when a task matches its description.
Run `npx skills add vellum-ai/vellum-assistant --skill fish-audio -a codex`. Or copy the skill folder (skills/fish-audio in vellum-ai/vellum-assistant) into .agents/skills/fish-audio in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vellum-ai/vellum-assistant --skill fish-audio -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fish-audio, .gemini/skills/fish-audio, .github/skills/fish-audio and .opencode/skills/fish-audio in your project.
Going by SKILL.md and its folder, Fish Audio needs the command-line tools its instructions call (ffmpeg and curl). Compatibility (from SKILL.md): Designed for Vellum personal assistants.
SKILL.md names 2 domains. In commands or code: api.fish.audio; the agent is likely to contact it when it follows the instructions. As links in the text: fish.audio. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Fish Audio is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Fish Audio: HyperFrames Media Use (heygen-com/hyperframes, 60k stars), Edu Chem Video (wy51ai/edulab, 1.4k stars), Edu Math Video (wy51ai/edulab, 1.4k stars) and Edu Physics Video (wy51ai/edulab, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
vellum-ai (a GitHub organization) maintains it in vellum-ai/vellum-assistant, which has 1,408 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on October 9, 2026.
Source: vellum-ai/vellum-assistant on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.