Install any skill in seconds. Free to start, no credit card required.
Get Started Free →jeremylongshore/juicebox-rate-limits
Implement Juicebox rate limiting. Trigger: "juicebox rate limit", "juicebox 429", "juicebox throttle".
Passed 18 of 22 test cases with the skill, and 6 of 22 without it.
and 15 more in the full report
13 fixed5 passed either way3 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 13 test cases the skill fixed. Same model, same prompt, with and without the skill.
Our reporting dashboard regularly exports generated summary reports using the Juicebox API export endpoint. Standard export rate limits are usually set to 30 req/min. What is the exact per-minute download request cap per API key on Juicebox?
| Checked | Without skill | With skill |
|---|---|---|
| Specifies a rate limit of 10 requests per minute for export downloads. | Missed | Passed |
The instructions your model reads when the skill loads.
Juicebox's AI-powered data analysis API enforces plan-tiered rate limits across dataset uploads, analysis triggers, and result retrieval. Heavy analytical workloads like running comparative analyses across multiple datasets or batch-processing survey results hit the analysis trigger limit first. The enrichment endpoints for augmenting datasets with external data sources have separate, lower caps, making it essential to prioritize enrichment calls and batch analysis runs during off-peak windows.
| Endpoint | Limit | Window | Scope |
|---|---|---|---|
| Dataset upload | 20 req | 1 minute | Per API key |
| Analysis trigger | 30 req | 1 minute | Per API key |
| Result retrieval | 120 req | 1 minute | Per API key |
| Data enrichment | 15 req | 1 minute | Per API key |
| Export download | 10 req | 1 minute | Per API key |
class JuiceboxRateLimiter {
private tokens: number;
private lastRefill: number;
private readonly max: number;
private readonly refillRate: number;
private queue: Array<{ resolve: () => void }> = [];
constructor(maxPerMinute: number) {
this.max = maxPerMinute;
this.tokens = maxPerMinute;
this.lastRefill = Date.now();
this.refillRate = maxPerMinute / 60_000;
}
async acquire(): Promise<void> {
this.refill();
if (this.tokens >= 1) { this.tokens -= 1; return; }
return new Promise(resolve => this.queue.push({ resolve }));
}
private refill() {
test cases passed, vs 6 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.