Agent skill · software engineering · jeremylongshore

canva-rate-limits

Implement endpoint- and user-scoped Canva throttling with bounded backoff and reconciliation. Use when handling HTTP 429, sizing concurrency, or preventing duplicate asynchronous jobs. Trigger with: "Canva rate limit", "Canva 429", "throttle Canva requests".

Why this skill is useful

Adds executable scripts for handling Canva API rate limits with backoff and queuing that aren't in public docs.

What it needs

Requires p-queue installed locally. Requires canva account access. About 2k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.

What this skill does

Canva Endpoint Throttling Control Overview Canva limits vary by endpoint and are represented in current endpoint/OpenAPI metadata. Do not invent daily export quotas or assume universal headroom/reset headers. Prerequisites Normalized endpoint, user/tenant class, traffic profile, and current metadata Operation idempotency/reconciliation behavior and local retry budget Queue ownership, observability, and abort/rollback thresholds Instructions Step 1: Load current metadata Use Read and Grep to identify the exact operation and its current endpoint rate annotation. Keep the contract version with the limiter configuration. Step 2: Classify the request Separate safe reads, async status polls, mutating submissions, token exchange, and public key reads. Never share one undifferentiated global bucket. Step 3: Persist mutation identity Record application operation identity and any returned job ID before considering retry. Reconcile existing state after ambiguous transport failure. Step 4: Respond to throttling Pause the affected endpoint/user queue. Honor documented response instructions when present; otherwise apply bounded exponential backoff with jitter under a deadline. Step 5: Control concurrency Use Write or Edit to enforce admission, concurrency, queue age, retry count, and circuit/abort limits below the current known ceiling and measured application capacity. Step 6: Detect drift Alert on sustained 429s, changed endpoint metadata, queue starvation, or new operation shapes; require review rather than automatically increasing throughput. Step 7: Prove recovery Record contract version, scoped limiter state, observed responses, reconciliation result, and whether traffic returned without duplicates. Authentication Canva Connect calls use Bearer access tokens obtained by a backend through OAuth 2.0 Authorization Code with SHA-256 PKCE. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills jeremylongshore/canva-rate-limits

View the source on GitHub

Browse the @skills marketplace