Agent skill · software engineering · jeremylongshore
figma-rate-limits
Handle Figma REST API rate limits with exponential backoff and request
Why this skill is useful
Adds an executable script for handling Figma API rate limits with exponential backoff and request queuing, which is not commonly found in public documentation.
What it needs
Requires p-queue installed locally. Requires figma account access. About 4k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.
What this skill does
Figma Rate Limits Overview Figma uses a leaky bucket algorithm for rate limiting. When the bucket is full, the API returns 429 with a Retry-After header. Limits vary by plan tier, seat type, and endpoint tier. Prerequisites Figma REST API integration working Understanding of async/await patterns Instructions Step 1: Understand the Rate Limit Model Endpoint tiers (limits are per-user, per-minute): Tier Endpoints Typical Limit ------ ----------- -------------- Tier 1 GET /v1/files, GET /v1/images Higher quota Tier 2 GET /v1/files/:key/comments, GET /v1/files/:key/variables/local Moderate quota Tier 3 GET /v1/teams/:id/components, GET /v1/teams/:id/styles Lower quota 429 response headers: Header Type Meaning -------- ------ --------- Retry-After Integer (seconds) Wait this long before retrying X-Figma-Plan-Tier String Your Figma plan level X-Figma-Rate-Limit-Type String "low" or "high" rate limit X-Figma-Upgrade-Link String URL to upgrade for higher limits Step 2: Implement Exponential Backoff Step 3: Request Queue with Concurrency Control Step 4: Rate Limit Monitor Step 5: Batch Node Requests Output Automatic retry with Retry-After header compliance Request queue preventing burst overload Rate limit monitoring with proactive throttling Batch operations reducing total request count Error Handling Scenario Detection Response ---------- ----------- ---------- Single 429 Retry-After header Wait exactly that duration Repeated 429s Multiple retries exhausted Log, alert, back off longer low rate limit type X-Figma-Rate-Limit-Type: low Consider upgrading Figma plan Batch too large 400 Bad Request Reduce batch size to 50 IDs Examples Reproduce a 429 and read the headers that drive every pattern in this skill (Step 1): Collapse N per-node calls into one batched request (Step 5) — the single biggest budget win: Backoff implementation and the queue: references/implement-exponential-backoff.md, references/request-queue-with-concurrency-control.md. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills jeremylongshore/figma-rate-limits