CtrlK
BlogDocsLog inGet started
Tessl Logo

customerio-rate-limits

Implement Customer.io rate limiting and backoff. Use when handling high-volume API calls, implementing retry logic, or hitting 429 errors. Trigger: "customer.io rate limit", "customer.io throttle", "customer.io 429", "customer.io backoff", "customer.io too many requests".

80

Quality

77%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/saas-packs/customerio-pack/skills/customerio-rate-limits/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

89%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This is a well-structured skill description with strong trigger terms and clear 'when' guidance specific to Customer.io rate limiting scenarios. The main weakness is that the 'what' could be more specific about concrete actions (e.g., implementing exponential backoff, queue management, retry headers). Overall it's a solid description that would perform well in skill selection.

Suggestions

Add more specific concrete actions to the 'what' portion, e.g., 'Implements exponential backoff, manages request queues, parses Retry-After headers for Customer.io API rate limiting.'

DimensionReasoningScore

Specificity

Names the domain (Customer.io rate limiting and backoff) and some actions (handling high-volume API calls, implementing retry logic, hitting 429 errors), but doesn't list multiple concrete actions like specific implementation details or techniques.

2 / 3

Completeness

Clearly answers both 'what' (implement Customer.io rate limiting and backoff) and 'when' (handling high-volume API calls, implementing retry logic, hitting 429 errors) with explicit trigger terms listed.

3 / 3

Trigger Term Quality

Excellent coverage of natural trigger terms including 'customer.io rate limit', 'customer.io throttle', 'customer.io 429', 'customer.io backoff', 'customer.io too many requests' — these are terms users would naturally use when encountering this problem.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive — scoped specifically to Customer.io rate limiting, which is a clear niche. The explicit 'customer.io' prefix on all trigger terms makes it very unlikely to conflict with generic rate limiting or other API skills.

3 / 3

Total

11

/

12

Passed

Implementation

64%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This is a solid, highly actionable skill with complete, executable TypeScript implementations covering multiple rate-limiting strategies. Its main weaknesses are the length (could be more concise or split across files) and the lack of explicit validation/verification steps in the workflow — there's no guidance on testing that the rate limiting actually works or verifying successful completion of operations.

Suggestions

Add explicit validation checkpoints, e.g., a step to test the rate limiter with a small batch and verify no 429s are received before running bulk operations.

Consider splitting the p-queue and bulk import sections into a linked reference file to keep SKILL.md as a concise overview with the core pattern (token bucket + backoff).

Trim the overview paragraph — the title and rate limit table already convey the purpose; the sentence listing 'token bucket limiters, exponential backoff with jitter...' just previews the headings below.

DimensionReasoningScore

Conciseness

The content is mostly efficient with executable code, but includes some unnecessary verbosity — the overview restates what the title already conveys, the rate limit table includes approximate caveats Claude could infer, and the bulk import section is somewhat redundant given the rate-limited client already exists. The error handling table is useful but partially duplicates guidance already embedded in the code.

2 / 3

Actionability

Fully executable TypeScript code throughout — token bucket implementation, backoff with jitter, rate-limited client wrapper, p-queue integration, and bulk import script are all copy-paste ready with proper imports, types, and realistic defaults.

3 / 3

Workflow Clarity

Steps are clearly sequenced (1-5) and build on each other logically, but there are no explicit validation checkpoints — no step to verify the rate limiter is working correctly, no test to confirm 429 handling, and no feedback loop for verifying the bulk import completed successfully beyond console logging.

2 / 3

Progressive Disclosure

The content is well-structured with clear sections and a reference table, but at ~180 lines it's quite long and could benefit from splitting the code implementations into separate files (e.g., linking to a BULK-IMPORT.md or QUEUE-PROCESSING.md). The external resource links at the bottom are helpful but the inline content is heavy.

2 / 3

Total

9

/

12

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

9

/

11

Passed

Repository
jeremylongshore/claude-code-plugins-plus-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.