Elevenlabs Agents
sundial-org/awesome-openclaw-skills
Create, manage, and deploy ElevenLabs conversational AI agents.
Gives any OpenClaw agent a complete voice layer via ElevenLabs.
$ npx skills add LeoYeAI/openclaw-master-skills --skill voice-agent-pro-v3 -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills voice-agent-pro-v3 --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/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/voice-agent-pro-v1 .claude/skills/voice-agent-pro-v3 && 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-pro-v3" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/voice-agent-pro-v1 into .claude/skills/voice-agent-pro-v3/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice-agent-pro-v3", 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/LeoYeAI/openclaw-master-skills/tree/main/skills/voice-agent-pro-v1Type 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 LeoYeAI/openclaw-master-skills --skill voice-agent-pro-v3 -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills voice-agent-pro-v3 --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/voice-agent-pro-v1 .agents/skills/voice-agent-pro-v3 && 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-pro-v3" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/voice-agent-pro-v1 into .agents/skills/voice-agent-pro-v3/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice-agent-pro-v3", 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 LeoYeAI/openclaw-master-skills --skill voice-agent-pro-v3 -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills voice-agent-pro-v3 --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/voice-agent-pro-v1 .cursor/skills/voice-agent-pro-v3 && 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-pro-v3" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/voice-agent-pro-v1 into .cursor/skills/voice-agent-pro-v3/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice-agent-pro-v3", 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/LeoYeAI/openclaw-master-skills.git --path skills/voice-agent-pro-v1--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 LeoYeAI/openclaw-master-skills --skill voice-agent-pro-v3 -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills voice-agent-pro-v3 --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/voice-agent-pro-v1 .gemini/skills/voice-agent-pro-v3 && 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-pro-v3" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/voice-agent-pro-v1 into .gemini/skills/voice-agent-pro-v3/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice-agent-pro-v3", 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 LeoYeAI/openclaw-master-skills voice-agent-pro-v3Installs 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 LeoYeAI/openclaw-master-skills --skill voice-agent-pro-v3 -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/voice-agent-pro-v1 .github/skills/voice-agent-pro-v3 && 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-pro-v3" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/voice-agent-pro-v1 into .github/skills/voice-agent-pro-v3/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice-agent-pro-v3", 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 LeoYeAI/openclaw-master-skills --skill voice-agent-pro-v3 -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills voice-agent-pro-v3 --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/voice-agent-pro-v1 .opencode/skills/voice-agent-pro-v3 && 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-pro-v3" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/voice-agent-pro-v1 into .opencode/skills/voice-agent-pro-v3/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice-agent-pro-v3", 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.
voice-agent-pro-v3Gives any OpenClaw agent a complete voice layer via ElevenLabs.
Voice Agent Pro V3 is an agent skill from LeoYeAI/openclaw-master-skills. Gives any OpenClaw agent a complete voice layer via ElevenLabs. Clones the principal's voice from audio samples, converts any text to MP3 audio (VSL, podcasts, video narrations, nurturing sequences), and deploys a conversational AI agent for automated inbound and outbound calls via Twilio. Use when the agent needs to generate audio content, call leads, or answer prospects 24/7 in the principal's cloned voice. Requires ELEVENLABSAPIKEY and ELEVENLABSVOICEID — see Setup section in SKILL.md.
Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files (for example `README.md`, `_meta.json` and `agent_prompt.md`).
It sits in Media & Creative, covering Text to speech and voice and Speech recognition and synthesis. It works with ElevenLabs and Twilio. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. 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.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
python3apt-getcurlpipffmpegdockerFrom 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:
elevenlabs.ioapi.elevenlabs.ioFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ELEVENLABS_API_KEYTWILIO_AUTH_TOKENTELEGRAM_BOT_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Voice Agent Pro V3 loads about 4.6k tokens when it runs. Until then it costs about 129 tokens; SKILL.md has 302 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 noted patterns worth knowing about, such as sudo or a known installer.
NLABS_API_KEY and ELEVENLABS_VOICE_ID in .env→ Add to your agent .env file: ELEVENLABS_API_KEY=sk_...# Add to your agent .env: ELEVENLABS_VOICE_ID=$VOICE_ID# Add to your agent .env file:Update .env and restart agent containerRAM_BOT_TOKEN → already in your agent .envRAM_CHAT_ID → already in your agent .env[ ] ELEVENLABS_API_KEY added to agent .env[ ] ELEVENLABS_VOICE_ID added to agent .env (after cloning)→ "API key invalid [date] — check agent .env"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 LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 302 words, ~4,565 tokens.
.claude/skills/voice-agent-pro-v3/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub."The most trusted voice in any room is the one that sounds like you."
This skill gives the principal a voice — their own voice — deployed at scale.
LAYER 1 — VOICE SETUP
Clones the principal's voice from MP3 samples via ElevenLabs API
Requires ELEVENLABS_API_KEY and ELEVENLABS_VOICE_ID in .env
Full setup guide with all commands: references/setup_guide.md
LAYER 2 — TEXT TO SPEECH
Converts any text to MP3 using the principal's cloned voice
VSL scripts, podcast intros, video narrations, email audio versions
LAYER 3 — CONVERSATIONAL AGENT (with Twilio)
Outbound calls to leads — automated follow-up
Inbound calls — answers 24/7, qualifies, reportsThe agent runs these commands inside the OpenClaw container.
If you prefer to run them manually from your VPS host, use:
docker exec openclaw-yyvg-openclaw-1 pip install elevenlabs --break-system-packages
# Inside the container (agent runs this directly)
pip install elevenlabs --break-system-packages
pip install twilio --break-system-packages
apt-get update && apt-get install -y ffmpeg
# Verify
ffmpeg -version | head -1
python3 -c "from elevenlabs.client import ElevenLabs; print('✅ SDK ready')"Note:
--break-system-packagesis required on Ubuntu 24.04 / Debian 12+ containers. If you get an "externally-managed-environment" error, this flag resolves it. On older systems, plainpip install elevenlabsworks.
OPTION A — Via virtual-desktop (if installed)
If the virtual-desktop skill is installed and a Google session
is active in the browser, the agent can navigate elevenlabs.io
and create the API key automatically:
→ Go to: https://elevenlabs.io/app/sign-in
→ Click "Continue with Google" (uses active session)
→ Navigate: Developers → API Keys → Create API Key
→ Copy the key and run apply-config (Step 6)
OPTION B — Manual (recommended for first setup)
→ Go to: https://elevenlabs.io/app/settings/api-keys
→ Click "Create API Key" → name it → copy it
→ Add to your agent .env file: ELEVENLABS_API_KEY=sk_...# Verify it works
curl -s https://api.elevenlabs.io/v1/user \
-H "xi-api-key: $ELEVENLABS_API_KEY" | python3 -m json.tool
# Expected: JSON with subscription info — if 401, key is wrongProvide 3 MP3 files of your voice (30-60 seconds each, clear audio)
in /workspace/voice/samples/ before running this step.
from elevenlabs.client import ElevenLabs
import json, os
client = ElevenLabs(api_key=os.environ["ELEVENLABS_API_KEY"])
voice = client.voices.ivc.create(
name="[AGENT_VOICE_NAME]",
description="[PRINCIPAL_NAME] cloned voice",
files=[
"/workspace/voice/samples/sample_01.mp3",
"/workspace/voice/samples/sample_02.mp3",
"/workspace/voice/samples/sample_03.mp3",
],
)
print(f"Voice ID: {voice.voice_id}")
# Save to config.json
with open("/workspace/voice/config.json") as f:
config = json.load(f)
config["ELEVENLABS_VOICE_ID"] = voice.voice_id
with open("/workspace/voice/config.json", "w") as f:
json.dump(config, f, indent=2)
print("✅ Voice ID saved to config.json")VOICE_ID=$(curl -s -X POST https://api.elevenlabs.io/v1/voices/add \
-H "xi-api-key: $ELEVENLABS_API_KEY" \
-F "name=[AGENT_VOICE_NAME]" \
-F "description=[PRINCIPAL_NAME] cloned voice" \
-F "files=@/workspace/voice/samples/sample_01.mp3" \
-F "files=@/workspace/voice/samples/sample_02.mp3" \
-F "files=@/workspace/voice/samples/sample_03.mp3" \
| python3 -c "import sys,json; print(json.load(sys.stdin)['voice_id'])")
echo "Voice ID: $VOICE_ID"
# Add to your agent .env: ELEVENLABS_VOICE_ID=$VOICE_IDcurl -s https://api.elevenlabs.io/v1/voices \
-H "xi-api-key: $ELEVENLABS_API_KEY" \
| python3 -c "
import sys, json
for v in json.load(sys.stdin)['voices']:
print(f"{v['voice_id']} | {v['name']} | {v['category']}")
"python3 -c "
from elevenlabs.client import ElevenLabs
import os, json
with open('/workspace/voice/config.json') as f:
cfg = json.load(f)
client = ElevenLabs(api_key=cfg['ELEVENLABS_API_KEY'])
audio = client.text_to_speech.convert(
text='Voice clone test successful.',
voice_id=cfg['ELEVENLABS_VOICE_ID'],
model_id='eleven_multilingual_v2',
output_format='mp3_44100_128',
)
import os; os.makedirs('/workspace/voice/output', exist_ok=True)
with open('/workspace/voice/output/test_clone.mp3', 'wb') as f:
for chunk in audio:
f.write(chunk)
print('✅ Test audio: /workspace/voice/output/test_clone.mp3')
"# Apply credentials to config.json (no container restart needed)
python3 /workspace/voice/scripts/voice_generator.py apply-config \
--api-key "$ELEVENLABS_API_KEY" \
--voice-id "$ELEVENLABS_VOICE_ID"
# Verify everything is ready
python3 /workspace/voice/scripts/voice_generator.py status
# Expected:
# API Key: ✅ configured
# Voice ID: ✅ abc123...The skill reads credentials from config.json at runtime — no container restart needed after updating credentials.
For browser dashboard navigation guide (step-by-step with screenshots):
references/setup_guide.md
Converts any text to audio using the principal's cloned voice.
VSL (Video Sales Letter)
Input: /workspace/voice/scripts/vsl_[offer].md
Output: /workspace/voice/output/vsl_[offer].mp3
Use: record your VSL once — never again
PODCAST INTRO / OUTRO
Input: /workspace/voice/scripts/podcast_[episode].md
Output: /workspace/voice/output/podcast_[episode].mp3
VIDEO NARRATION
Input: text from content-creator-pro queue
Output: MP3 ready for CapCut / video editor
EMAIL AUDIO VERSION
Input: email text from acquisition-master sequences
Output: MP3 attached or linked in email
SOCIAL AUDIO CLIPS
Input: hook text from content-creator-pro
Output: 15-30 second MP3 for Instagram, Twitter Spaceseleven_flash_v2_5 → 75ms latency — use for real-time / calls
eleven_multilingual_v2 → best quality — use for VSL / podcasts
eleven_v3 → most expressive — use for storytelling content1. Read script from /workspace/voice/scripts/[name].md
2. Split into chunks of max 900 characters (sentence boundaries)
3. Call ElevenLabs TTS API for each chunk
4. Concatenate chunks with ffmpeg → single MP3
5. Save to /workspace/voice/output/[name].mp3
6. Log to AUDIT.md: "TTS generated: [name].mp3 — [duration]s"
7. Notify principal via Telegram with file path# Generate from text
python3 /workspace/voice/scripts/voice_generator.py tts \
--text "Hello, this is [PRINCIPAL_NAME]." \
--output /workspace/voice/output/hello.mp3
# Generate from script file
python3 /workspace/voice/scripts/voice_generator.py tts \
--script /workspace/voice/scripts/vsl_offer.md \
--model eleven_multilingual_v2
# Check status
python3 /workspace/voice/scripts/voice_generator.py status# Add to your agent .env file:
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=your_auth_token
TWILIO_PHONE_NUMBER=+1234567890
# Twilio account: console.twilio.com
# Phone number: ~$1/month1. Go to: https://elevenlabs.io/app/conversational-ai
2. Click "Create Agent"
3. Name: "[PRINCIPAL_NAME] Sales Agent"
4. Voice: select "[AGENT_VOICE_NAME]"
5. Agent instructions: paste content from templates/agent_prompt.md
6. Save → copy Agent ID → save to config.json
7. Tab "Phone Numbers" → "Add Phone Number"
8. Enter TWILIO_ACCOUNT_SID + TWILIO_AUTH_TOKEN
9. Select TWILIO_PHONE_NUMBER
10. ElevenLabs configures Twilio automaticallyTriggered by:
→ acquisition-master: lead didn't open email after 3 days
→ funnel-builder: lead clicked pricing page but didn't buy
→ Manual: principal requests call to specific number
Call flow:
1. Agent reads lead data from /workspace/voice/calls/pending/
2. Personalizes call script with lead name + context
3. Initiates outbound call via ElevenLabs + Twilio
4. Conversation in real-time (principal's cloned voice)
5. Transcript saved to /workspace/voice/calls/history/
6. Outcome: interested / not_interested / callback / voicemail
7. Telegram notification with transcript summary
Call schedule: Mon-Fri 9h-19h only
Max voicemails: 1 per lead per weekWhen someone calls the Twilio number:
→ Agent answers in principal's cloned voice
→ 3 qualification questions:
Q1: "What's your current situation with [niche problem]?"
Q2: "Have you tried to solve this before?"
Q3: "What would your ideal outcome look like?"
→ Score 8-10: hot lead → books call via Calendly
→ Score 5-7: warm lead → sends free resource by SMS
→ Score 1-4: cold lead → polite close
→ Transcript + score → /workspace/voice/calls/history/
→ Telegram: "📞 Inbound call — [score]/10 — [summary]"Score 8-10 → hot lead → immediate Telegram alert to principal
Score 5-7 → warm lead → add to nurture sequence
Score 1-4 → cold lead → send free resource, no follow-up 30 days# List pending calls
python3 /workspace/voice/scripts/voice_generator.py calls --action list
# Weekly call summary
python3 /workspace/voice/scripts/voice_generator.py calls --action summaryPROBLEM: "Insufficient credits" / 403 error
Solution: Check plan at elevenlabs.io/app/subscription
IVC requires Starter ($5/month) minimum
Action: upgrade at https://elevenlabs.io/pricing
PROBLEM: Clone sounds robotic or wrong
Causes:
→ Audio files too short (< 30 seconds each)
→ Background noise in samples
→ Multiple speakers in same file
Solution:
→ Delete the bad clone:
curl -X DELETE https://api.elevenlabs.io/v1/voices/$VOICE_ID \
-H "xi-api-key: $ELEVENLABS_API_KEY"
→ Record better samples (quieter, longer, more natural)
→ Re-run cloning
PROBLEM: Voice ID not found when calling TTS
Solution:
curl -s https://api.elevenlabs.io/v1/voices \
-H "xi-api-key: $ELEVENLABS_API_KEY" \
| python3 -m json.tool | grep -A2 "[AGENT_VOICE_NAME]"
PROBLEM: "Invalid API key" (401 on all requests)
Solution: Regenerate at https://elevenlabs.io/app/settings/api-keys
Update .env and restart agent container
PROBLEM: ffmpeg not found
Solution: apt-get update && apt-get install -y ffmpeg
Verify: ffmpeg -versionBase URL : https://api.elevenlabs.io
Auth : xi-api-key: YOUR_KEY
GET /v1/user → account + subscription info
GET /v1/voices → list all voices
POST /v1/voices/add → create IVC clone (multipart form)
DELETE /v1/voices/{id} → delete a voice
POST /v1/text-to-speech/{id} → generate audio (JSON body)
GET /v1/models → list available modelsMINIMUM (TTS only):
ELEVENLABS_API_KEY → elevenlabs.io → Developers → API Keys
ELEVENLABS_VOICE_ID → created after voice cloning (see Step 3)
3 MP3 voice samples → /workspace/voice/samples/ (30-60s each)
FOR CALLS (add):
TWILIO_ACCOUNT_SID → console.twilio.com
TWILIO_AUTH_TOKEN → console.twilio.com
TWILIO_PHONE_NUMBER → buy a number on Twilio (~$1/month)
AGENT ALREADY HAS:
TELEGRAM_BOT_TOKEN → already in your agent .env
TELEGRAM_CHAT_ID → already in your agent .envMinimum : 1 file × 30 seconds
Recommended : 3 files × 1-2 minutes each
Optimal (Professional Clone) : 30+ minutes total
Quality:
→ Clear voice, no background noise
→ Natural speech rhythm
→ Consistent microphone distance
→ Format: MP3, WAV, M4A, FLAC all accepted
→ No multiple speakers in same file
ElevenLabs plan required:
IVC (Instant Voice Clone) : Starter plan ($5/month)
PVC (Professional, hyper-realistic) : Creator plan ($22/month)[ ] pip install elevenlabs --break-system-packages
[ ] pip install twilio --break-system-packages (if using calls)
[ ] apt-get update && apt-get install -y ffmpeg
[ ] 3 MP3 samples uploaded to /workspace/voice/samples/
[ ] ELEVENLABS_API_KEY added to agent .env
[ ] ELEVENLABS_VOICE_ID added to agent .env (after cloning)
[ ] python3 voice_generator.py apply-config --api-key ... --voice-id ...
[ ] voice_generator.py status shows ✅ API Key and Voice ID
[ ] Test TTS successful (output MP3 plays correctly)
[ ] (Optional) Twilio credentials added for calls# Outbound follow-up calls — Mon-Fri 10h
0 10 * * 1-5 voice-agent-pro-v3 → process /workspace/voice/calls/pending/
# Weekly VSL refresh — Sunday 11h
0 11 * * 0 voice-agent-pro-v3 → regenerate VSLs if scripts updated
# Call transcript review — Monday 9h
0 9 * * 1 python3 /workspace/voice/scripts/voice_generator.py calls --action summary| File | Frequency | Content |
|---|---|---|
/workspace/voice/config.json | Once (setup) | API keys, Voice ID, Agent ID |
/workspace/voice/output/*.mp3 | Per generation | Generated audio files |
/workspace/voice/calls/pending/*.json | Per lead | Calls to make |
/workspace/voice/calls/history/*.json | Per call | Transcript + outcome + score |
/workspace/.learnings/LEARNINGS.md | Weekly | Call patterns, best scripts |
/workspace/.learnings/ERRORS.md | On error | API errors, setup failures |
/workspace/AUDIT.md | On event | TTS generated, calls made, alerts |
/workspace/voice/
├── config.json ← API keys + Voice ID (from templates/config.json)
├── samples/ ← MP3 voice samples (you provide, 30-60s each)
│ ├── sample_01.mp3
│ ├── sample_02.mp3
│ └── sample_03.mp3
├── scripts/ ← Text scripts to convert to audio
│ └── [name].md
├── output/ ← Generated MP3 files
│ └── [name].mp3
├── calls/
│ ├── pending/ ← Calls to make (written by acquisition-master)
│ │ └── [lead_id].json
│ └── history/ ← Completed call transcripts
│ └── [date]-[lead_id].json
└── references/
└── setup_guide.md ← Full setup commands + browser dashboard guide❌ Never store voice samples outside /workspace/voice/samples/
❌ Never use the cloned voice to impersonate anyone other than the principal
❌ Never make calls outside working hours (9h-19h Mon-Fri)
❌ Never leave more than 1 voicemail per lead per week
❌ Never fabricate call transcripts or outcomes
✅ Always log every call with transcript to calls/history/
✅ Always notify principal when a hot lead (score 8+) calls
✅ Always respect lead's request to not be contacted again
✅ If ELEVENLABS_API_KEY missing → log to ERRORS.md, notify principal
✅ If voice samples missing → pause cloning, notify principal
✅ Consent: only clone and use the voice of the principal with explicit consentERROR: ELEVENLABS_API_KEY invalid or missing
Action: Verify at https://elevenlabs.io/app/settings/api-keys
Log: ERRORS.md → "API key invalid [date] — check agent .env"
ERROR: Voice samples missing
Action: Do NOT attempt voice cloning
Notify: via Telegram → "Upload 3 MP3 samples to /workspace/voice/samples/"
Log: AUDIT.md → "Voice setup paused — samples missing"
ERROR: API rate limit hit (429)
Action: Wait 60 seconds, retry once
If still failing: queue job for next hour
Log: ERRORS.md → "Rate limit hit — job queued [date]"
ERROR: Twilio call fails
Action: Log failure, mark lead as call_failed in pending/
Retry: next day same time slot
Log: ERRORS.md → "Call failed: [lead_id] — [error] [date]"
ERROR: ffmpeg not found
Action: apt-get update && apt-get install -y ffmpeg
Log: ERRORS.md → "ffmpeg missing — install attempted [date]"
ERROR: ELEVENLABS_VOICE_ID not set
Action: Run voice cloning (Step 3 in Setup section above)
Log: AUDIT.md → "Voice ID missing — cloning required"© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files in skills/voice-agent-pro-v1 of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Voice Agent Pro V3 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 Agent Pro V3 this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.6k | Automated safety check: Notes | MIT | |
| Elevenlabs Agentssundial-org/awesome-openclaw-skills | 663 | — | ~1.1k | Automated safety check: Pass | None | |
| Speech To Texttadaspetra/loop | 296 | 2 repos | ~2k | Automated safety check: Pass | MIT | |
| Video Productionspeechlab0210/video-production-skill | 105 | — | ~4.1k | Automated safety check: Notes | MIT | |
| Local AI Useamd/skills | 408 | — | ~5k | Automated safety check: Notes | MIT | |
| Summarize Callreysu/ai-life-skills | 270 | — | ~3.8k | Automated safety check: Notes | MIT |
sundial-org/awesome-openclaw-skills
Create, manage, and deploy ElevenLabs conversational AI agents.
tadaspetra/loop
Transcribe audio to text using ElevenLabs Scribe v2. An agent skill from tadaspetra/loop.
speechlab0210/video-production-skill
AI educational video production pipeline. An agent skill from speechlab0210/video-production-skill.
amd/skills
Makes this agent generate images, transcribe audio, and synthesize speech on the user's own machine through a local Lemonade Server instead of a paid cloud API.
reysu/ai-life-skills
Transcribe a call recording with speaker diarization, summarize it, and create Obsidian vault notes (call note, transcript, person notes for participants).
elevenlabs/skills
Add real-time voice conversations to a custom agent runtime with ElevenLabs Speech Engine.
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Works with
Categories
Gives any OpenClaw agent a complete voice layer via ElevenLabs. Voice Agent Pro V3 is an agent skill from LeoYeAI/openclaw-master-skills. Gives any OpenClaw agent a complete voice layer via ElevenLabs.
Voice Agent Pro V3 fits situations like: the agent needs to generate audio content; answer prospects 24/7 in the principals cloned voice.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill voice-agent-pro-v3 -a claude-code`. Or copy the skill folder (skills/voice-agent-pro-v1 in LeoYeAI/openclaw-master-skills) into .claude/skills/voice-agent-pro-v3 in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill voice-agent-pro-v3 -a codex`. Or copy the skill folder (skills/voice-agent-pro-v1 in LeoYeAI/openclaw-master-skills) into .agents/skills/voice-agent-pro-v3 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 LeoYeAI/openclaw-master-skills --skill voice-agent-pro-v3 -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-agent-pro-v3, .gemini/skills/voice-agent-pro-v3, .github/skills/voice-agent-pro-v3 and .opencode/skills/voice-agent-pro-v3 in your project.
Going by SKILL.md and its folder, Voice Agent Pro V3 needs Python for the scripts in its folder, the command-line tools its instructions call (python3, apt-get, curl, pip, ffmpeg and docker) and credentials named ELEVENLABS_API_KEY, TWILIO_AUTH_TOKEN and TELEGRAM_BOT_TOKEN. Our summary lists: Python 3; Docker; A credential in ELEVENLABS_API_KEY; A credential in TELEGRAM_BOT_TOKEN.
SKILL.md names 2 domains. In commands or code: elevenlabs.io and api.elevenlabs.io; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Voice Agent Pro V3 is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.6k tokens (SKILL.md is roughly 18k 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 Agent Pro V3: Elevenlabs Agents (sundial-org/awesome-openclaw-skills, 663 stars), Speech To Text (tadaspetra/loop, 296 stars), Video Production (speechlab0210/video-production-skill, 105 stars) and Local AI Use (amd/skills, 408 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.