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".

64

Quality

77%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

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

Quality

Content

65%Weight 40%Scale 1-3

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

A highly actionable skill body with complete, executable code and a clear step sequence, but it is held back by loading five full implementations inline while its own reference bundle files go unreferenced, and by a bulk-import batch workflow that lacks a verification checkpoint.

Suggestions

Move the longer implementations (the queued p-queue client and bulk-import script) into references/implementation-guide.md and link to them from the body, keeping a concise core example inline — this both improves progressive disclosure and tightens conciseness.

Add an explicit validation/verification checkpoint to the bulk-import workflow (e.g. verify credentials resolve, dry-run on a small batch, confirm 429s stay at zero before scaling) so the batch operation clears the workflow-clarity cap.

Link the existing references/implementation.md and references/implementation-guide.md from a clearly signaled section so the bundle is discoverable and not orphaned.

DimensionReasoningScore

Conciseness

The prose is lean and avoids explaining basics Claude already knows, but five full inline TypeScript implementations (~200 lines of code) sit directly in SKILL.md when the skill ships reference files that could hold them, so it could be tightened rather than earning the every-token-earns-its-place anchor.

2 / 3

Actionability

Quotes fully executable, copy-paste-ready code (TokenBucket class, withBackoff, RateLimitedCioClient, p-queue setup) with concrete install command "npm install p-queue" and specific env vars, matching the executable-and-complete anchor.

3 / 3

Workflow Clarity

Steps are clearly sequenced (Step 1–5) with an Error Handling table, but the bulk-import batch operation (Step 5) only has try/catch and progress logging with no validation/verification checkpoint before proceeding, so per the batch-operation rule workflow clarity is capped at 2.

2 / 3

Progressive Disclosure

The body lists no links to the bundled references/implementation-guide.md or references/implementation.md even though they exist, while ~200 lines of full implementations that belong in those files sit inline — matching the anchor where references are present but not signaled and content that should be separate is inline.

2 / 3

Total

9

/

12

Passed

Description

90%Weight 40%Scale 1-3

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

A focused, well-constructed description that clearly states what it does, when to use it, and lists natural trigger terms specific to Customer.io. The only weakness is that the capability list is narrow (rate limiting + backoff) rather than enumerating the full set of techniques the skill actually delivers.

Suggestions

Expand the opening capability sentence to name the concrete techniques the skill covers, e.g. "Implement Customer.io rate limiting: token bucket limiters, exponential backoff with jitter, queue-based processing, and 429 handling."

The description contains stray blank lines inside the YAML string; collapse to a single paragraph to keep the frontmatter clean.

DimensionReasoningScore

Specificity

Quotes "Implement Customer.io rate limiting and backoff" — names the domain and a couple of actions (rate limiting, backoff) but does not enumerate the concrete techniques (token bucket, jitter, queueing), so it stops short of the comprehensive multi-action anchor.

2 / 3

Completeness

Quotes both the what ("Implement Customer.io rate limiting and backoff") and an explicit when ("Use when handling high-volume API calls, implementing retry logic, or hitting 429 errors") plus a Trigger line, satisfying the top anchor that requires both an explicit what and explicit triggers.

3 / 3

Trigger Term Quality

Quotes "customer.io rate limit", "customer.io throttle", "customer.io 429", "customer.io backoff", "customer.io too many requests" — these are natural phrases a user would actually say when hitting this problem, matching the good-coverage anchor.

3 / 3

Distinctiveness Conflict Risk

The Customer.io-specific niche with branded trigger terms ("customer.io rate limit", "customer.io 429") makes it unlikely to fire for unrelated skills, matching the clear-niche anchor.

3 / 3

Total

11

/

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.

Validation13 / 16 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

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

13

/

16

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.