Agent skill

Elevenlabs

by sanjay3290 in sanjay3290/ai-skills

Convert documents and text to audio using ElevenLabs text-to-speech.

Apache-2.0Auto-check passedMedia & Creative

Install Elevenlabs

skills CLI
$ npx skills add sanjay3290/ai-skills --skill elevenlabs -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sanjay3290/ai-skills elevenlabs --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sanjay3290/ai-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/elevenlabs .claude/skills/elevenlabs && rm -rf skills-src

Use ~/.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/

Facts

Skill name
elevenlabs
GitHub stars
432
Token cost
~1.1k tokens
SKILL.md length
324 words
Files
5 (incl. scripts)
Skills in repo
24
Repo updated
First seen
Licence
Apache-2.0

At a glance

Convert documents and text to audio using ElevenLabs text-to-speech.

  • Works in 5 steps: Extract the document text → Generate a two-host conversation script… → Write the script as a JSON array to a… → …
  • The user wants to create a podcast
  • SKILL.md covers Overview, When to Use This Skill, Setup and Commands, plus 2 more sections
  • Runs Python scripts from its folder; calls python and pip; needs ELEVENLABS_API_KEY

What it does

Elevenlabs is an agent skill from sanjay3290/ai-skills. Convert documents and text to audio using ElevenLabs text-to-speech. Use this skill when the user wants to create a podcast, narrate a document, read aloud text, generate audio from a file, or convert text to speech.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `config.example.json`, `scripts/elevenlabs.py` and `scripts/extract.py`).

It sits in Media & Creative, covering Text to speech and voice. It works with ElevenLabs. The repository describes itself as: 24 cross-platform agent skills for Claude Code, Cursor, Codex & Gemini CLI — databases, messaging, research, TTS, DevOps, and Google Workspace. The licence is Apache-2.0.

When your agent uses it

  • The user wants to create a podcast
  • Narrate a document
  • Read aloud text
  • Generate audio from a file

Example prompts

  • “/elevenlabs”

Requirements

  • Python 3
  • A credential in ELEVENLABS_API_KEY

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Extract the document text
  2. Generate a two-host conversation script from the extracted text. Follow these guidelines
  3. Write the script as a JSON array to a temp file
  4. Generate the podcast
  5. Clean up the temp script file.

What it can do on your machine

Read from SKILL.md and the folder at commit 281d88d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python
    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ELEVENLABS_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Elevenlabs loads about 1.1k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 324 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~57
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

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.

Safety

Auto-check passed

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); the scripts in this folder are not scanned.

SKILL.md

The full file from sanjay3290/ai-skills at commit 281d88d, republished under its Apache-2.0 licence (© sanjay3290). 324 words, ~1,066 tokens.

Download SKILL.mdSave it as .claude/skills/elevenlabs/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
elevenlabs
description
Convert documents and text to audio using ElevenLabs text-to-speech. Use this skill when the user wants to create a podcast, narrate a document, read aloud text, generate audio from a file, or convert text to speech.
license
Apache-2.0
metadata.author
sanjay3290
metadata.version
1.0

ElevenLabs - Text-to-Speech & Podcast Skill

Overview

This skill converts text and documents into high-quality audio using ElevenLabs TTS API. It supports two modes: single-voice narration and two-host conversational podcast generation.

When to Use This Skill

Activate when the user mentions:

  • "create podcast", "generate podcast", "podcast from document"
  • "narrate document", "narrate this file", "read aloud"
  • "text to speech", "TTS", "convert to audio"
  • "audio from document", "audio version of"

Setup

Config at skills/elevenlabs/config.json:

json
{
  "api_key": "your-elevenlabs-api-key",
  "default_voice": "JBFqnCBsd6RMkjVDRZzb",
  "default_model": "eleven_multilingual_v2",
  "podcast_voice1": "JBFqnCBsd6RMkjVDRZzb",
  "podcast_voice2": "EXAVITQu4vr4xnSDxMaL"
}

Only api_key is required. Or set ELEVENLABS_API_KEY env var.

Dependencies: pip install PyPDF2 python-docx (only needed for PDF/DOCX files).

Requires ffmpeg for multi-chunk narration and podcasts.

Commands

List Voices
bash
python skills/elevenlabs/scripts/elevenlabs.py voices
python skills/elevenlabs/scripts/elevenlabs.py voices --json

Use this to find voice IDs for the user.

