voice-clone
Clone a voice from reference audio into a reusable private ListenHub speaker, then use it for narration.
Skill by marswaveai
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/marswaveai-voice-clone
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/voice-clone
What's inside
- Skill name
voice-clone- Description
- Clone a voice from reference audio into a reusable private ListenHub speaker, then use it for narration. Triggers on: "克隆我的声音", "克隆音色", "声音克隆", "语音克隆", "用我的声音", "自定义音色", "复刻声音", "clone my voice", "voice clone", "custom voice", "my own voice".
- License
- MIT
- Instructions
- 159 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
## When to Use - User wants to clone a voice from a recording and **keep it** for later use - User says "用我自己的声音朗读", "克隆我的声音", "clone my voice", "custom voice" - User wants to manage voices they already cloned (list, rename, delete) - User hit the voice limit and needs to free a slot ## When NOT to Use - User wants a **one-off** reference-audio clone inside a single generation, with nothing stored — use `/listenhub-voice` with a `reference` voice instead - User just wants an existing ListenHub voice to read text (use `/tts`) - User wants a podcast, explainer video, music, or AI video (use those skills) `/listenhub-voice` vs `/voice-clone`: `/listenhub-voice` clones a voice **for that one request** from a public audio URL and stores nothing. `/voice-clone` creates a **persistent private speaker** with its own speaker ID that works in `/tts`, `/podcast`, and every other ListenHub surface — at the cost of a confirmation step, a plan quota, and a stored voice slot. ## Purpose Turn 1–6 reference audio files into a reusable private voice: 1. **Create** — upload the reference audio; the task clones a temporary voice. 2. **Poll** — wait for cloning to finish and listen to the preview. 3. **Confirm** — name the voice and keep it. Only then does it become a permanent speaker. Confirming is what costs: free within the plan's per-period quota, then 300 credits each, and only when the user explicitly authorizes the charge. Unconfirmed tasks expire after 7 days. ## Hard Constraints - Always check CLI auth following `shared/cli-authentication.md` - Follow `shared/cli-patterns.md` for CLI execution, errors, and interaction patterns - Always read config following `shared/config-pattern.md` before any interaction - **Never confirm a voice without the user's explicit go-ahead** — confirming can spend 300 credits. Show the preview first, then ask. - **Never pass `--use-credits` unless the user said yes to spending credits** in this conversation. Without it the server refuses to charge, which is the safe default. - **Never clone a voice the user does not have consent for.** If the recording is not the user's own voice, ask whether they have the speaker's permission before uploading, and stop if they do not. - Never invent a speaker ID — read it back from `voice-clone speakers` after confirming - Never expose provider names, internal task states, DAO, MongoDB, or credential details <HARD-GATE> Use the AskUserQuestion tool for every multiple-choice step — do NOT print options as plain text. Ask one question at a time. Wait for the user's answer before proceeding. Confirming a clone spends credits once the quota is used up, so never run `voice-clone confirm` (or pass `--auto-confirm`) before the user has explicitly said to keep the voice. </HARD-GATE> ## Prerequisites ```bash listenhub auth status --json ``` Handle install/login automatically per `shared/cli-authentication.md`. Voice cloning requires a paid plan — a free account gets an upgrade error at the confirm step. ## Workflow ### Step 1 — Collect the reference audio Ask for the audio file path(s) if the user did not provide one. Accept 1–6 local files (`.mp3`, `.wav`, `.m4a`, `.flac`, `.ogg`, `.aac`); a single file is the common case. Limits worth stating up front: single file ≤5MB, ≤20MB total. Clean speech with no background music clones best. ### Step 2 — Confirm consent If the recording is not the user's own voice, ask whether they have the speaker's permission. Stop if they do not — cloning someone's voice without consent is not something to work around. ### Step 3 — Pick the language Ask which language the recording is in: `zh` or `en`. ### Step 4 — Create and wait ```bash listenhub voice-clone create --file <path> --lang <zh|en> --json ``` Repeat `--file` for multiple files. The command polls until cloning finishes and returns `demoAudioUrl`, a preview of the temporary voice. `--no-wait` returns the task ID immediately; `listenhub voice-clone get <taskId> --json` checks it later. If the task fails, report the reason plainly — usually the audio was too short, too long, or had no clear speech — and offer to retry with a different recording. ### Step 5 — Preview, then ask before keeping it Give the user the preview URL and ask whether to keep this voice. Do not confirm on your own initiative. If they want to keep it, ask for a name (max 50 chars) and gender (`male` / `female` / `other`), then: ```bash listenhub voice-clone confirm --task-id <taskId> --name "<name>" --gender <gender> --json ``` If the response says the quota is used up and 300 credits are needed, **ask the user before spending them**. Only after an explicit yes: ```bash listenhub voice-clone confirm --task-id <taskId> --name "<name>" --gender <gender> --use-credits --json ``` ### Step 6 — Hand back the speaker ID ```bash listenhub voice-clone speakers --json ``` Read the new voice's `speakerInnerId` from the list and tell the user they can now use it
From marswaveai/skills, MIT.
More from marswaveai/skills
- 0.636score
universal-email
marswaveai
Use the bundled Himalaya 2 CLI to connect IMAP/SMTP or Microsoft Graph mailboxes and list, search, read, compose, reply, forward, move, delete, flag, and…
SkillBFreshness: B★ 80Claude Code +9 - 0.636score
tts
marswaveai
Text-to-speech and voice narration.
SkillBFreshness: B★ 80Claude Code +9 - 0.636score
podcast
marswaveai
Create podcasts from topics, URLs, or text.
SkillBFreshness: B★ 80Claude Code +9 - 0.632score
icloud-calendar
marswaveai
List iCloud calendars and read, create, update, or delete iCloud Calendar events with the icloud-calendar CLI.
SkillBFreshness: B★ 80Claude Code +9 - 0.632score
outlook-calendar
marswaveai
View, create, update, and delete Outlook or Microsoft 365 calendar events with the cola-outlook-calendar CLI.
SkillBFreshness: B★ 80Claude Code +9 - 0.632score
google-calendar
marswaveai
Use the bundled Google Workspace CLI (gws) to read, create, update, and delete Google Calendar events, list calendars, and show agendas.
SkillBFreshness: B★ 80Claude Code +9 - 0.631score
listenhub
marswaveai
ListenHub CLI skills router.
SkillBFreshness: B★ 80Claude Code +9 - 0.631score
listenhub-cli
marswaveai
ListenHub CLI skills router.
SkillBFreshness: B★ 80Claude Code +9 - 0.586score
music
marswaveai
Generate, remix, extend, edit, and analyze AI music (Mureka).
SkillCFreshness: C★ 80Claude Code +9 - 0.586score
image-gen
marswaveai
Generate AI images from text prompts.
SkillCFreshness: C★ 80Claude Code +9 - 0.586score
explainer
marswaveai
Create explainer videos with narration and AI-generated visuals.
SkillCFreshness: C★ 80Claude Code +9 - 0.586score
content-parser
marswaveai
Extract and parse content from URLs.
SkillCFreshness: C★ 80Claude Code +9
Signals
- Stars
- 80
- Forks
- 3
- Open issues
- 0
- Last commit (this folder)
- Jul 31, 2026 (2 months ago)
- Last release
- May 22, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/marswaveai/skills
- Website
- skills.sh/marswaveai/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from marswaveai
- 0.636score
tts
marswaveai
Text-to-speech and voice narration.
SkillBFreshness: B★ 80Claude Code +9 - 0.636score
universal-email
marswaveai
Use the bundled Himalaya 2 CLI to connect IMAP/SMTP or Microsoft Graph mailboxes and list, search, read, compose, reply, forward, move, delete, flag, and…
SkillBFreshness: B★ 80Claude Code +9 - 0.636score
podcast
marswaveai
Create podcasts from topics, URLs, or text.
SkillBFreshness: B★ 80Claude Code +9 - 0.632score
google-calendar
marswaveai
Use the bundled Google Workspace CLI (gws) to read, create, update, and delete Google Calendar events, list calendars, and show agendas.
SkillBFreshness: B★ 80Claude Code +9 - 0.632score
icloud-calendar
marswaveai
List iCloud calendars and read, create, update, or delete iCloud Calendar events with the icloud-calendar CLI.
SkillBFreshness: B★ 80Claude Code +9 - 0.632score
outlook-calendar
marswaveai
View, create, update, and delete Outlook or Microsoft 365 calendar events with the cola-outlook-calendar CLI.
SkillBFreshness: B★ 80Claude Code +9
Cite this page
voice-clone skill. Agent Mart. https://agentmart.dev/skills/marswaveai-voice-clone (last updated 2026-10-24)