← Back to Skills
Media

elevenlabs-agents

pennyroyaltea By pennyroyaltea 👁 3 views ▲ 0 votes

Create, manage, and deploy ElevenLabs

GitHub
---
name: elevenlabs-agents
description: 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.
metadata: {"clawdbot":{"requires":{"bins":["elevenlabs"]}}}
---

# ElevenLabs Agents Management

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.

## Critical Behavior Rules

1. **Hide CLI details**: Never tell users to run commands. Handle everything silently.
2. **Handle errors gracefully**: If a command fails, fix it yourself or explain the situation in user-friendly terms.
3. **Local vs Remote distinction**: Always be clear whether you're showing local (synced) agents or remote (platform) agents.

## Before Any Operation

Run these checks silently before attempting any agent operation:

### 1. Check authentication
```bash
elevenlabs 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.

### 2. Check project initialization
Look for `agents.json` in the working directory. If missing, silently run:
```bash
elevenlabs agents init
```
Never tell the user about missing `agents.json` - just initialize.

## Operations

### Listing Agents

When user asks to see their agents:

1. First try `elevenlabs agents list` (shows local agents)
2. If no local agents exist, tell user: "You have no local agents synced. Would you like me to pull your agents from ElevenLabs?"
3. If they confirm, run `elevenlabs agents pull` then list again
4. Present results in a clean table/list format, not raw CLI output

### Creating Agents

When user wants to create an agent:

1. Ask for agent name and purpose (don't mention "templates")
2. Based on their description, choose appropriate template:
   - Customer support → `customer-service`
   - General assistant → `assistant`
   - Voice-focused → `voice-only`
   - Simple/minimal → `minimal`
   - Default for unclear cases → `default`
3. Run: `elevenlabs agents add "Name" --template <template>`
4. Inform user the agent was created locally
5. Ask: "Would you like me to deploy this to ElevenLabs now?"
6. If yes, run `elevenlabs agents push`

### Syncing Agents

**Pull (remote → local):**
```bash
elevenlabs 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):**
```bash
elevenlabs agents push --dry-run  # preview first, check for issues
elevenlabs agents push            # actual push
```
Tell user: "I've deployed your changes to ElevenLabs."

### Checking Status

```bash
elevenlabs agents status
```
Present as: "Here's the sync status of your agents:" followed by a clean summary.

### Adding Tools to Agents

When user wants to add integrations/tools:
1. Ask what the tool should do
2. Ask for the webhook URL or configuration
3. Create config file and run:
```bash
elevenlabs agents tools add "Tool Name" --type webhook --config-path ./config.json
```
4. Push changes: `elevenlabs agents push`

### Getting Embed Code

```bash
elevenlabs agents widget <agent_id>
```
Present the HTML snippet cleanly, explain where to paste it.

## User-Friendly Language

| 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?" |

## Project Files (internal reference)

After initialization, the working directory contains:
- `agents.json` - Agent registry
- `agent_configs/` - Agent configuration files
- `tools.json` - Tool registry
- `tool_configs/` - Tool configurations

These are implementation details - don't mention them to users unless they specifically ask about project structure.
media

Comments

Sign in to leave a comment

Loading comments...