Single-Voice TTS
bash
# From text
python skills/elevenlabs/scripts/elevenlabs.py tts --text "Hello world" --output ~/Downloads/hello.mp3

# From document
python skills/elevenlabs/scripts/elevenlabs.py tts --file /path/to/doc.pdf --output ~/Downloads/narration.mp3

# With specific voice
python skills/elevenlabs/scripts/elevenlabs.py tts --file doc.md --voice VOICE_ID --output out.mp3

The script handles text extraction, chunking at sentence boundaries (~4000 chars), TTS per chunk with voice continuity, and ffmpeg concatenation automatically.

Podcast Generation

Podcast mode requires a JSON script file with conversation segments:

json
[
  {"speaker": "host1", "text": "Welcome to our podcast! Today we're diving into..."},
  {"speaker": "host2", "text": "That's right! I found the section on..."},
  {"speaker": "host1", "text": "Let's break that down..."}
]
bash
python skills/elevenlabs/scripts/elevenlabs.py podcast --script /tmp/script.json --voice1 ID1 --voice2 ID2 --output ~/Downloads/podcast.mp3

Podcast Workflow (for Claude)

When the user asks to create a podcast from a document:

  1. Extract the document text:

    bash
    python skills/elevenlabs/scripts/extract.py /path/to/document.pdf
  2. Generate a two-host conversation script from the extracted text. Follow these guidelines:

    • Write as a natural, engaging discussion between two hosts
    • Host 1 typically leads/introduces topics, Host 2 adds analysis and reactions
    • Start with a brief intro welcoming listeners and stating the topic
    • End with a summary/outro
    • Keep each turn under 3000 characters
    • Vary turn lengths - mix short reactions with longer explanations
    • Use conversational language: "That's a great point", "What I found interesting was..."
    • Reference specific details from the source document
    • Avoid reading the document verbatim - discuss and interpret it
  3. Write the script as a JSON array to a temp file:

    python
    # Write to /tmp/podcast_script.json
    [
      {"speaker": "host1", "text": "Welcome to today's episode..."},
      {"speaker": "host2", "text": "Thanks for having me..."},
      ...
    ]
  4. Generate the podcast:

    bash
    python skills/elevenlabs/scripts/elevenlabs.py podcast --script /tmp/podcast_script.json --output ~/Downloads/podcast.mp3
  5. Clean up the temp script file.

Show full SKILL.md (47 more words)Show less

Tips

  • Run voices first to let the user pick voices they like
  • For podcasts, suggest voice pairs with contrasting qualities (e.g., one deep, one bright)
  • Default output to ~/Downloads/ unless the user specifies otherwise
  • For large documents, warn the user about character usage on their ElevenLabs plan

© sanjay3290, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (scripts) in skills/elevenlabs of sanjay3290/ai-skills.

  • SKILL.md
  • config.example.json
  • requirements.txt
  • scripts/elevenlabs.py
  • scripts/extract.py

Open the folder on GitHubat commit 281d88d

Compare with similar skills

Elevenlabs 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.

Elevenlabs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Elevenlabs this skillsanjay3290/ai-skills432—~1.1kAutomated safety check: PassApache-2.0
Musictadaspetra/loop2962 repos~827Automated safety check: PassMIT
Sound Effectstadaspetra/loop2962 repos~1.1kAutomated safety check: PassMIT
Elevenlabs Transcribeqdhenry/Claude-Command-Suite1.3k—~1.5kAutomated safety check: NotesNone
Dubbingelevenlabs/skills482—~3.3kAutomated safety check: PassMIT
Sagtrpc-group/trpc-agent-go1.9k15 repos~574Automated safety check: PassApache-2.0

Similar skills

  • Music

    tadaspetra/loop

    Generate music using ElevenLabs Music API. An agent skill from tadaspetra/loop.

    296 GitHub starsUsed in 2 repos~827 tokens
    Media & CreativeAuto-check passed
  • Sound Effects

    tadaspetra/loop

    Generate sound effects from text descriptions using ElevenLabs.

    296 GitHub starsUsed in 2 repos~1.1k tokens
    Media & CreativeAuto-check passed
  • Elevenlabs Transcribe

    qdhenry/Claude-Command-Suite

    Transcribes audio/video files using ElevenLabs Scribe v2 API.

    1.3k GitHub stars~1.5k tokensUpdated 7 mo ago
    Media & CreativeAuto-check: notes
  • Dubbing

    elevenlabs/skills

    Dub audio and video into other languages using the ElevenLabs Dubbing API (dubbingv2), preserving the original speakers' voices.

    482 GitHub stars~3.3k tokensUpdated today
    Media & CreativeAuto-check passed
  • Sag

    trpc-group/trpc-agent-go

    ElevenLabs text-to-speech with mac-style say UX. An agent skill from trpc-group/trpc-agent-go.

    1.9k GitHub starsUsed in 15 repos~574 tokens
    Media & CreativeAuto-check passed
  • Music

    bozhouDev/video-skills-toolkit

    Generate music using ElevenLabs Music API. An agent skill from bozhouDev/video-skills-toolkit.

    150 GitHub stars~3.6k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed

