[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FA45YQ95CJ293HKPYZR3QV":3,"skill-same:01M6FA45YQ95CJ293HKPYZR3QV":76},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":58,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M6FA45YQ95CJ293HKPYZR3QV","elevenlabs-prod-checklist",null,"Execute ElevenLabs production deployment checklist with health checks and rollback.\nUse when deploying TTS\u002Fvoice integrations to production, preparing for launch,\nor implementing go-live procedures for ElevenLabs-powered apps.\nTrigger: \"elevenlabs production\", \"deploy elevenlabs\",\n\"elevenlabs go-live\", \"elevenlabs launch checklist\", \"production TTS\".","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Felevenlabs-prod-checklist\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"elevenlabs prod checklist","elevenlabs","checklist","read","with","apps","trigger","io","live","use","go","curl","node","integrations","tts","Bash","health","saas","code","deployment","2026-11-10 10:12:30",false,"---\nname: elevenlabs-prod-checklist\ndescription: |\n  Execute ElevenLabs production deployment checklist with health checks and rollback.\n  Use when deploying TTS\u002Fvoice integrations to production, preparing for launch,\n  or implementing go-live procedures for ElevenLabs-powered apps.\n  Trigger: \"elevenlabs production\", \"deploy elevenlabs\",\n  \"elevenlabs go-live\", \"elevenlabs launch checklist\", \"production TTS\".\nallowed-tools: Read, Bash(curl:*), Bash(node:*), Grep\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ntags: [saas, voice, ai, elevenlabs, production, deployment]\ncompatible-with: claude-code\n---\n\n# ElevenLabs Production Checklist\n\n## Overview\n\nComplete checklist for deploying ElevenLabs TTS\u002Fvoice integrations to production. Covers API configuration, health checks, circuit breakers, monitoring, and rollback procedures.\n\n## Prerequisites\n\n- Staging environment tested and verified\n- Production API key (separate from dev\u002Fstaging)\n- Monitoring and alerting infrastructure ready\n\n## Instructions\n\n### Step 1: Pre-Deployment Verification\n\n**Configuration:**\n- [ ] Production API key stored in secure vault (not in code)\n- [ ] `ELEVENLABS_API_KEY` set in deployment platform's secrets\n- [ ] Webhook secret configured (if using webhooks)\n- [ ] Using production model ID (`eleven_multilingual_v2` or `eleven_v3`)\n\n**Code Quality:**\n- [ ] All tests passing with mocked ElevenLabs SDK\n- [ ] No hardcoded API keys (scan with `grep -r \"sk_\" src\u002F`)\n- [ ] Error handling covers 400, 401, 404, 429, 5xx responses\n- [ ] Rate limiting implemented matching plan concurrency limit\n- [ ] Text splitting handles inputs > 5,000 characters\n- [ ] Audio output format appropriate for use case\n\n**Quota Planning:**\n- [ ] Estimated monthly character usage fits within plan limit\n- [ ] Usage-based billing enabled (Creator+ plans) if needed\n- [ ] Flash\u002FTurbo models used where latency matters more than quality\n\n### Step 2: Health Check Endpoint\n\n```typescript\n\u002F\u002F src\u002Fapi\u002Fhealth.ts\nimport { ElevenLabsClient } from \"@elevenlabs\u002Felevenlabs-js\";\n\ninterface HealthStatus {\n  status: \"healthy\" | \"degraded\" | \"unhealthy\";\n  elevenlabs: {\n    connected: boolean;\n    latencyMs: number;\n    quotaRemaining: number | null;\n    quotaPctUsed: number | null;\n  };\n  timestamp: string;\n}\n\nexport async function healthCheck(): Promise\u003CHealthStatus> {\n  const client = new ElevenLabsClient();\n  const start = Date.now();\n\n  try {\n    const user = await client.user.get();\n    const latency = Date.now() - start;\n    const { character_count, character_limit } = user.subscription;\n    const remaining = character_limit - character_count;\n    const pctUsed = Math.round((character_count \u002F character_limit) * 100);\n\n    return {\n      status: pctUsed > 90 ? \"degraded\" : \"healthy\",\n      elevenlabs: {\n        connected: true,\n        latencyMs: latency,\n        quotaRemaining: remaining,\n        quotaPctUsed: pctUsed,\n      },\n      timestamp: new Date().toISOString(),\n    };\n  } catch (error) {\n    return {\n      status: \"unhealthy\",\n      elevenlabs: {\n        connected: false,\n        latencyMs: Date.now() - start,\n        quotaRemaining: null,\n        quotaPctUsed: null,\n      },\n      timestamp: new Date().toISOString(),\n    };\n  }\n}\n```\n\n### Step 3: Circuit Breaker\n\n```typescript\n\u002F\u002F src\u002Felevenlabs\u002Fcircuit-breaker.ts\ntype CircuitState = \"closed\" | \"open\" | \"half-open\";\n\nexport class ElevenLabsCircuitBreaker {\n  private state: CircuitState = \"closed\";\n  private failures = 0;\n  private lastFailure = 0;\n\n  constructor(\n    private failureThreshold = 5,       \u002F\u002F Open after N consecutive failures\n    private resetTimeMs = 30_000,       \u002F\u002F Try again after 30s\n  ) {}\n\n  async execute\u003CT>(operation: () => Promise\u003CT>, fallback?: () => T): Promise\u003CT> {\n    if (this.state === \"open\") {\n      if (Date.now() - this.lastFailure > this.resetTimeMs) {\n        this.state = \"half-open\";\n      } else {\n        if (fallback) return fallback();\n        throw new Error(\"ElevenLabs circuit breaker is open — service unavailable\");\n      }\n    }\n\n    try {\n      const result = await operation();\n      this.onSuccess();\n      return result;\n    } catch (error) {\n      this.onFailure();\n      if (fallback) return fallback();\n      throw error;\n    }\n  }\n\n  private onSuccess() {\n    this.failures = 0;\n    this.state = \"closed\";\n  }\n\n  private onFailure() {\n    this.failures++;\n    this.lastFailure = Date.now();\n    if (this.failures >= this.failureThreshold) {\n      this.state = \"open\";\n      console.error(`[ElevenLabs] Circuit breaker OPEN after ${this.failures} failures`);\n    }\n  }\n\n  getState(): CircuitState {\n    return this.state;\n  }\n}\n\n\u002F\u002F Usage: graceful degradation when ElevenLabs is down\nconst breaker = new ElevenLabsCircuitBreaker();\n\nasync function generateSpeechWithFallback(text: string, voiceId: string) {\n  return breaker.execute(\n    () => client.textToSpeech.convert(voiceId, {\n      text,\n      model_id: \"eleven_multilingual_v2\",\n    }),\n    () => {\n      \u002F\u002F Fallback: return pre-generated placeholder audio or null\n      console.warn(\"[ElevenLabs] Using fallback — TTS unavailable\");\n      return null;\n    }\n  );\n}\n```\n\n### Step 4: Monitoring & Alerting\n\n```typescript\n\u002F\u002F src\u002Felevenlabs\u002Fmonitor.ts\ninterface TTSMetric {\n  operation: string;\n  voiceId: string;\n  modelId: string;\n  textLength: number;\n  latencyMs: number;\n  success: boolean;\n  errorCode?: string;\n}\n\nfunction emitMetric(metric: TTSMetric) {\n  \u002F\u002F Send to your monitoring system (Datadog, CloudWatch, Prometheus, etc.)\n  console.log(JSON.stringify({\n    ...metric,\n    timestamp: new Date().toISOString(),\n    service: \"elevenlabs\",\n  }));\n}\n\n\u002F\u002F Alert thresholds\nconst ALERT_RULES = {\n  p99_latency_ms: 5000,       \u002F\u002F Alert if p99 > 5 seconds\n  error_rate_pct: 5,           \u002F\u002F Alert if error rate > 5%\n  quota_used_pct: 80,          \u002F\u002F Alert when 80% quota used\n  circuit_breaker_open: true,  \u002F\u002F Alert on circuit breaker trip\n};\n```\n\n### Step 5: Pre-Flight Check Script\n\n```bash\n#!\u002Fbin\u002Fbash\n# pre-flight-check.sh — Run before deploying\n\necho \"=== ElevenLabs Pre-Flight Check ===\"\n\n# 1. API connectivity\nHTTP=$(curl -s -o \u002Fdev\u002Fnull -w \"%{http_code}\" \\\n  https:\u002F\u002Fapi.elevenlabs.io\u002Fv1\u002Fuser \\\n  -H \"xi-api-key: ${ELEVENLABS_API_KEY}\")\necho \"API connectivity: HTTP $HTTP\"\n[ \"$HTTP\" != \"200\" ] && echo \"FAIL: API not reachable\" && exit 1\n\n# 2. Quota check\nQUOTA=$(curl -s https:\u002F\u002Fapi.elevenlabs.io\u002Fv1\u002Fuser \\\n  -H \"xi-api-key: ${ELEVENLABS_API_KEY}\" | \\\n  jq '.subscription | (.character_limit - .character_count)')\necho \"Characters remaining: $QUOTA\"\n[ \"$QUOTA\" -lt 10000 ] && echo \"WARN: Low quota\"\n\n# 3. Voice availability\nVOICE_COUNT=$(curl -s https:\u002F\u002Fapi.elevenlabs.io\u002Fv1\u002Fvoices \\\n  -H \"xi-api-key: ${ELEVENLABS_API_KEY}\" | jq '.voices | length')\necho \"Voices available: $VOICE_COUNT\"\n\n# 4. TTS smoke test\nTTS_STATUS=$(curl -s -o \u002Fdev\u002Fnull -w \"%{http_code}\" \\\n  -X POST \"https:\u002F\u002Fapi.elevenlabs.io\u002Fv1\u002Ftext-to-speech\u002F21m00Tcm4TlvDq8ikWAM\" \\\n  -H \"xi-api-key: ${ELEVENLABS_API_KEY}\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"text\":\"Pre-flight check.\",\"model_id\":\"eleven_flash_v2_5\"}')\necho \"TTS smoke test: HTTP $TTS_STATUS\"\n[ \"$TTS_STATUS\" != \"200\" ] && echo \"FAIL: TTS not working\" && exit 1\n\necho \"=== All checks passed ===\"\n```\n\n## Deployment Monitoring\n\n| Alert | Condition | Severity |\n|-------|-----------|----------|\n| API unreachable | Health check fails 3x | P1 — Critical |\n| Quota exhausted | 401 `quota_exceeded` | P1 — Critical |\n| High error rate | 5xx > 5% of requests | P2 — High |\n| Rate limited | 429 > 10\u002Fmin sustained | P2 — High |\n| High latency | p99 > 5000ms | P3 — Medium |\n| Quota warning | > 80% used | P3 — Medium |\n\n## Error Handling\n\n| Scenario | Response |\n|----------|----------|\n| ElevenLabs API down | Circuit breaker opens; fallback to cached\u002Fplaceholder audio |\n| Quota exhausted mid-day | Alert team; switch to Flash model (0.5x cost); queue non-urgent requests |\n| Voice deleted | Return 404 to caller; alert; fall back to default voice |\n| Webhook delivery failing | Monitor ElevenLabs webhook health; webhooks auto-disable after 10 failures |\n\n## Resources\n\n- [ElevenLabs Status](https:\u002F\u002Fstatus.elevenlabs.io)\n- [ElevenLabs API Reference](https:\u002F\u002Felevenlabs.io\u002Fdocs\u002Fapi-reference\u002Fintroduction)\n- [Usage Dashboard](https:\u002F\u002Felevenlabs.io\u002Fapp\u002Fusage)\n\n## Next Steps\n\nFor version upgrades, see `elevenlabs-upgrade-migration`. For cost optimization, see `elevenlabs-cost-tuning`.\n\n","# ElevenLabs Production Checklist\n\n## Overview\n\nComplete checklist for deploying ElevenLabs TTS\u002Fvoice integrations to production. Covers API configuration, health checks, circuit breakers, monitoring, and rollback procedures.\n\n## Prerequisites\n\n- Staging environment tested and verified\n- Production API key (separate from dev\u002Fstaging)\n- Monitoring and alerting infrastructure ready\n\n## Instructions\n\n### Step 1: Pre-Deployment Verification\n\n**Configuration:**\n- [ ] Production API key stored in secure vault (not in code)\n- [ ] `ELEVENLABS_API_KEY` set in deployment platform's secrets\n- [ ] Webhook secret configured (if using webhooks)\n- [ ] Using production model ID (`eleven_multilingual_v2` or `eleven_v3`)\n\n**Code Quality:**\n- [ ] All tests passing with mocked ElevenLabs SDK\n- [ ] No hardcoded API keys (scan with `grep -r \"sk_\" src\u002F`)\n- [ ] Error handling covers 400, 401, 404, 429, 5xx responses\n- [ ] Rate limiting implemented matching plan concurrency limit\n- [ ] Text splitting handles inputs > 5,000 characters\n- [ ] Audio output format appropriate for use case\n\n**Quota Planning:**\n- [ ] Estimated monthly character usage fits within plan limit\n- [ ] Usage-based billing enabled (Creator+ plans) if needed\n- [ ] Flash\u002FTurbo models used where latency matters more than quality\n\n### Step 2: Health Check Endpoint\n\n```typescript\n\u002F\u002F src\u002Fapi\u002Fhealth.ts\nimport { ElevenLabsClient } from \"@elevenlabs\u002Felevenlabs-js\";\n\ninterface HealthStatus {\n  status: \"healthy\" | \"degraded\" | \"unhealthy\";\n  elevenlabs: {\n    connected: boolean;\n    latencyMs: number;\n    quotaRemaining: number | null;\n    quotaPctUsed: number | null;\n  };\n  timestamp: string;\n}\n\nexport async function healthCheck(): Promise\u003CHealthStatus> {\n  const client = new ElevenLabsClient();\n  const start = Date.now();\n\n  try {\n    const user = await client.user.get();\n    const latency = Date.now() - start;\n    const { character_count, character_limit } = user.subscription;\n    const remaining = character_limit - character_count;\n    const pctUsed = Math.round((character_count \u002F character_limit) * 100);\n\n    return {\n      status: pctUsed > 90 ? \"degraded\" : \"healthy\",\n      elevenlabs: {\n        connected: true,\n        latencyMs: latency,\n        quotaRemaining: remaining,\n        quotaPctUsed: pctUsed,\n      },\n      timestamp: new Date().toISOString(),\n    };\n  } catch (error) {\n    return {\n      status: \"unhealthy\",\n      elevenlabs: {\n        connected: false,\n        latencyMs: Date.now() - start,\n        quotaRemaining: null,\n        quotaPctUsed: null,\n      },\n      timestamp: new Date().toISOString(),\n    };\n  }\n}\n```\n\n### Step 3: Circuit Breaker\n\n```typescript\n\u002F\u002F src\u002Felevenlabs\u002Fcircuit-breaker.ts\ntype CircuitState = \"closed\" | \"open\" | \"half-open\";\n\nexport class ElevenLabsCircuitBreaker {\n  private state: CircuitState = \"closed\";\n  private failures = 0;\n  private lastFailure = 0;\n\n  constructor(\n    private failureThreshold = 5,       \u002F\u002F Open after N consecutive failures\n    private resetTimeMs = 30_000,       \u002F\u002F Try again after 30s\n  ) {}\n\n  async execute\u003CT>(operation: () => Promise\u003CT>, fallback?: () => T): Promise\u003CT> {\n    if (this.state === \"open\") {\n      if (Date.now() - this.lastFailure > this.resetTimeMs) {\n        this.state = \"half-open\";\n      } else {\n        if (fallback) return fallback();\n        throw new Error(\"ElevenLabs circuit breaker is open — service unavailable\");\n      }\n    }\n\n    try {\n      const result = await operation();\n      this.onSuccess();\n      return result;\n    } catch (error) {\n      this.onFailure();\n      if (fallback) return fallback();\n      throw error;\n    }\n  }\n\n  private onSuccess() {\n    this.failures = 0;\n    this.state = \"closed\";\n  }\n\n  private onFailure() {\n    this.failures++;\n    this.lastFailure = Date.now();\n    if (this.failures >= this.failureThreshold) {\n      this.state = \"open\";\n      console.error(`[ElevenLabs] Circuit breaker OPEN after ${this.failures} failures`);\n    }\n  }\n\n  getState(): CircuitState {\n    return this.state;\n  }\n}\n\n\u002F\u002F Usage: graceful degradation when ElevenLabs is down\nconst breaker = new ElevenLabsCircuitBreaker();\n\nasync function generateSpeechWithFallback(text: string, voiceId: string) {\n  return breaker.execute(\n    () => client.textToSpeech.convert(voiceId, {\n      text,\n      model_id: \"eleven_multilingual_v2\",\n    }),\n    () => {\n      \u002F\u002F Fallback: return pre-generated placeholder audio or null\n      console.warn(\"[ElevenLabs] Using fallback — TTS unavailable\");\n      return null;\n    }\n  );\n}\n```\n\n### Step 4: Monitoring & Alerting\n\n```typescript\n\u002F\u002F src\u002Felevenlabs\u002Fmonitor.ts\ninterface TTSMetric {\n  operation: string;\n  voiceId: string;\n  modelId: string;\n  textLength: number;\n  latencyMs: number;\n  success: boolean;\n  errorCode?: string;\n}\n\nfunction emitMetric(metric: TTSMetric) {\n  \u002F\u002F Send to your monitoring system (Datadog, CloudWatch, Prometheus, etc.)\n  console.log(JSON.stringify({\n    ...metric,\n    timestamp: new Date().toISOString(),\n    service: \"elevenlabs\",\n  }));\n}\n\n\u002F\u002F Alert thresholds\nconst ALERT_RULES = {\n  p99_latency_ms: 5000,       \u002F\u002F Alert if p99 > 5 seconds\n  error_rate_pct: 5,           \u002F\u002F Alert if error rate > 5%\n  quota_used_pct: 80,          \u002F\u002F Alert when 80% quota used\n  circuit_breaker_open: true,  \u002F\u002F Alert on circuit breaker trip\n};\n```\n\n### Step 5: Pre-Flight Check Script\n\n```bash\n#!\u002Fbin\u002Fbash\n# pre-flight-check.sh — Run before deploying\n\necho \"=== ElevenLabs Pre-Flight Check ===\"\n\n# 1. API connectivity\nHTTP=$(curl -s -o \u002Fdev\u002Fnull -w \"%{http_code}\" \\\n  https:\u002F\u002Fapi.elevenlabs.io\u002Fv1\u002Fuser \\\n  -H \"xi-api-key: ${ELEVENLABS_API_KEY}\")\necho \"API connectivity: HTTP $HTTP\"\n[ \"$HTTP\" != \"200\" ] && echo \"FAIL: API not reachable\" && exit 1\n\n# 2. Quota check\nQUOTA=$(curl -s https:\u002F\u002Fapi.elevenlabs.io\u002Fv1\u002Fuser \\\n  -H \"xi-api-key: ${ELEVENLABS_API_KEY}\" | \\\n  jq '.subscription | (.character_limit - .character_count)')\necho \"Characters remaining: $QUOTA\"\n[ \"$QUOTA\" -lt 10000 ] && echo \"WARN: Low quota\"\n\n# 3. Voice availability\nVOICE_COUNT=$(curl -s https:\u002F\u002Fapi.elevenlabs.io\u002Fv1\u002Fvoices \\\n  -H \"xi-api-key: ${ELEVENLABS_API_KEY}\" | jq '.voices | length')\necho \"Voices available: $VOICE_COUNT\"\n\n# 4. TTS smoke test\nTTS_STATUS=$(curl -s -o \u002Fdev\u002Fnull -w \"%{http_code}\" \\\n  -X POST \"https:\u002F\u002Fapi.elevenlabs.io\u002Fv1\u002Ftext-to-speech\u002F21m00Tcm4TlvDq8ikWAM\" \\\n  -H \"xi-api-key: ${ELEVENLABS_API_KEY}\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"text\":\"Pre-flight check.\",\"model_id\":\"eleven_flash_v2_5\"}')\necho \"TTS smoke test: HTTP $TTS_STATUS\"\n[ \"$TTS_STATUS\" != \"200\" ] && echo \"FAIL: TTS not working\" && exit 1\n\necho \"=== All checks passed ===\"\n```\n\n## Deployment Monitoring\n\n| Alert | Condition | Severity |\n|-------|-----------|----------|\n| API unreachable | Health check fails 3x | P1 — Critical |\n| Quota exhausted | 401 `quota_exceeded` | P1 — Critical |\n| High error rate | 5xx > 5% of requests | P2 — High |\n| Rate limited | 429 > 10\u002Fmin sustained | P2 — High |\n| High latency | p99 > 5000ms | P3 — Medium |\n| Quota warning | > 80% used | P3 — Medium |\n\n## Error Handling\n\n| Scenario | Response |\n|----------|----------|\n| ElevenLabs API down | Circuit breaker opens; fallback to cached\u002Fplaceholder audio |\n| Quota exhausted mid-day | Alert team; switch to Flash model (0.5x cost); queue non-urgent requests |\n| Voice deleted | Return 404 to caller; alert; fall back to default voice |\n| Webhook delivery failing | Monitor ElevenLabs webhook health; webhooks auto-disable after 10 failures |\n\n## Resources\n\n- [ElevenLabs Status](https:\u002F\u002Fstatus.elevenlabs.io)\n- [ElevenLabs API Reference](https:\u002F\u002Felevenlabs.io\u002Fdocs\u002Fapi-reference\u002Fintroduction)\n- [Usage Dashboard](https:\u002F\u002Felevenlabs.io\u002Fapp\u002Fusage)\n\n## Next Steps\n\nFor version upgrades, see `elevenlabs-upgrade-migration`. For cost optimization, see `elevenlabs-cost-tuning`.\n\n",{"name":5,"tags":44,"author":48,"license":15,"version":49,"description":50,"allowed-tools":51,"compatible-with":52},[36,45,46,20,47,38],"voice","ai","production","Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Execute ElevenLabs production deployment checklist with health checks and rollback.\nUse when deploying TTS\u002Fvoice integrations to production, preparing for launch,\nor implementing go-live procedures for ElevenLabs-powered apps.\nTrigger: \"elevenlabs production\", \"deploy elevenlabs\",\n\"elevenlabs go-live\", \"elevenlabs launch checklist\", \"production TTS\".\n","Read, Bash(curl:*), Bash(node:*), Grep","claude-code","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Felevenlabs-prod-checklist",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill elevenlabs-prod-checklist",{"tool":68,"command":69},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill elevenlabs-prod-checklist",{"tool":71,"command":72},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill elevenlabs-prod-checklist","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Felevenlabs-prod-checklist\u002FSKILL.md",true,[],[77,91,101,109,115,122],{"skillNo":78,"name":79,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":87,"publishedAt":39},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[82],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[88,89,90],"model","model hierarchy","model hierarchy skill",{"skillNo":92,"name":93,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":97,"publishedAt":39},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[96],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},[98,99,100],"MCP","zoom","zoom mcp",{"skillNo":102,"name":103,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":39},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[107,108,24,99],"sdk","zoom apps sdk",{"skillNo":110,"name":111,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":39},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[111],{"skillNo":116,"name":117,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":121,"publishedAt":39},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[120],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},[117],{"skillNo":123,"name":124,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":39},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[124]]