[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H5Y0G80G3XVQXASJSZ9FMX":3,"skill-same:01M6H5Y0G80G3XVQXASJSZ9FMX":84},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":59,"install":60,"resources":73},"01M6H5Y0G80G3XVQXASJSZ9FMX","customerio-rate-limits",null,"Implement Customer.io rate limiting and backoff.\nUse when handling high-volume API calls, implementing\nretry logic, or optimizing API usage.\nTrigger with phrases like \"customer.io rate limit\", \"customer.io throttle\",\n\"customer.io 429\", \"customer.io backoff\".","micsapp\u002Fmicstec-skills","micsapp","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F82411001?v=4","01M6GWCFQ6D3PV8EHNY62NN5VW","01M6GWCFVE1PA5HG0DKC7AMFJ3",4,"MIT","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fclaude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Fcustomerio-pack\u002Fskills\u002Fcustomerio-rate-limits\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"customerio rate limits","with","implementing","limit","usage","calls","429","throttle","backoff","retry","codex","trigger","io","rate limiting","volume","use","Bash","api","code","implement","2026-11-10 10:12:30",false,"---\nname: customerio-rate-limits\ndescription: |\n  Implement Customer.io rate limiting and backoff.\n  Use when handling high-volume API calls, implementing\n  retry logic, or optimizing API usage.\n  Trigger with phrases like \"customer.io rate limit\", \"customer.io throttle\",\n  \"customer.io 429\", \"customer.io backoff\".\nallowed-tools: Read, Grep, Bash(curl:*)\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ncompatible-with: claude-code, codex, openclaw\n---\n# Customer.io Rate Limits\n\n## Overview\nUnderstand and implement proper rate limiting and backoff strategies for Customer.io API to handle high-volume operations reliably.\n\n## Rate Limit Details\n\n### Track API Limits\n| Endpoint | Limit | Window |\n|----------|-------|--------|\n| Identify | 100 requests\u002Fsecond | Per workspace |\n| Track events | 100 requests\u002Fsecond | Per workspace |\n| Batch operations | 100 requests\u002Fsecond | Per workspace |\n\n### App API Limits\n| Endpoint | Limit | Window |\n|----------|-------|--------|\n| Transactional email\u002Fpush | 100\u002Fsecond | Per workspace |\n| API queries | 10\u002Fsecond | Per workspace |\n\n## Instructions\n\n### Step 1: Implement Token Bucket Rate Limiter\nBuild a rate limiter with configurable tokens per second, automatic refill, and async waiting when tokens are depleted.\n\n### Step 2: Add Exponential Backoff\nCreate retry logic with configurable max retries, base delay, max delay, and jitter factor. Skip retries on client errors (4xx except 429).\n\n### Step 3: Create Rate-Limited Client\nWrap the Customer.io client to acquire a rate limit token before each request and apply backoff on failures.\n\n### Step 4: Handle 429 Response Headers\nParse `X-RateLimit-Remaining`, `X-RateLimit-Reset`, and `Retry-After` headers to adapt dynamically.\n\n### Step 5: Add Queue-Based Rate Limiting\nUse p-queue with interval-based rate limiting for cleaner high-volume processing.\n\nFor detailed implementation code, load the reference guide:\n`Read(${CLAUDE_SKILL_DIR}\u002Freferences\u002Fimplementation-guide.md)`\n\n## Error Handling\n| Scenario | Action |\n|----------|--------|\n| 429 received | Respect Retry-After header |\n| Burst traffic | Use queue with concurrency limit |\n| Sustained high volume | Implement sliding window |\n\n## Resources\n- [API Rate Limits](https:\u002F\u002Fcustomer.io\u002Fdocs\u002Fapi\u002Ftrack\u002F#section\u002FLimits)\n- [Best Practices](https:\u002F\u002Fcustomer.io\u002Fdocs\u002Fbest-practices\u002F)\n\n## Next Steps\nAfter implementing rate limits, proceed to `customerio-security-basics` for security best practices.\n\n## Prerequisites\n\n- Access to the API environment or API\n- Required CLI tools installed and authenticated\n- Familiarity with API concepts and terminology\n\n## Output\n\n- Configuration files or code changes applied to the project\n- Validation report confirming correct implementation\n- Summary of changes made and their rationale\n\nSee [API implementation details](${CLAUDE_SKILL_DIR}\u002Freferences\u002Fimplementation.md) for output format specifications.\n\n## Examples\n\n**Basic usage**: Apply customerio rate limits to a standard project setup with default configuration options.\n\n**Advanced scenario**: Customize customerio rate limits for production environments with multiple constraints and team-specific requirements.","# Customer.io Rate Limits\n\n## Overview\nUnderstand and implement proper rate limiting and backoff strategies for Customer.io API to handle high-volume operations reliably.\n\n## Rate Limit Details\n\n### Track API Limits\n| Endpoint | Limit | Window |\n|----------|-------|--------|\n| Identify | 100 requests\u002Fsecond | Per workspace |\n| Track events | 100 requests\u002Fsecond | Per workspace |\n| Batch operations | 100 requests\u002Fsecond | Per workspace |\n\n### App API Limits\n| Endpoint | Limit | Window |\n|----------|-------|--------|\n| Transactional email\u002Fpush | 100\u002Fsecond | Per workspace |\n| API queries | 10\u002Fsecond | Per workspace |\n\n## Instructions\n\n### Step 1: Implement Token Bucket Rate Limiter\nBuild a rate limiter with configurable tokens per second, automatic refill, and async waiting when tokens are depleted.\n\n### Step 2: Add Exponential Backoff\nCreate retry logic with configurable max retries, base delay, max delay, and jitter factor. Skip retries on client errors (4xx except 429).\n\n### Step 3: Create Rate-Limited Client\nWrap the Customer.io client to acquire a rate limit token before each request and apply backoff on failures.\n\n### Step 4: Handle 429 Response Headers\nParse `X-RateLimit-Remaining`, `X-RateLimit-Reset`, and `Retry-After` headers to adapt dynamically.\n\n### Step 5: Add Queue-Based Rate Limiting\nUse p-queue with interval-based rate limiting for cleaner high-volume processing.\n\nFor detailed implementation code, load the reference guide:\n`Read(${CLAUDE_SKILL_DIR}\u002Freferences\u002Fimplementation-guide.md)`\n\n## Error Handling\n| Scenario | Action |\n|----------|--------|\n| 429 received | Respect Retry-After header |\n| Burst traffic | Use queue with concurrency limit |\n| Sustained high volume | Implement sliding window |\n\n## Resources\n- [API Rate Limits](https:\u002F\u002Fcustomer.io\u002Fdocs\u002Fapi\u002Ftrack\u002F#section\u002FLimits)\n- [Best Practices](https:\u002F\u002Fcustomer.io\u002Fdocs\u002Fbest-practices\u002F)\n\n## Next Steps\nAfter implementing rate limits, proceed to `customerio-security-basics` for security best practices.\n\n## Prerequisites\n\n- Access to the API environment or API\n- Required CLI tools installed and authenticated\n- Familiarity with API concepts and terminology\n\n## Output\n\n- Configuration files or code changes applied to the project\n- Validation report confirming correct implementation\n- Summary of changes made and their rationale\n\nSee [API implementation details](${CLAUDE_SKILL_DIR}\u002Freferences\u002Fimplementation.md) for output format specifications.\n\n## Examples\n\n**Basic usage**: Apply customerio rate limits to a standard project setup with default configuration options.\n\n**Advanced scenario**: Customize customerio rate limits for production environments with multiple constraints and team-specific requirements.",{"name":5,"author":48,"license":14,"version":49,"description":50,"allowed-tools":51,"compatible-with":52},"Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Implement Customer.io rate limiting and backoff.\nUse when handling high-volume API calls, implementing\nretry logic, or optimizing API usage.\nTrigger with phrases like \"customer.io rate limit\", \"customer.io throttle\",\n\"customer.io 429\", \"customer.io backoff\".\n","Read, Grep, Bash(curl:*)","claude-code, codex, openclaw","master","3f5d983eb4ef375b749adcd6b07ec03bd82ae8a8","claude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Fcustomerio-pack\u002Fskills\u002Fcustomerio-rate-limits",0,"https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills","https:\u002F\u002Fgithub.com\u002Fmicsapp","2026-03-20 11:24:18",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add micsapp\u002Fmicstec-skills --skill customerio-rate-limits",{"tool":66,"command":67},"bunx","bunx skills add micsapp\u002Fmicstec-skills --skill customerio-rate-limits",{"tool":69,"command":70},"pnpm","pnpm dlx skills add micsapp\u002Fmicstec-skills --skill customerio-rate-limits","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fclaude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Fcustomerio-pack\u002Fskills\u002Fcustomerio-rate-limits\u002FSKILL.md",true,[74,80],{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"references\u002Fimplementation-guide.md","REFERENCE","参考文档",5977,"https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fclaude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Fcustomerio-pack\u002Fskills\u002Fcustomerio-rate-limits\u002Freferences\u002Fimplementation-guide.md",{"path":81,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fimplementation.md",3949,"https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fclaude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Fcustomerio-pack\u002Fskills\u002Fcustomerio-rate-limits\u002Freferences\u002Fimplementation.md",[85,117,145,165,185,210],{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":97,"publishedAt":43},"01M6HBTJ02FXBFG9NYEHHYAP52","azure-apim-architecture","Analyzes and explains Azure API Management architecture decisions for enterprise API marketplace implementations using VNet Internal mode, Front Door, hybrid authentication, and multi-environment strategies. Use when discussing APIM component selection, network topology, cost optimization, or comparing alternatives like workspaces vs instances, VNet Internal vs External mode, or Front Door vs Application Gateway.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fazure-apim-architecture\u002FSKILL.md",[91,96],{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[98,99,100,101,102,103,104,105,106,40,107,108,109,110,111,112,113,114,115,116],"architecture","azure","azure apim architecture","component","authentication","gateway","topology","Optimization","network","team","environment","multi-environment","workspaces","instances","selection","strategies","azure api management","mode","for",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":131,"publishedAt":43},"01M6HBT7J4H082JEEA670B3EQ9","apiops-deployment","Guides deployment of Azure API Management infrastructure using Infrastructure as Code (Bicep\u002FTerraform), CI\u002FCD pipelines (GitHub Actions\u002FAzure DevOps), and APIOps workflows. Use when deploying APIM, creating pipelines, or implementing dev→test→prod promotion strategies.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapiops-deployment\u002FSKILL.md",[123,124,127,130],{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},{"categoryNo":125,"categoryName":126,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":128,"categoryName":129,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[132,133,134,135,99,136,41,137,138,139,140,141,40,107,113,142,143,114,144,25],"deployment","apiops deployment","workflows","azure devops","infrastructure","infrastructure as code","actions","ci","github actions","github-actions","as","guides","CI\u002FCD",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":152,"publishedAt":43},"01M6HBT2HEA23THNE9E00GYQBE","apim-policy-authoring","Creates production-ready Azure API Management policy XML for authentication (OAuth 2.0, JWT validation, subscription keys), rate limiting, CORS configuration, error handling, and API transformations. Use when implementing API security, access control, or request\u002Fresponse processing logic.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapim-policy-authoring\u002FSKILL.md",[151],{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},[153,154,155,156,99,102,40,107,157,38,158,159,160,161,162,114,163,164,25,116],"policy","authoring","apim policy authoring","security","access","ready","api security","Access Control","error","processing","cors configuration","production-ready",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":173,"publishedAt":43},"01M6HBSY65SB29J9WE9KYD0K6T","api-security-review","Reviews Azure API Management configurations for security vulnerabilities, OWASP API Security Top 10 compliance, VNet Internal mode validation, Private Link verification, and Azure Security Benchmark alignment. Use when performing security audits, pre-deployment validation, or compliance reviews.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapi-security-review\u002FSKILL.md",[171,172],{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[174,156,175,40,159,176,99,132,177,178,179,180,107,181,114,182,183,184,115,116],"review","security review","api security review","benchmark","verification","owasp","owasp-api","alignment","azure security","reviews","top",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":189,"categories":190,"keywords":191,"publishedAt":43},"01M6HBSRW4PDFE6K4F8JYPZQ05","jira-cli","Interact with Jira from the command line to create, list, view, edit, and transition issues, manage sprints and epics, and perform common Jira workflows. Use when the user asks about Jira tasks, tickets, issues, sprints, or needs to manage project work items.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fawesome-copilot-agents\u002Fskills\u002Fjira-cli\u002FSKILL.md",[],[192,193,194,134,195,196,197,198,40,199,200,201,202,203,204,205,206,207,208,209],"cli","jira","jira cli","init","tasks","create","issues","common","work","command","edit","list","view","project","project work","token","line","sprints",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":214,"categories":215,"keywords":216,"publishedAt":43},"01M6HBSNS3JHMW603G47TWE31H","calculator","Performs arbitrary-precision arithmetic calculations including addition, subtraction, multiplication, division, and exponents. Use when the user asks to calculate, compute, or evaluate math expressions, or when precise decimal arithmetic is needed to avoid floating-point errors.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fawesome-copilot-agents\u002Fskills\u002Fcalculator\u002FSKILL.md",[],[212,217,218,219,220,221,222,38,223,224],"npm","js","calculate","node","math","user","compute","errors"]