More from sanjay3290/ai-skills

All 24 skills in this repo
  • Deep Research

    sanjay3290/ai-skills

    Execute autonomous multi-step research using Google Gemini Deep Research Agent.

    432 GitHub starsUsed in 9 repos~683 tokens
    Auto-check: notes
  • Imagen

    sanjay3290/ai-skills

    Generate images using Google Gemini's image generation capabilities.

    432 GitHub starsUsed in 6 repos~657 tokens
    Auto-check passed
  • Notebooklm

    sanjay3290/ai-skills

    Query and manage Google NotebookLM notebooks with persistent profile auth, source sync, batch/multi queries, and structured exports.

    432 GitHub stars~655 tokensUpdated 29 days ago
    Auto-check passed
  • Whatsapp

    sanjay3290/ai-skills

    Send and receive WhatsApp messages via the unofficial linked-device client pywhats (pip install pywhats) — pair with QR, send text/images, group chat, read receipts, presence/typing, and a…

    432 GitHub stars~1.1k tokensUpdated 29 days ago
    Auto-check passed
  • Postgres

    sanjay3290/ai-skills

    Execute read-only SQL queries against multiple PostgreSQL databases.

    432 GitHub starsUsed in 1 repo~975 tokens
    Auto-check passed
  • Atlassian

    sanjay3290/ai-skills

    Manage Jira issues and Confluence wiki pages in Atlassian Cloud.

    432 GitHub stars~1.6k tokensUpdated 29 days ago
    Auto-check passed

Works with

Questions about Elevenlabs

What does Elevenlabs do?

Convert documents and text to audio using ElevenLabs text-to-speech. Elevenlabs is an agent skill from sanjay3290/ai-skills. Convert documents and text to audio using ElevenLabs text-to-speech.

When should I use Elevenlabs?

Elevenlabs fits situations like: the user wants to create a podcast; narrate a document; read aloud text; generate audio from a file.

How do I install Elevenlabs in Claude Code?

Run `npx skills add sanjay3290/ai-skills --skill elevenlabs -a claude-code`. Or copy the skill folder (skills/elevenlabs in sanjay3290/ai-skills) into .claude/skills/elevenlabs in your project. Claude Code loads it when a task matches its description.

How do I install Elevenlabs in Codex?

Run `npx skills add sanjay3290/ai-skills --skill elevenlabs -a codex`. Or copy the skill folder (skills/elevenlabs in sanjay3290/ai-skills) into .agents/skills/elevenlabs in your project. Codex loads it when a task matches its description.

Can I use Elevenlabs in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sanjay3290/ai-skills --skill elevenlabs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/elevenlabs, .gemini/skills/elevenlabs, .github/skills/elevenlabs and .opencode/skills/elevenlabs in your project.

What does Elevenlabs need to run?

Going by SKILL.md and its folder, Elevenlabs needs Python for the scripts in its folder, the command-line tools its instructions call (python and pip) and credentials named ELEVENLABS_API_KEY. Our summary lists: Python 3; A credential in ELEVENLABS_API_KEY.

Does Elevenlabs access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Elevenlabs safe to install?

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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Elevenlabs use?

Elevenlabs is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Elevenlabs use?

About 1.1k tokens (SKILL.md is roughly 4.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Elevenlabs?

Skills that share tags, products or a category with Elevenlabs: Music (tadaspetra/loop, 296 stars), Sound Effects (tadaspetra/loop, 296 stars), Elevenlabs Transcribe (qdhenry/Claude-Command-Suite, 1.3k stars) and Dubbing (elevenlabs/skills, 482 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Elevenlabs?

sanjay3290 (a GitHub user) maintains it in sanjay3290/ai-skills, which has 432 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on September 10, 2026.

Source: sanjay3290/ai-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.