[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M78ZKXRPCMATYFPKEHC1748V":3,"skill-same:01M78ZKXRPCMATYFPKEHC1748V":59},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M78ZKXRPCMATYFPKEHC1748V","elevenlabs-rate-limits",null,"Implement ElevenLabs rate limiting, concurrency queuing, and backoff patterns.\nUse when handling 429 errors, implementing retry logic,\nor managing concurrent TTS request throughput.\nTrigger: \"elevenlabs rate limit\", \"elevenlabs throttling\",\n\"elevenlabs 429\", \"elevenlabs retry\", \"elevenlabs backoff\",\n\"elevenlabs concurrent requests\".","jukeyman\u002Fjukeyman-skills","jukeyman","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F142960420?v=4","01M78FR4Y3DHMMCBCC0GXXNB3F","RICK JEFFERSON","01M78FR4Z8RVQRAD31Y5J7V6EB",1,"MIT","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fsaas-packs--elevenlabs-pack--elevenlabs-rate-limits\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: elevenlabs-rate-limits\ndescription: |\n  Implement ElevenLabs rate limiting, concurrency queuing, and backoff patterns.\n  Use when handling 429 errors, implementing retry logic,\n  or managing concurrent TTS request throughput.\n  Trigger: \"elevenlabs rate limit\", \"elevenlabs throttling\",\n  \"elevenlabs 429\", \"elevenlabs retry\", \"elevenlabs backoff\",\n  \"elevenlabs concurrent requests\".\nallowed-tools: Read, Write, Edit\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ntags: [saas, voice, ai, elevenlabs, rate-limits, reliability]\ncompatible-with: claude-code\n---\n\n# ElevenLabs Rate Limits\n\n## Overview\n\nHandle ElevenLabs rate limits with plan-aware concurrency queuing, exponential backoff, and quota monitoring. ElevenLabs uses two rate limit mechanisms: concurrent request limits (per plan) and system-level throttling.\n\n## Prerequisites\n\n- ElevenLabs SDK installed\n- Understanding of your subscription plan's limits\n- `p-queue` package (recommended): `npm install p-queue`\n\n## Instructions\n\n### Step 1: Understand the Two 429 Error Types\n\nElevenLabs returns HTTP 429 for two different reasons:\n\n| 429 Variant | Response Body | Cause | Strategy |\n|-------------|--------------|-------|----------|\n| `too_many_concurrent_requests` | `{\"detail\":{\"status\":\"too_many_concurrent_requests\"}}` | Exceeded plan concurrency | Queue requests, don't backoff |\n| `system_busy` | `{\"detail\":{\"status\":\"system_busy\"}}` | Server overload | Exponential backoff |\n\n### Step 2: Plan Concurrency Limits\n\n| Plan | Max Concurrent Requests | Characters\u002FMonth |\n|------|------------------------|-------------------|\n| Free | 2 | 10,000 |\n| Starter | 3 | 30,000 |\n| Creator | 5 | 100,000 |\n| Pro | 10 | 500,000 |\n| Scale | 15 | 2,000,000 |\n| Business | 15 | Custom |\n\n### Step 3: Concurrency-Aware Request Queue\n\n```typescript\n\u002F\u002F src\u002Felevenlabs\u002Frate-limiter.ts\nimport PQueue from \"p-queue\";\n\ntype ElevenLabsPlan = \"free\" | \"starter\" | \"creator\" | \"pro\" | \"scale\" | \"business\";\n\nconst CONCURRENCY_LIMITS: Record\u003CElevenLabsPlan, number> = {\n  free: 2,\n  starter: 3,\n  creator: 5,\n  pro: 10,\n  scale: 15,\n  business: 15,\n};\n\nexport function createRequestQueue(plan: ElevenLabsPlan) {\n  const concurrency = CONCURRENCY_LIMITS[plan];\n\n  const queue = new PQueue({\n    concurrency,\n    \u002F\u002F Each queued request adds ~50ms to response time\n    \u002F\u002F so keep queue depth reasonable\n    timeout: 120_000,  \u002F\u002F 2 minute timeout per request\n    throwOnTimeout: true,\n  });\n\n  queue.on(\"error\", (error) => {\n    console.error(\"[ElevenLabs Queue] Request failed:\", error.message);\n  });\n\n  return queue;\n}\n\n\u002F\u002F Usage\nconst queue = createRequestQueue(\"pro\"); \u002F\u002F 10 concurrent\n\nasync function generateWithQueue(voiceId: string, text: string) {\n  return queue.add(async () => {\n    return client.textToSpeech.convert(voiceId, {\n      text,\n      model_id: \"eleven_flash_v2_5\",\n    });\n  });\n}\n\n\u002F\u002F All 20 requests run with max 10 concurrent\nconst results = await Promise.all(\n  texts.map(text => generateWithQueue(\"21m00Tcm4TlvDq8ikWAM\", text))\n);\n```\n\n### Step 4: Exponential Backoff for system_busy\n\n```typescript\n\u002F\u002F src\u002Felevenlabs\u002Fbackoff.ts\nexport async function withBackoff\u003CT>(\n  operation: () => Promise\u003CT>,\n  config = {\n    maxRetries: 5,\n    baseDelayMs: 1000,\n    maxDelayMs: 32_000,\n    jitterMs: 500,\n  }\n): Promise\u003CT> {\n  for (let attempt = 0; attempt \u003C= config.maxRetries; attempt++) {\n    try {\n      return await operation();\n    } catch (error: any) {\n      const status = error.statusCode || error.status;\n      const errorType = error.body?.detail?.status;\n\n      \u002F\u002F Don't retry non-retryable errors\n      if (status === 401 || status === 400 || status === 404) throw error;\n\n      \u002F\u002F For concurrent limit, retry immediately (queue handles spacing)\n      if (errorType === \"too_many_concurrent_requests\") {\n        if (attempt === config.maxRetries) throw error;\n        \u002F\u002F Short pause — the queue is managing concurrency\n        await new Promise(r => setTimeout(r, 50 * (attempt + 1)));\n        continue;\n      }\n\n      \u002F\u002F For system_busy or 5xx, exponential backoff with jitter\n      if (attempt === config.maxRetries) throw error;\n\n      const exponentialDelay = config.baseDelayMs * Math.pow(2, attempt);\n      const jitter = Math.random() * config.jitterMs;\n      const delay = Math.min(exponentialDelay + jitter, config.maxDelayMs);\n\n      console.warn(`[ElevenLabs] ${errorType || status}. Retry ${attempt + 1}\u002F${config.maxRetries} in ${delay.toFixed(0)}ms`);\n      await new Promise(r => setTimeout(r, delay));\n    }\n  }\n  throw new Error(\"Unreachable\");\n}\n```\n\n### Step 5: Quota Monitor\n\n```typescript\n\u002F\u002F src\u002Felevenlabs\u002Fquota-monitor.ts\nimport { ElevenLabsClient } from \"@elevenlabs\u002Felevenlabs-js\";\n\nexport class QuotaMonitor {\n  private characterCount = 0;\n  private characterLimit = 0;\n  private lastCheck = 0;\n\n  constructor(\n    private client: ElevenLabsClient,\n    private warningThresholdPct = 80,\n    private checkIntervalMs = 60_000\n  ) {}\n\n  async check(): Promise\u003C{\n    used: number;\n    limit: number;\n    remaining: number;\n    pctUsed: number;\n    warning: boolean;\n  }> {\n    const now = Date.now();\n    if (now - this.lastCheck > this.checkIntervalMs) {\n      const user = await this.client.user.get();\n      this.characterCount = user.subscription.character_count;\n      this.characterLimit = user.subscription.character_limit;\n      this.lastCheck = now;\n    }\n\n    const remaining = this.characterLimit - this.characterCount;\n    const pctUsed = (this.characterCount \u002F this.characterLimit) * 100;\n\n    return {\n      used: this.characterCount,\n      limit: this.characterLimit,\n      remaining,\n      pctUsed: Math.round(pctUsed * 10) \u002F 10,\n      warning: pctUsed >= this.warningThresholdPct,\n    };\n  }\n\n  async guardRequest(textLength: number): Promise\u003Cvoid> {\n    const quota = await this.check();\n    if (textLength > quota.remaining) {\n      throw new Error(\n        `Insufficient quota: need ${textLength} chars, have ${quota.remaining} remaining (${quota.pctUsed}% used)`\n      );\n    }\n    if (quota.warning) {\n      console.warn(`[ElevenLabs] Quota warning: ${quota.pctUsed}% used (${quota.remaining} chars remaining)`);\n    }\n  }\n}\n```\n\n### Step 6: Combined Rate-Limited Client\n\n```typescript\n\u002F\u002F src\u002Felevenlabs\u002Fresilient-client.ts\nimport { ElevenLabsClient } from \"@elevenlabs\u002Felevenlabs-js\";\nimport { createRequestQueue } from \".\u002Frate-limiter\";\nimport { withBackoff } from \".\u002Fbackoff\";\nimport { QuotaMonitor } from \".\u002Fquota-monitor\";\n\nexport function createResilientClient(plan: \"free\" | \"starter\" | \"creator\" | \"pro\" | \"scale\" = \"pro\") {\n  const client = new ElevenLabsClient({ maxRetries: 0 }); \u002F\u002F We handle retries\n  const queue = createRequestQueue(plan);\n  const quota = new QuotaMonitor(client);\n\n  return {\n    async generateSpeech(voiceId: string, text: string, modelId = \"eleven_multilingual_v2\") {\n      await quota.guardRequest(text.length);\n\n      return queue.add(() =>\n        withBackoff(() =>\n          client.textToSpeech.convert(voiceId, {\n            text,\n            model_id: modelId,\n          })\n        )\n      );\n    },\n\n    getQueueStats() {\n      return {\n        pending: queue.pending,\n        size: queue.size,\n      };\n    },\n\n    checkQuota: () => quota.check(),\n  };\n}\n```\n\n## Model Cost Impact on Quota\n\n| Model | Credits per Character | 10,000 Chars Cost |\n|-------|-----------------------|-------------------|\n| `eleven_v3` | 1.0 | 10,000 credits |\n| `eleven_multilingual_v2` | 1.0 | 10,000 credits |\n| `eleven_flash_v2_5` | 0.5 | 5,000 credits |\n| `eleven_turbo_v2_5` | 0.5 | 5,000 credits |\n\nUse Flash\u002FTurbo models during development to conserve quota.\n\n## Error Handling\n\n| Scenario | Detection | Response |\n|----------|-----------|----------|\n| Concurrent limit hit | 429 + `too_many_concurrent_requests` | Queue; retry after ~50ms per queued request |\n| System busy | 429 + `system_busy` | Exponential backoff (1s, 2s, 4s, 8s...) |\n| Quota exhausted | 401 + `quota_exceeded` | Stop requests; alert; wait for reset |\n| Server error | 500-599 | Exponential backoff; max 5 retries |\n\n## Resources\n\n- [ElevenLabs Rate Limits Help](https:\u002F\u002Fhelp.elevenlabs.io\u002Fhc\u002Fen-us\u002Farticles\u002F19571824571921)\n- [ElevenLabs Pricing](https:\u002F\u002Felevenlabs.io\u002Fpricing)\n- [p-queue Documentation](https:\u002F\u002Fgithub.com\u002Fsindresorhus\u002Fp-queue)\n\n## Next Steps\n\nFor security configuration, see `elevenlabs-security-basics`.\n","# ElevenLabs Rate Limits\n\n## Overview\n\nHandle ElevenLabs rate limits with plan-aware concurrency queuing, exponential backoff, and quota monitoring. ElevenLabs uses two rate limit mechanisms: concurrent request limits (per plan) and system-level throttling.\n\n## Prerequisites\n\n- ElevenLabs SDK installed\n- Understanding of your subscription plan's limits\n- `p-queue` package (recommended): `npm install p-queue`\n\n## Instructions\n\n### Step 1: Understand the Two 429 Error Types\n\nElevenLabs returns HTTP 429 for two different reasons:\n\n| 429 Variant | Response Body | Cause | Strategy |\n|-------------|--------------|-------|----------|\n| `too_many_concurrent_requests` | `{\"detail\":{\"status\":\"too_many_concurrent_requests\"}}` | Exceeded plan concurrency | Queue requests, don't backoff |\n| `system_busy` | `{\"detail\":{\"status\":\"system_busy\"}}` | Server overload | Exponential backoff |\n\n### Step 2: Plan Concurrency Limits\n\n| Plan | Max Concurrent Requests | Characters\u002FMonth |\n|------|------------------------|-------------------|\n| Free | 2 | 10,000 |\n| Starter | 3 | 30,000 |\n| Creator | 5 | 100,000 |\n| Pro | 10 | 500,000 |\n| Scale | 15 | 2,000,000 |\n| Business | 15 | Custom |\n\n### Step 3: Concurrency-Aware Request Queue\n\n```typescript\n\u002F\u002F src\u002Felevenlabs\u002Frate-limiter.ts\nimport PQueue from \"p-queue\";\n\ntype ElevenLabsPlan = \"free\" | \"starter\" | \"creator\" | \"pro\" | \"scale\" | \"business\";\n\nconst CONCURRENCY_LIMITS: Record\u003CElevenLabsPlan, number> = {\n  free: 2,\n  starter: 3,\n  creator: 5,\n  pro: 10,\n  scale: 15,\n  business: 15,\n};\n\nexport function createRequestQueue(plan: ElevenLabsPlan) {\n  const concurrency = CONCURRENCY_LIMITS[plan];\n\n  const queue = new PQueue({\n    concurrency,\n    \u002F\u002F Each queued request adds ~50ms to response time\n    \u002F\u002F so keep queue depth reasonable\n    timeout: 120_000,  \u002F\u002F 2 minute timeout per request\n    throwOnTimeout: true,\n  });\n\n  queue.on(\"error\", (error) => {\n    console.error(\"[ElevenLabs Queue] Request failed:\", error.message);\n  });\n\n  return queue;\n}\n\n\u002F\u002F Usage\nconst queue = createRequestQueue(\"pro\"); \u002F\u002F 10 concurrent\n\nasync function generateWithQueue(voiceId: string, text: string) {\n  return queue.add(async () => {\n    return client.textToSpeech.convert(voiceId, {\n      text,\n      model_id: \"eleven_flash_v2_5\",\n    });\n  });\n}\n\n\u002F\u002F All 20 requests run with max 10 concurrent\nconst results = await Promise.all(\n  texts.map(text => generateWithQueue(\"21m00Tcm4TlvDq8ikWAM\", text))\n);\n```\n\n### Step 4: Exponential Backoff for system_busy\n\n```typescript\n\u002F\u002F src\u002Felevenlabs\u002Fbackoff.ts\nexport async function withBackoff\u003CT>(\n  operation: () => Promise\u003CT>,\n  config = {\n    maxRetries: 5,\n    baseDelayMs: 1000,\n    maxDelayMs: 32_000,\n    jitterMs: 500,\n  }\n): Promise\u003CT> {\n  for (let attempt = 0; attempt \u003C= config.maxRetries; attempt++) {\n    try {\n      return await operation();\n    } catch (error: any) {\n      const status = error.statusCode || error.status;\n      const errorType = error.body?.detail?.status;\n\n      \u002F\u002F Don't retry non-retryable errors\n      if (status === 401 || status === 400 || status === 404) throw error;\n\n      \u002F\u002F For concurrent limit, retry immediately (queue handles spacing)\n      if (errorType === \"too_many_concurrent_requests\") {\n        if (attempt === config.maxRetries) throw error;\n        \u002F\u002F Short pause — the queue is managing concurrency\n        await new Promise(r => setTimeout(r, 50 * (attempt + 1)));\n        continue;\n      }\n\n      \u002F\u002F For system_busy or 5xx, exponential backoff with jitter\n      if (attempt === config.maxRetries) throw error;\n\n      const exponentialDelay = config.baseDelayMs * Math.pow(2, attempt);\n      const jitter = Math.random() * config.jitterMs;\n      const delay = Math.min(exponentialDelay + jitter, config.maxDelayMs);\n\n      console.warn(`[ElevenLabs] ${errorType || status}. Retry ${attempt + 1}\u002F${config.maxRetries} in ${delay.toFixed(0)}ms`);\n      await new Promise(r => setTimeout(r, delay));\n    }\n  }\n  throw new Error(\"Unreachable\");\n}\n```\n\n### Step 5: Quota Monitor\n\n```typescript\n\u002F\u002F src\u002Felevenlabs\u002Fquota-monitor.ts\nimport { ElevenLabsClient } from \"@elevenlabs\u002Felevenlabs-js\";\n\nexport class QuotaMonitor {\n  private characterCount = 0;\n  private characterLimit = 0;\n  private lastCheck = 0;\n\n  constructor(\n    private client: ElevenLabsClient,\n    private warningThresholdPct = 80,\n    private checkIntervalMs = 60_000\n  ) {}\n\n  async check(): Promise\u003C{\n    used: number;\n    limit: number;\n    remaining: number;\n    pctUsed: number;\n    warning: boolean;\n  }> {\n    const now = Date.now();\n    if (now - this.lastCheck > this.checkIntervalMs) {\n      const user = await this.client.user.get();\n      this.characterCount = user.subscription.character_count;\n      this.characterLimit = user.subscription.character_limit;\n      this.lastCheck = now;\n    }\n\n    const remaining = this.characterLimit - this.characterCount;\n    const pctUsed = (this.characterCount \u002F this.characterLimit) * 100;\n\n    return {\n      used: this.characterCount,\n      limit: this.characterLimit,\n      remaining,\n      pctUsed: Math.round(pctUsed * 10) \u002F 10,\n      warning: pctUsed >= this.warningThresholdPct,\n    };\n  }\n\n  async guardRequest(textLength: number): Promise\u003Cvoid> {\n    const quota = await this.check();\n    if (textLength > quota.remaining) {\n      throw new Error(\n        `Insufficient quota: need ${textLength} chars, have ${quota.remaining} remaining (${quota.pctUsed}% used)`\n      );\n    }\n    if (quota.warning) {\n      console.warn(`[ElevenLabs] Quota warning: ${quota.pctUsed}% used (${quota.remaining} chars remaining)`);\n    }\n  }\n}\n```\n\n### Step 6: Combined Rate-Limited Client\n\n```typescript\n\u002F\u002F src\u002Felevenlabs\u002Fresilient-client.ts\nimport { ElevenLabsClient } from \"@elevenlabs\u002Felevenlabs-js\";\nimport { createRequestQueue } from \".\u002Frate-limiter\";\nimport { withBackoff } from \".\u002Fbackoff\";\nimport { QuotaMonitor } from \".\u002Fquota-monitor\";\n\nexport function createResilientClient(plan: \"free\" | \"starter\" | \"creator\" | \"pro\" | \"scale\" = \"pro\") {\n  const client = new ElevenLabsClient({ maxRetries: 0 }); \u002F\u002F We handle retries\n  const queue = createRequestQueue(plan);\n  const quota = new QuotaMonitor(client);\n\n  return {\n    async generateSpeech(voiceId: string, text: string, modelId = \"eleven_multilingual_v2\") {\n      await quota.guardRequest(text.length);\n\n      return queue.add(() =>\n        withBackoff(() =>\n          client.textToSpeech.convert(voiceId, {\n            text,\n            model_id: modelId,\n          })\n        )\n      );\n    },\n\n    getQueueStats() {\n      return {\n        pending: queue.pending,\n        size: queue.size,\n      };\n    },\n\n    checkQuota: () => quota.check(),\n  };\n}\n```\n\n## Model Cost Impact on Quota\n\n| Model | Credits per Character | 10,000 Chars Cost |\n|-------|-----------------------|-------------------|\n| `eleven_v3` | 1.0 | 10,000 credits |\n| `eleven_multilingual_v2` | 1.0 | 10,000 credits |\n| `eleven_flash_v2_5` | 0.5 | 5,000 credits |\n| `eleven_turbo_v2_5` | 0.5 | 5,000 credits |\n\nUse Flash\u002FTurbo models during development to conserve quota.\n\n## Error Handling\n\n| Scenario | Detection | Response |\n|----------|-----------|----------|\n| Concurrent limit hit | 429 + `too_many_concurrent_requests` | Queue; retry after ~50ms per queued request |\n| System busy | 429 + `system_busy` | Exponential backoff (1s, 2s, 4s, 8s...) |\n| Quota exhausted | 401 + `quota_exceeded` | Stop requests; alert; wait for reset |\n| Server error | 500-599 | Exponential backoff; max 5 retries |\n\n## Resources\n\n- [ElevenLabs Rate Limits Help](https:\u002F\u002Fhelp.elevenlabs.io\u002Fhc\u002Fen-us\u002Farticles\u002F19571824571921)\n- [ElevenLabs Pricing](https:\u002F\u002Felevenlabs.io\u002Fpricing)\n- [p-queue Documentation](https:\u002F\u002Fgithub.com\u002Fsindresorhus\u002Fp-queue)\n\n## Next Steps\n\nFor security configuration, see `elevenlabs-security-basics`.\n",{"name":5,"tags":24,"author":31,"license":15,"version":32,"description":33,"allowed-tools":34,"compatible-with":35},[25,26,27,28,29,30],"saas","voice","ai","elevenlabs","rate-limits","reliability","Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Implement ElevenLabs rate limiting, concurrency queuing, and backoff patterns.\nUse when handling 429 errors, implementing retry logic,\nor managing concurrent TTS request throughput.\nTrigger: \"elevenlabs rate limit\", \"elevenlabs throttling\",\n\"elevenlabs 429\", \"elevenlabs retry\", \"elevenlabs backoff\",\n\"elevenlabs concurrent requests\".\n","Read, Write, Edit","claude-code","main","99825ad3f3bcc6597ddcc7294a14e6e922f2b67b","skills\u002Fsaas-packs--elevenlabs-pack--elevenlabs-rate-limits",0,"https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills","https:\u002F\u002Fgithub.com\u002Fjukeyman","https:\u002F\u002FRJBUSINESSSOLUTIONS.ORG","Credit and Finance Expert | Developer\r\n\r\nI'm Rick Jefferson, a seasoned credit and finance expert with over a decade of experience in financial literacy,","2026-07-13 07:03:29",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add jukeyman\u002Fjukeyman-skills --skill elevenlabs-rate-limits",{"tool":51,"command":52},"bunx","bunx skills add jukeyman\u002Fjukeyman-skills --skill elevenlabs-rate-limits",{"tool":54,"command":55},"pnpm","pnpm dlx skills add jukeyman\u002Fjukeyman-skills --skill elevenlabs-rate-limits","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fsaas-packs--elevenlabs-pack--elevenlabs-rate-limits\u002FSKILL.md",true,[],[60,67,74,81,88,96],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":19},"01M79ANS2SM329NEP5ZCX106RR","zustand-store-creator","Create zustand store creator operations. Auto-activating skill for Frontend Development.\nTriggers on: zustand store creator, zustand store creator\nPart of the Frontend Development skill category. Use when working with zustand store creator functionality. Trigger with phrases like \"zustand store creator\", \"zustand creator\", \"zustand\".","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzustand-store-creator\u002FSKILL.md",[],[],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":19},"01M79AMZKP4YDEZ7EHG1Y7PP74","zero-trust-config-helper","Configure with zero trust config helper operations. Auto-activating skill for Security Advanced.\nTriggers on: zero trust config helper, zero trust config helper\nPart of the Security Advanced skill category. Use when configuring systems or services. Trigger with phrases like \"zero trust config helper\", \"zero helper\", \"zero\".","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzero-trust-config-helper\u002FSKILL.md",[],[],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":19},"01M79AMJSBCEJQNBTYNAHYN5HM","zapier-integration-helper","Assist with zapier integration helper operations. Auto-activating skill for Business Automation.\nTriggers on: zapier integration helper, zapier integration helper\nPart of the Business Automation skill category. Use when working with APIs or building integrations. Trigger with phrases like \"zapier integration helper\", \"zapier helper\", \"zapier\".","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzapier-integration-helper\u002FSKILL.md",[],[],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":19},"01M79AHJZGVMARS13VFQYRR1MP","yaml-config-validator","Validate yaml config validator operations. Auto-activating skill for DevOps Basics.\nTriggers on: yaml config validator, yaml config validator\nPart of the DevOps Basics skill category. Use when configuring systems or services. Trigger with phrases like \"yaml config validator\", \"yaml validator\", \"yaml\".","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fyaml-config-validator\u002FSKILL.md",[],[],{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":92,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":19},"01M79AHGDZRN0020RDQSQDPAM8","xvary-stock-research","Thesis-driven equity analysis from public SEC EDGAR and market data; \u002Fanalyze, \u002Fscore, \u002Fcompare workflows with bundled Python tools (Claude Code, Cursor, Codex).","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fxvary-stock-research\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fxvary-stock-research\u002FSKILL.md",[],[],{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":19},"01M79AHCYJ9FV9RMHQ24HDRN33","xss-vulnerability-scanner","Scan xss vulnerability scanner operations. Auto-activating skill for Security Fundamentals.\nTriggers on: xss vulnerability scanner, xss vulnerability scanner\nPart of the Security Fundamentals skill category. Use when working with xss vulnerability scanner functionality. Trigger with phrases like \"xss vulnerability scanner\", \"xss scanner\", \"xss\".","https:\u002F\u002Fgithub.com\u002Fjukeyman\u002Fjukeyman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fxss-vulnerability-scanner\u002FSKILL.md",[],[]]