Agents
elevenlabs/skills
Build voice AI agents with ElevenLabs. An agent skill from elevenlabs/skills.
Build voice AI agents with ElevenLabs. An agent skill from tadaspetra/loop.
$ npx skills add tadaspetra/loop --skill agents -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tadaspetra/loop agents --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/tadaspetra/loop.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/agents .claude/skills/agents && 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 "agents" agent skill from https://github.com/tadaspetra/loop/tree/main/.agents/skills/agents into .claude/skills/agents/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agents", 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/tadaspetra/loop/tree/main/.agents/skills/agentsType 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 tadaspetra/loop --skill agents -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tadaspetra/loop agents --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tadaspetra/loop.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/agents .agents/skills/agents && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "agents" agent skill from https://github.com/tadaspetra/loop/tree/main/.agents/skills/agents into .agents/skills/agents/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agents", 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 tadaspetra/loop --skill agents -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tadaspetra/loop agents --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tadaspetra/loop.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/agents .cursor/skills/agents && 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 "agents" agent skill from https://github.com/tadaspetra/loop/tree/main/.agents/skills/agents into .cursor/skills/agents/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agents", 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/tadaspetra/loop.git --path .agents/skills/agents--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 tadaspetra/loop --skill agents -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tadaspetra/loop agents --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tadaspetra/loop.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/agents .gemini/skills/agents && 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 "agents" agent skill from https://github.com/tadaspetra/loop/tree/main/.agents/skills/agents into .gemini/skills/agents/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agents", 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 tadaspetra/loop agentsInstalls 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 tadaspetra/loop --skill agents -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tadaspetra/loop.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/agents .github/skills/agents && 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 "agents" agent skill from https://github.com/tadaspetra/loop/tree/main/.agents/skills/agents into .github/skills/agents/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agents", 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 tadaspetra/loop --skill agents -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tadaspetra/loop agents --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tadaspetra/loop.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/agents .opencode/skills/agents && 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 "agents" agent skill from https://github.com/tadaspetra/loop/tree/main/.agents/skills/agents into .opencode/skills/agents/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agents", 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.
agentsBuild voice AI agents with ElevenLabs. An agent skill from tadaspetra/loop.
Agents is an agent skill from tadaspetra/loop. Build voice AI agents with ElevenLabs. Use when creating voice assistants, customer service bots, interactive voice characters, or any real-time voice conversation experience.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/agent-configuration.md`, `references/client-tools.md` and `references/installation.md`). Compatibility notes: Requires internet access and an ElevenLabs API key (ELEVENLABSAPIKEY).
It sits in AI & LLM Engineering, covering Text to speech and voice, Speech recognition and synthesis and Customer support. It works with ElevenLabs, OpenAI, JavaScript and Python. The repository describes itself as: Record, Cut, Edit, Render with AI. The licence is MIT.
Read from SKILL.md and the folder at commit 452e950. 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:
curlnpmFrom 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.elevenlabs.iounpkg.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ELEVENLABS_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires internet access and an ElevenLabs API key (ELEVENLABS_API_KEY).
From compatibility in the SKILL.md frontmatter.
Agents loads about 2.5k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 46 tokens; SKILL.md has 280 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 tadaspetra/loop at commit 452e950, republished under its MIT licence (© tadaspetra). 280 words, ~2,475 tokens.
.claude/skills/agents/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Build voice AI agents with natural conversations, multiple LLM providers, custom tools, and easy web embedding.
Setup: See Installation Guide for CLI and SDK setup.
The ElevenLabs CLI is the recommended way to create and manage agents:
# Install CLI and authenticate
npm install -g @elevenlabs/cli
elevenlabs auth login
# Initialize project and create an agent
elevenlabs agents init
elevenlabs agents add "My Assistant" --template complete
# Push to ElevenLabs platform
elevenlabs agents pushAvailable templates: complete, minimal, voice-only, text-only, customer-service, assistant
from elevenlabs import ElevenLabs
client = ElevenLabs()
agent = client.conversational_ai.agents.create(
name="My Assistant",
conversation_config={
"agent": {
"first_message": "Hello! How can I help?",
"language": "en",
"prompt": {
"prompt": "You are a helpful assistant. Be concise and friendly.",
"llm": "gemini-2.0-flash",
"temperature": 0.7
}
},
"tts": {"voice_id": "JBFqnCBsd6RMkjVDRZzb"}
}
)import { ElevenLabsClient } from '@elevenlabs/elevenlabs-js';
const client = new ElevenLabsClient();
const agent = await client.conversationalAi.agents.create({
name: 'My Assistant',
conversationConfig: {
agent: {
firstMessage: 'Hello! How can I help?',
language: 'en',
prompt: {
prompt: 'You are a helpful assistant.',
llm: 'gemini-2.0-flash',
temperature: 0.7
}
},
tts: { voiceId: 'JBFqnCBsd6RMkjVDRZzb' }
}
});curl -X POST "https://api.elevenlabs.io/v1/convai/agents/create" \
-H "xi-api-key: $ELEVENLABS_API_KEY" -H "Content-Type: application/json" \
-d '{"name": "My Assistant", "conversation_config": {"agent": {"first_message": "Hello!", "language": "en", "prompt": {"prompt": "You are helpful.", "llm": "gemini-2.0-flash"}}, "tts": {"voice_id": "JBFqnCBsd6RMkjVDRZzb"}}}'Server-side (Python): Get signed URL for client connection:
signed_url = client.conversational_ai.conversations.get_signed_url(agent_id="your-agent-id")Client-side (JavaScript):
import { Conversation } from '@elevenlabs/client';
const conversation = await Conversation.startSession({
agentId: 'your-agent-id',
onMessage: (msg) => console.log('Agent:', msg.message),
onUserTranscript: (t) => console.log('User:', t.message),
onError: (e) => console.error(e)
});React Hook:
import { useConversation } from '@elevenlabs/react';
const conversation = useConversation({ onMessage: (msg) => console.log(msg) });
// Get signed URL from backend, then:
await conversation.startSession({ signedUrl: token });| Provider | Models |
|---|---|
| OpenAI | gpt-5, gpt-5-mini, gpt-5-nano, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-4o, gpt-4o-mini, gpt-4-turbo |
| Anthropic | claude-sonnet-4-5, claude-sonnet-4, claude-haiku-4-5, claude-3-7-sonnet, claude-3-5-sonnet, claude-3-haiku |
gemini-3-pro-preview, gemini-3-flash-preview, gemini-2.5-flash, gemini-2.5-flash-lite, gemini-2.0-flash, gemini-2.0-flash-lite | |
| ElevenLabs | glm-45-air-fp8, qwen3-30b-a3b, gpt-oss-120b |
| Custom | custom-llm (bring your own endpoint) |
Popular voices: JBFqnCBsd6RMkjVDRZzb (George), EXAVITQu4vr4xnSDxMaL (Sarah), onwK4e9ZLuTAKqWW03F9 (Daniel), XB0fDUnXU5powFXDhCwa (Charlotte)
Turn eagerness: patient (waits longer for user to finish), normal, or eager (responds quickly)
See Agent Configuration for all options.
Extend agents with webhook, client, or built-in system tools. Tools are defined inside conversation_config.agent.prompt:
"prompt": {
"prompt": "You are a helpful assistant that can check the weather.",
"llm": "gemini-2.0-flash",
"tools": [
# Webhook: server-side API call
{"type": "webhook", "name": "get_weather", "description": "Get weather",
"api_schema": {"url": "https://api.example.com/weather", "method": "POST",
"request_body_schema": {"type": "object", "properties": {"location": {"type": "string"}}, "required": ["location"]}}},
# Client: runs in the browser
{"type": "client", "name": "show_product", "description": "Display a product",
"parameters": {"type": "object", "properties": {"productId": {"type": "string"}}, "required": ["productId"]}}
],
"built_in_tools": {
"end_call": {},
"transfer_to_number": {"transfers": [{"transfer_destination": {"type": "phone", "phone_number": "+1234567890"}, "condition": "User asks for human support"}]}
}
}Client tools run in browser:
clientTools: {
show_product: async ({ productId }) => {
document.getElementById('product').src = `/products/${productId}`;
return { success: true };
};
}See Client Tools Reference for complete documentation.
<elevenlabs-convai agent-id="your-agent-id"></elevenlabs-convai>
<script
src="https://unpkg.com/@elevenlabs/convai-widget-embed"
async
type="text/javascript"
></script>Customize with attributes: avatar-image-url, action-text, start-call-text, end-call-text.
See Widget Embedding Reference for all options.
Make outbound phone calls using your agent via Twilio integration:
response = client.conversational_ai.twilio.outbound_call(
agent_id="your-agent-id",
agent_phone_number_id="your-phone-number-id",
to_number="+1234567890"
)
print(f"Call initiated: {response.conversation_id}")const response = await client.conversationalAi.twilio.outboundCall({
agentId: 'your-agent-id',
agentPhoneNumberId: 'your-phone-number-id',
toNumber: '+1234567890'
});curl -X POST "https://api.elevenlabs.io/v1/convai/twilio/outbound-call" \
-H "xi-api-key: $ELEVENLABS_API_KEY" -H "Content-Type: application/json" \
-d '{"agent_id": "your-agent-id", "agent_phone_number_id": "your-phone-number-id", "to_number": "+1234567890"}'See Outbound Calls Reference for configuration overrides and dynamic variables.
# List agents and check status
elevenlabs agents list
elevenlabs agents status
# Import agents from platform to local config
elevenlabs agents pull # Import all agents
elevenlabs agents pull --agent <agent-id> # Import specific agent
# Push local changes to platform
elevenlabs agents push # Upload configurations
elevenlabs agents push --dry-run # Preview changes first
# Add tools
elevenlabs tools add-webhook "Weather API"
elevenlabs tools add-client "UI Tool"The CLI creates a project structure for managing agents:
your_project/
├── agents.json # Agent definitions
├── tools.json # Tool configurations
├── tests.json # Test configurations
├── agent_configs/ # Individual agent configs
├── tool_configs/ # Individual tool configs
└── test_configs/ # Individual test configs# List
agents = client.conversational_ai.agents.list()
# Get
agent = client.conversational_ai.agents.get(agent_id="your-agent-id")
# Update (partial - only include fields to change)
client.conversational_ai.agents.update(agent_id="your-agent-id", name="New Name")
client.conversational_ai.agents.update(agent_id="your-agent-id",
conversation_config={
"agent": {"prompt": {"prompt": "New instructions", "llm": "claude-sonnet-4"}}
})
# Delete
client.conversational_ai.agents.delete(agent_id="your-agent-id")See Agent Configuration for all configuration options and SDK examples.
try:
agent = client.conversational_ai.agents.create(...)
except Exception as e:
print(f"API error: {e}")Common errors: 401 (invalid key), 404 (not found), 422 (invalid config), 429 (rate limit)
© tadaspetra, 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 5 other files (references) in .agents/skills/agents of tadaspetra/loop.
Open the folder on GitHubat commit 452e950
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in tadaspetra/loop, which our catalogue first saw on October 7, 2026.
Agents 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 |
|---|---|---|---|---|---|---|
| Agents this skilltadaspetra/loop | 296 | 1 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Agentselevenlabs/skills | 481 | — | ~6.5k | Automated safety check: Pass | MIT | |
| Speech Engineelevenlabs/skills | 481 | — | ~2.5k | Automated safety check: Warn | MIT | |
| Voice AI Developmentmajiayu000/claude-skill-registry | 666 | 3 repos | ~4.4k | Automated safety check: Pass | MIT | |
| Voice AIcoco-research/coco | 482 | — | ~2.9k | Automated safety check: Pass | Custom licence | |
| Local AI Useamd/skills | 398 | — | ~5k | Automated safety check: Notes | MIT |
elevenlabs/skills
Build voice AI agents with ElevenLabs. An agent skill from elevenlabs/skills.
elevenlabs/skills
Add real-time voice conversations to a custom agent runtime with ElevenLabs Speech Engine.
majiayu000/claude-skill-registry
Expert in building voice AI applications - from real-time voice agents to voice-enabled apps.
coco-research/coco
Voice AI architecture and implementation guide. An agent skill from coco-research/coco.
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.
davila7/claude-code-templates
Expert in building voice AI applications - from real-time voice agents to voice-enabled apps.
tadaspetra/loop
Generate music using ElevenLabs Music API. An agent skill from tadaspetra/loop.
tadaspetra/loop
Transcribe audio to text using ElevenLabs Scribe v2. An agent skill from tadaspetra/loop.
tadaspetra/loop
Generate sound effects from text descriptions using ElevenLabs.
Works with
Categories
Build voice AI agents with ElevenLabs. An agent skill from tadaspetra/loop. Agents is an agent skill from tadaspetra/loop. Build voice AI agents with ElevenLabs.
Agents fits situations like: creating voice assistants; customer service bots; interactive voice characters; any real-time voice conversation experience.
Run `npx skills add tadaspetra/loop --skill agents -a claude-code`. Or copy the skill folder (.agents/skills/agents in tadaspetra/loop) into .claude/skills/agents in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tadaspetra/loop --skill agents -a codex`. Or copy the skill folder (.agents/skills/agents in tadaspetra/loop) into .agents/skills/agents 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 tadaspetra/loop --skill agents -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agents, .gemini/skills/agents, .github/skills/agents and .opencode/skills/agents in your project.
Going by SKILL.md and its folder, Agents needs the command-line tools its instructions call (curl and npm) and credentials named ELEVENLABS_API_KEY. Our summary lists: Python 3; Node.js; A credential in ELEVENLABS_API_KEY. Compatibility (from SKILL.md): Requires internet access and an ElevenLabs API key (ELEVENLABS_API_KEY)..
SKILL.md names 2 domains. In commands or code: api.elevenlabs.io and unpkg.com; 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 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.
Agents is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 14k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Agents: Agents (elevenlabs/skills, 481 stars), Speech Engine (elevenlabs/skills, 481 stars), Voice AI Development (majiayu000/claude-skill-registry, 666 stars) and Voice AI (coco-research/coco, 482 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tadaspetra (a GitHub user) maintains it in tadaspetra/loop, which has 296 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 2, 2026.
Source: tadaspetra/loop on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.