Skip to content
Back to skills

Elevenlabs Prod Checklist

ASecurity

Execute an ElevenLabs production deployment checklist with health checks and rollback. Use when deploying TTS/voice integrations to production, preparing for launch, or implementing go-live procedures for ElevenLabs-powered apps. Trigger with "elevenlabs production", "deploy elevenlabs", "elevenlabs go-live", "elevenlabs launch checklist", or "production TTS".

  • 2,719 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 21, 2026
ai-agentstypescriptgobashnodeapici/cd

Works with

  • claude code
  • cli
  • api

Security analysis

A96/100
  • mediumUses curl or wget to download content

Pro scans all 3 files and shows the line behind each finding

Scanned September 21, 2026

npx -y skills add jeremylongshore/claude-code-plugins-plus --skill elevenlabs-prod-checklist --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Elevenlabs Prod Checklist?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Elevenlabs Prod Checklist
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jeremylongshore-elevenlabs-prod-checklist-1eaa6bb9/badge)](https://www.skillsdirectory.com/skills/jeremylongshore-elevenlabs-prod-checklist-1eaa6bb9)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: elevenlabs-prod-checklist
description: |
  Execute an ElevenLabs production deployment checklist with health checks and rollback.
  Use when deploying TTS/voice integrations to production, preparing for launch, or
  implementing go-live procedures for ElevenLabs-powered apps.
  Trigger with "elevenlabs production", "deploy elevenlabs", "elevenlabs go-live",
  "elevenlabs launch checklist", or "production TTS".
allowed-tools: Read, Bash(curl:*), Bash(jq:*), Grep
version: 1.6.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- voice
- ai
- elevenlabs
- production
- deployment
compatibility: Designed for Claude Code
---
# ElevenLabs Production Checklist

## Overview

Complete checklist for deploying ElevenLabs TTS/voice integrations to production. Covers
API configuration, health checks, circuit breakers, monitoring, and rollback procedures.
The deep code for the resilience primitives lives in `references/` so this file stays a
fast, scannable runbook — drill in when you need the full implementation.

## Prerequisites

- Staging environment tested and verified
- Production API key (separate from dev/staging)
- Monitoring and alerting infrastructure ready

## Instructions

### Step 1: Pre-Deployment Verification

Walk the checklist below. Every unchecked box is a launch blocker.

**Configuration:**

- [ ] Production API key stored in secure vault (not in code)
- [ ] `ELEVENLABS_API_KEY` set in deployment platform's secrets
- [ ] Webhook secret configured (if using webhooks)
- [ ] Using production model ID (`eleven_multilingual_v2` or `eleven_v3`)

**Code Quality:**

- [ ] All tests passing with mocked ElevenLabs SDK
- [ ] No hardcoded API keys (scan with `grep -r "sk_" src/`)
- [ ] Error handling covers 400, 401, 404, 429, 5xx responses
- [ ] Rate limiting implemented matching plan concurrency limit
- [ ] Text splitting handles inputs > 5,000 characters
- [ ] Audio output format appropriate for use case

**Quota Planning:**

- [ ] Estimated monthly character usage fits within plan limit
- [ ] Usage-based billing enabled (Creator+ plans) if needed
- [ ] Flash/Turbo models used where latency matters more than quality

### Step 2: Wire the resilience primitives

Production ElevenLabs integrations need three primitives. The full drop-in TypeScript for
each is in [references/implementation.md](references/implementation.md) — high-level intent:

1. **Health check endpoint** — reports connectivity, latency, and remaining quota; returns
   `degraded` past 90% quota and `unhealthy` on any API failure, so a load balancer can gate
   traffic.
2. **Circuit breaker** — opens after N consecutive failures, cools down, then probes
   half-open; accepts a `fallback` (placeholder audio / cached clip / `null`) so a TTS outage
   degrades gracefully instead of throwing.
3. **Monitoring & alerting** — emit one structured metric per TTS call and drive the alert
   thresholds in the table below into your observability platform.

### Step 3: Run the pre-flight gate

Before promoting a build, run the pre-flight script — it checks connectivity, quota, voice
availability, and a live TTS smoke test, exiting non-zero on any hard failure so it can block
a CI/CD deploy step. Full script + CI wiring: [references/preflight.md](references/preflight.md).

```bash
# The load-bearing first gate — full script in references/preflight.md
HTTP=$(curl -s -o /dev/null -w "%{http_code}" \
  https://api.elevenlabs.io/v1/user \
  -H "xi-api-key: ${ELEVENLABS_API_KEY}")
[ "$HTTP" != "200" ] && echo "FAIL: API not reachable" && exit 1
```

## Output

Running this checklist produces:

- A completed pre-deployment verification (every box in Step 1 checked or explicitly waived).
- A health-check endpoint returning `healthy` / `degraded` / `unhealthy` plus latency and
  remaining quota.
- A circuit breaker and monitoring harness wired into the TTS call path.
- A green pre-flight run (`=== All checks passed ===`, exit 0) gating the deploy.
- A monitoring/alerting matrix mapped to your on-call severities (see below).

## Deployment Monitoring

| Alert | Condition | Severity |
|-------|-----------|----------|
| API unreachable | Health check fails 3x | P1 — Critical |
| Quota exhausted | 401 `quota_exceeded` | P1 — Critical |
| High error rate | 5xx > 5% of requests | P2 — High |
| Rate limited | 429 > 10/min sustained | P2 — High |
| High latency | p99 > 5000ms | P3 — Medium |
| Quota warning | > 80% used | P3 — Medium |

## Error Handling

| Scenario | Response |
|----------|----------|
| ElevenLabs API down | Circuit breaker opens; fallback to cached/placeholder audio |
| Quota exhausted mid-day | Alert team; switch to Flash model (0.5x cost); queue non-urgent requests |
| Voice deleted | Return 404 to caller; alert; fall back to default voice |
| Webhook delivery failing | Monitor ElevenLabs webhook health; webhooks auto-disable after 10 failures |

## Examples

**Gate a deploy on the pre-flight script.** Run it as the last step before promotion; a
non-zero exit blocks the pipeline:

```bash
$ ELEVENLABS_API_KEY=$PROD_KEY ./scripts/pre-flight-check.sh
=== ElevenLabs Pre-Flight Check ===
API connectivity: HTTP 200
Characters remaining: 428193
Voices available: 14
TTS smoke test: HTTP 200
=== All checks passed ===
$ echo $?
0
```

**Poll the health endpoint for a load-balancer probe.** A `degraded` status (quota > 90%)
still serves traffic but pages on-call; `unhealthy` drains the node:

```bash
$ curl -s https://myapp.example.com/health | jq '.status, .elevenlabs.quotaPctUsed'
"healthy"
41
```

Full worked implementations for both: [references/implementation.md](references/implementation.md)
and [references/preflight.md](references/preflight.md).

## Resources

- [ElevenLabs Status](https://status.elevenlabs.io)
- [ElevenLabs API Reference](https://elevenlabs.io/docs/api-reference/introduction)
- [Usage Dashboard](https://elevenlabs.io/app/usage)
- [references/implementation.md](references/implementation.md) — health check, circuit breaker, monitoring code
- [references/preflight.md](references/preflight.md) — pre-flight script + CI wiring

## Next Steps

For version upgrades, see `elevenlabs-upgrade-migration`. For cost optimization, see `elevenlabs-cost-tuning`.

Files in this skill

  • SKILL.md6.2 KB
  • references/implementation.md4.8 KB
  • references/preflight.md2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.