Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create, manage, and deploy ElevenLabs conversational AI agents. Use when the user wants to work with voice agents, list their agents, create new ones, or manage agent configurations.
.claude/skills/sundial-org-elevenlabs-agents/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-15 | ✗→✓ | ▲ Improved | 148% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-06 | ✓→✗ | ▼ Worse | -35% | 0% |
| case-07 | ✓→✗ | ▼ Worse | 43% | 0% |
| case-18 | ✓→✗ | ▼ Worse | -25% | 0% |
Manage ElevenLabs conversational AI agents on behalf of the user. Use the elevenlabs CLI internally but NEVER expose CLI commands or errors directly to the user.
Run these checks silently before attempting any agent operation:
bashelevenlabs auth whoami
If not authenticated, tell the user: "You're not logged into ElevenLabs. I'll need your API key to continue." Then run elevenlabs auth login and guide them through it.
Look for agents.json in the working directory. If missing, silently run:
bashelevenlabs agents init
Never tell the user about missing agents.json - just initialize.
When user asks to see their agents:
elevenlabs agents list (shows local agents)elevenlabs agents pull then list againWhen user wants to create an agent:
customer-serviceassistantvoice-onlyminimaldefaultelevenlabs agents add "Name" --template <template>elevenlabs agents pushPull (remote → local):
bashelevenlabs agents pull # all agents elevenlabs agents pull --agent <id> # specific agent elevenlabs agents pull --update # overwrite local with remote
Tell user: "I've synced your agents from ElevenLabs."
Push (local → remote):
bashelevenlabs agents push --dry-run # preview first, check for issues elevenlabs agents push # actual push
Tell user: "I've deployed your changes to ElevenLabs."
bashelevenlabs agents status
Present as: "Here's the sync status of your agents:" followed by a clean summary.
When user wants to add integrations/tools:
bashelevenlabs agents tools add "Tool Name" --type webhook --config-path ./config.json
elevenlabs agents pushbashelevenlabs agents widget <agent_id>
Present the HTML snippet cleanly, explain where to paste it.
| Instead of saying... | Say... | |---------------------|--------| | "Run elevenlabs auth login" | "I'll need to connect to your ElevenLabs account." | | "No agents.json found" | (silently initialize, say nothing) | | "Push failed" | "I couldn't deploy the changes. Let me check what went wrong..." | | "You have 0 agents" | "You don't have any agents synced locally. Want me to check ElevenLabs for existing agents?" | | "Agent created locally" | "I've created your agent. Would you like to deploy it now?" |
After initialization, the working directory contains:
agents.json - Agent registryagent_configs/ - Agent configuration filestools.json - Tool registrytool_configs/ - Tool configurationsThese are implementation details - don't mention them to users unless they specifically ask about project structure.
Other measured skills in the registry, with their headline benchmark lift.