Skip to content
OpenSmartRoute
Skillv1.0.0

assemblyai-prod-checklist

Execute AssemblyAI production deployment checklist and rollback procedures. Use when deploying AssemblyAI integrations to production, preparing for launch, or implementing go-live procedures for trans

by jeremylongshore(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from jeremylongshore/tons-of-skills-marketplace (plugins/saas-packs/assemblyai-pack/skills/assemblyai-prod-checklist/SKILL.md). Install upstream with npx skills add jeremylongshore/tons-of-skills-marketplace --skill assemblyai-prod-checklist. Copyright stays with the author (MIT).

AssemblyAI Production Checklist

Overview

Complete checklist for deploying AssemblyAI-powered transcription services to production with health checks, monitoring, and rollback procedures.

Prerequisites

Instructions

Pre-Deployment Checklist

API Key & Auth

  • Production API key stored in secrets manager (not env files)
  • Key is separate from dev/staging keys
  • Temporary token endpoint configured for browser streaming
  • API key rotation procedure documented

Code Quality

  • All transcript.status === 'error' cases handled
  • Rate limit retry with exponential backoff implemented
  • No hardcoded API keys or audio URLs
  • PII redaction enabled for sensitive audio content
  • Webhook URL uses HTTPS
  • Audio file upload size validated before submission

Error Handling

  • 429 (rate limit) triggers retry with backoff
  • 5xx (server error) triggers retry with backoff
  • 401 (auth error) triggers alert, no retry
  • transcript.status === 'error' logged with transcript ID and error message
  • WebSocket disconnect triggers reconnection for streaming
  • LeMUR errors handled (invalid transcript ID, context too long)

Performance

  • Transcript results cached where appropriate
  • Concurrent transcription jobs limited via queue (p-queue or similar)
  • Webhook processing is async (don't block the response)
  • Long audio files processed with webhook_url instead of polling

Health Check Implementation

import { AssemblyAI } from 'assemblyai';

const client = new AssemblyAI({
  apiKey: process.env.ASSEMBLYAI_API_KEY!,
});

export async function healthCheck(): Promise<{
  status: 'healthy' | 'degraded' | 'down';
  assemblyai: { connected: boolean; latencyMs: number };
}> {
  const start = Date.now();
  try {
    // List transcripts as a lightweight connectivity check
    await client.transcripts.list({ limit: 1 });
    return {
      status: 'healthy',
      assemblyai: { connected: true, latencyMs: Date.now() - start },
    };
  } catch (error) {
    return {
      status: 'degraded',
      assemblyai: { connected: false, latencyMs: Date.now() - start },
    };
  }
}

Webhook-Based Processing (Recommended for Production)

// Instead of polling, use webhooks for transcription completion
const transcript = await client.transcripts.submit({
  audio: audioUrl,
  webhook_url: 'https://your-app.com/webhooks/assemblyai',
  webhook_auth_header_name: 'X-Webhook-Secret',
  webhook_auth_header_value: process.env.ASSEMBLYAI_WEBHOOK_SECRET!,
  speaker_labels: true,
  sentiment_analysis: true,
});

console.log('Submitted:', transcript.id, '(webhook will fire on completion)');
// Webhook handler
import express from 'express';

app.post('/webhooks/assemblyai', express.json(), async (req, res) => {
  // Verify auth header
  const secret = req.headers['x-webhook-secret'];
  if (secret !== process.env.ASSEMBLYAI_WEBHOOK_SECRET) {
    return res.status(401).json({ error: 'Unauthorized' });
  }

  const { transcript_id, status } = req.body;

  if (status === 'completed') {
    // Fetch full transcript
    const transcript = await client.transcripts.get(transcript_id);
    await processCompletedTranscript(transcript);
  } else if (status === 'error') {
    console.error(`Transcript ${transcript_id} failed:`, req.body.error);
    await handleFailedTranscript(transcript_id, req.body.error);
  }

  res.status(200).json({ received: true });
});

Monitoring & Alerting

Alert Condition Severity
API unreachable Health check fails 3x consecutive P1
High error rate >5% of transcriptions fail P2
Rate limited 429 errors > 5/min P2
Auth failure Any 401 response P1
Slow transcription Queue wait > 5 min P3
Webhook delivery failure Webhook retries exhausted P2

Gradual Rollout

# 1. Pre-flight: verify AssemblyAI API is healthy
curl -s https://status.assemblyai.com/api/v2/status.json | jq '.status.description'

# 2. Deploy to canary (10% traffic)
# 3. Monitor error rate and latency for 10 minutes
# 4. If healthy, roll to 50%, then 100%
# 5. Keep previous version ready for instant rollback

Output

  • Production-ready deployment with health checks
  • Webhook-based transcription processing
  • Monitoring and alerting configuration
  • Gradual rollout strategy

Examples

Before release, run mocked tests and one approved integration smoke test with a dedicated low-privilege key, verify webhook authentication and idempotency, and attach a redacted release receipt. If any authorization, retention, budget, or reconciliation check fails, keep traffic disabled and use the documented rollback.

Error Handling

Issue Detection Response
API key invalid in prod 401 on first call Rotate key immediately
Transcription backlog Queue size growing Scale workers, check rate limits
Webhook endpoint down Missed completion events Poll for stuck transcripts
Audio upload timeout Large file failures Increase timeout, validate file size

Resources

Next Steps

For version upgrades, see assemblyai-upgrade-migration.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/jeremylongshore-tons-of-skills-marketplace-assemblyai-pr-2049d6/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

jeremylongshore-tons-of-skills-marketplace-assemblyai-pr-2049d6.ocm.jsonjson
{
  "ocm": "1",
  "id": "jeremylongshore-tons-of-skills-marketplace-assemblyai-pr-2049d6",
  "kind": "skill",
  "name": "assemblyai-prod-checklist",
  "description": "Execute AssemblyAI production deployment checklist and rollback procedures. Use when deploying AssemblyAI integrations to production, preparing for launch, or implementing go-live procedures for transcription services. Trigger with phrases like \"assemblyai production\", \"deploy assemblyai\", \"assemblyai go-live\", \"assemblyai launch checklist\".",
  "publisher": "jeremylongshore",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "coding"
    ],
    "tags": [
      "skill-md",
      "saas",
      "ai",
      "speech-to-text",
      "assemblyai",
      "transcription",
      "production",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Execute AssemblyAI production deployment checklist and rollback procedures. Use when deploying AssemblyAI integrations to production, preparing for launch, or implementing go-live procedures for transcription services. Trigger with phrases like \"assemblyai production\", \"deploy assemblyai\", \"assemblyai go-live\", \"assemblyai launch checklist\"."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/jeremylongshore/tons-of-skills-marketplace",
      "path": "plugins/saas-packs/assemblyai-pack/skills/assemblyai-prod-checklist/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/jeremylongshore/tons-of-skills-marketplace/blob/HEAD/plugins/saas-packs/assemblyai-pack/skills/assemblyai-prod-checklist/SKILL.md",
      "key": "jeremylongshore/tons-of-skills-marketplace/plugins/saas-packs/assemblyai-pack/skills/assemblyai-prod-checklist/SKILL.md"
    },
    "compatibility": "Designed for Claude Code",
    "allowed_tools": [
      "Read,",
      "Bash(kubectl:*),",
      "Bash(curl:*),",
      "Grep"
    ],
    "license": "MIT"
  },
  "instructions": "# AssemblyAI Production Checklist\n\n## Overview\n\nComplete checklist for deploying AssemblyAI-powered transcription services to production with health checks, monitoring, and rollback procedures.\n\n## Prerequisites\n\n- Staging environment tested and verified\n- Production API key from https://www.assemblyai.com/app/account\n- Deployment pipeline configured\n- Monitoring stack ready\n\n## Instructions\n\n### Pre-Deployment Checklist\n\n#### API Key & Auth\n\n- [ ] Production API key stored in secrets manager (not env files)\n- [ ] Key is separate from dev/staging keys\n- [ ] Temporary token endpoint configured ",
  "cost": {
    "context_tokens": 1424
  }
}

Fetch it by URL: GET /api/v1/registry/jeremylongshore-tons-of-skills-marketplace-assemblyai-pr-2049d6/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.