Audio Ducking
sonilo-ai/skills
Duck a music bed under a voice track using Sonilo — automatically lowers the music wherever the voice speaks and lifts it back in the gaps.
Narration and text-to-speech on the user's machine through Guaardvark's Audio Foundry (Chatterbox, Kokoro, Piper) and consent-gated voice cloning from a reference clip.
$ npx skills add guaardvark/guaardvark --skill voice -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install guaardvark/guaardvark voice --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/guaardvark/guaardvark.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/voice .claude/skills/voice && 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 "voice" agent skill from https://github.com/guaardvark/guaardvark/tree/main/.agents/skills/voice into .claude/skills/voice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice", 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/guaardvark/guaardvark/tree/main/.agents/skills/voiceType 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 guaardvark/guaardvark --skill voice -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install guaardvark/guaardvark voice --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/guaardvark/guaardvark.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/voice .agents/skills/voice && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "voice" agent skill from https://github.com/guaardvark/guaardvark/tree/main/.agents/skills/voice into .agents/skills/voice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice", 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 guaardvark/guaardvark --skill voice -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install guaardvark/guaardvark voice --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/guaardvark/guaardvark.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/voice .cursor/skills/voice && 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 "voice" agent skill from https://github.com/guaardvark/guaardvark/tree/main/.agents/skills/voice into .cursor/skills/voice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice", 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/guaardvark/guaardvark.git --path .agents/skills/voice--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 guaardvark/guaardvark --skill voice -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install guaardvark/guaardvark voice --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/guaardvark/guaardvark.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/voice .gemini/skills/voice && 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 "voice" agent skill from https://github.com/guaardvark/guaardvark/tree/main/.agents/skills/voice into .gemini/skills/voice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice", 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 guaardvark/guaardvark voiceInstalls 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 guaardvark/guaardvark --skill voice -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/guaardvark/guaardvark.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/voice .github/skills/voice && 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 "voice" agent skill from https://github.com/guaardvark/guaardvark/tree/main/.agents/skills/voice into .github/skills/voice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice", 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 guaardvark/guaardvark --skill voice -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install guaardvark/guaardvark voice --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/guaardvark/guaardvark.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/voice .opencode/skills/voice && 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 "voice" agent skill from https://github.com/guaardvark/guaardvark/tree/main/.agents/skills/voice into .opencode/skills/voice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice", 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.
voiceNarration and text-to-speech on the user's machine through Guaardvark's Audio Foundry (Chatterbox, Kokoro, Piper) and consent-gated voice cloning from a reference clip.
Voice is an agent skill from guaardvark/guaardvark. Narration and text-to-speech on the user's machine through Guaardvark's Audio Foundry (Chatterbox, Kokoro, Piper) and consent-gated voice cloning from a reference clip. Use when the user wants a voiceover, narration of a script, a spoken line, or "make it sound like this voice".
Its SKILL.md is about 800 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering Text to speech and voice. It works with Model Context Protocol. The repository describes itself as: Self-hosted AI studio on your own GPU: chat with your files (RAG), screen and browser agents, coding swarms, LoRA training, an MCP server for Claude Code and Cursor, and local… The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2a33110. 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:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.
From 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.
Voice loads about 798 tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 289 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 guaardvark/guaardvark at commit 2a33110, republished under its MIT licence (© guaardvark). 289 words, ~798 tokens.
.claude/skills/voice/SKILL.md (or your agent's skills folder).Read setup first. Expressive voices need the audio_foundry plugin running;
Piper works without it. B=${GUAARDVARK_URL:-http://localhost:5000}.
| engine | route | when |
|---|---|---|
| Chatterbox | Audio Foundry backend: "chatterbox" | expressive, emotion presets, cloning |
| Kokoro | Audio Foundry backend: "kokoro" | fast, clean, 10+ built-in voices (af_heart default) |
| Piper | /api/voice/text-to-speech | offline fallback, no GPU |
GET $B/api/audio-foundry/voices lists what is installed. GET $B/api/voice/voices lists Piper voices.
Over MCP, call generate_speech (text up to 3000 characters, optional voice such as
af_heart, engine auto | kokoro | chatterbox); it waits and returns the file with a download
link. Cloning is not offered over MCP. Without MCP, or for the Chatterbox knobs, use REST:
curl -s -X POST $B/api/audio-foundry/generate/voice -H 'Content-Type: application/json' -d '{
"text": "The line to speak.",
"backend": "auto", # auto | chatterbox | kokoro
"voice_id": "af_heart", # Kokoro voice, or omit
"emotion": "calm", # Chatterbox preset, or omit
"exaggeration": 0.5, "cfg_weight": 0.5, "temperature": 0.8, # Chatterbox knobs, optional
"seed": 7, "output_format": "wav", "async": true
}'path, document_id). With "async": true or long
text you get 202 {"job_id"}: poll GET $B/api/audio-foundry/jobs/<job_id> until status
is done; the result has path and document_id. Cancel: POST .../jobs/<job_id>/cancel.POST $B/api/voice/narrate
{"script": "...", "engine": "kokoro", "voice": "...", "pause_between_sections": 0.6, "output_format": "wav"}.POST $B/api/voice/text-to-speech {"text", "voice": "libritts"} returns audio_url.curl -s -X POST $B/api/audio-foundry/voice-clips/upload -F file=@/abs/path/ref.wav -F name="Narrator sample"GET $B/api/audio-foundry/voice-clips lists clips."backend": "chatterbox", "reference_clip_path": "<that path>".auto falls back to Kokoro on a Chatterbox error.data/outputs/; they also appear in the Audio library page.© guaardvark, 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 .agents/skills/voice of guaardvark/guaardvark.
Open the folder on GitHubat commit 2a33110
Voice 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 |
|---|---|---|---|---|---|---|
| Voice this skillguaardvark/guaardvark | 257 | — | ~798 | Automated safety check: Pass | MIT | |
| Audio Duckingsonilo-ai/skills | 115 | — | ~1.8k | Automated safety check: Notes | MIT | |
| Auto Dubbingsonilo-ai/skills | 115 | — | ~4.5k | Automated safety check: Notes | MIT | |
| Proofreadsonilo-ai/skills | 115 | — | ~4.4k | Automated safety check: Notes | MIT | |
| Task Recoverysonilo-ai/skills | 115 | — | ~2.1k | Automated safety check: Notes | MIT | |
| Generate Narration AudioArcReel/ArcReel | 5.4k | — | ~524 | Automated safety check: Pass | AGPL-3.0 |
sonilo-ai/skills
Duck a music bed under a voice track using Sonilo — automatically lowers the music wherever the voice speaks and lifts it back in the gaps.
sonilo-ai/skills
Dub a video into one or more other languages using Sonilo, translating and re-voicing the speech into a new video per language.
sonilo-ai/skills
Transcribe a video with Sonilo and translate the transcript into editable .srt files — one per target language, plus the detected source language — so the wording can be read and corrected before…
sonilo-ai/skills
Recover the result of a timed-out Sonilo generation call using its taskid.
ArcReel/ArcReel
为旁白/解说剧本逐分镜生成旁白配音(TTS)。当 TTS 项目首轮自动剪辑需要补齐缺失配音、用户要求生成或重新生成某个分镜或某集旁白配音,或批量配音中断需要补齐时使用。
scenario-labs/skills
A skill your agent uses when generating or handling audio on Scenario via MCP.
guaardvark/guaardvark
Build consistent characters, environments and props in Guaardvark's Cast Library and train LoRAs for them locally (reference photos → vision bible → sample plan → approved samples → training).
guaardvark/guaardvark
Generate or edit images on the user's own GPU through Guaardvark: single images, instruction edits, background cut-outs, inpaint and outpaint, consistent characters from the Cast Library, and batch…
guaardvark/guaardvark
Generate full songs with vocals or instrumentals (ACE-Step) and sound effects or ambience (Stable Audio Open) on the user's GPU through Guaardvark's Audio Foundry.
guaardvark/guaardvark
Operate a running Guaardvark: GPU and VRAM state, plugin start/stop, logs, Celery tasks, the Interconnector sync to other machines, overnight RAG autoresearch, and infographics.
guaardvark/guaardvark
Connect this agent to a running Guaardvark (self-hosted AI studio) and check what it can do right now.
guaardvark/guaardvark
Launch and watch Guaardvark's Swarm Orchestrator: parallel coding agents, each in its own git worktree, working a markdown plan and merging back deterministically.
Works with
Categories
Narration and text-to-speech on the user's machine through Guaardvark's Audio Foundry (Chatterbox, Kokoro, Piper) and consent-gated voice cloning from a reference clip. Voice is an agent skill from guaardvark/guaardvark. Narration and text-to-speech on the user's machine through Guaardvark's Audio Foundry (Chatterbox, Kokoro, Piper) and consent-gated voice cloning from a reference clip.
Voice fits situations like: the user wants a voiceover; narration of a script; make it sound like this voice.
Run `npx skills add guaardvark/guaardvark --skill voice -a claude-code`. Or copy the skill folder (.agents/skills/voice in guaardvark/guaardvark) into .claude/skills/voice in your project. Claude Code loads it when a task matches its description.
Run `npx skills add guaardvark/guaardvark --skill voice -a codex`. Or copy the skill folder (.agents/skills/voice in guaardvark/guaardvark) into .agents/skills/voice 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 guaardvark/guaardvark --skill voice -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/voice, .gemini/skills/voice, .github/skills/voice and .opencode/skills/voice in your project.
Going by SKILL.md and its folder, Voice needs the command-line tools its instructions call (curl).
SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. 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.
Voice is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 798 tokens (SKILL.md is roughly 3.2k 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 Voice: Audio Ducking (sonilo-ai/skills, 115 stars), Auto Dubbing (sonilo-ai/skills, 115 stars), Proofread (sonilo-ai/skills, 115 stars) and Task Recovery (sonilo-ai/skills, 115 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
guaardvark (a GitHub user) maintains it in guaardvark/guaardvark, which has 257 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 9, 2026.
Source: guaardvark/guaardvark on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.