LI

linear-rate-limits

Guidance on understanding Linear's complexity-based rate limiting and managing request quotas effectively.

Install

mkdir -p .claude/skills/linear-rate-limits && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/9131" && unzip -o skill.zip -d .claude/skills/linear-rate-limits && rm skill.zip

Installs to .claude/skills/linear-rate-limits

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Handle Linear API rate limiting, complexity budgets, and quotas.
64 charsno explicit “when” trigger
Intermediate

Key capabilities

  • →Read Linear API rate limit headers from responses
  • →Implement exponential backoff with jitter for retries
  • →Space out requests using a token bucket queue
  • →Reduce query complexity by selecting minimal fields
  • →Batch multiple mutations into a single GraphQL request
  • →Monitor remaining requests and complexity budgets

How it works

The skill provides code examples to read rate limit headers, implement exponential backoff for retries, and use a token bucket queue to space out requests. It also demonstrates how to reduce query complexity by selecting fewer fields and batching mutations to stay within Linear's leaky bucket rate limits.

Inputs & outputs

You give it
Linear API key, GraphQL queries, issue IDs for batch updates, and desired requests per second
You get back
Rate limit headers (requests remaining, complexity remaining), retried API call results, queued request processing, reduced query complexity, batched mutation s

When to use linear-rate-limits

  • →Handle rate limit response headers
  • →Optimize API query complexity
  • →Avoid 429 API errors
  • →Monitor API request quotas

About this skill

Linear Request and Complexity Control

Overview

Coordinate the applicable user, app-actor, endpoint, and complexity budgets so retries do not multiply pressure.

Prerequisites

  • The target repository, Linear workspace, environment, and accountable owner
  • Current security, privacy, compliance, capacity, and change-control requirements
  • An approved Linear credential only when a bounded live verification is necessary

Tool Discipline

Use Read, Glob, and Grep to inspect code, configuration, and evidence. Use WebFetch only for current first-party Linear documentation and package metadata. Use Write or Edit only for requested implementation with known target files. Never write credentials, customer content, unrestricted environment output, or unredacted GraphQL variables.

Current Contract

  • API key: 2,500 requests and 3,000,000 complexity points per user per hour; OAuth: 5,000 requests and 2,000,000 points per user or app user per hour.
  • Unauthenticated traffic: 600 requests and 100,000 complexity points per IP per hour; one query is capped at 10,000 points.
  • Endpoint-specific limits can be lower and expose their own limit, remaining, reset, and endpoint-name headers.
  • GraphQL throttling returns HTTP 400 with extensions.code: RATELIMITED; Linear uses a leaky-bucket refill model.

Authentication

Use a personal API key only for owner-controlled scripts, OAuth with PKCE for user-delegated applications, or an enabled client-credentials grant for approved automation. Personal keys use Authorization: <API_KEY>; OAuth tokens use Authorization: Bearer <ACCESS_TOKEN>. Store credentials server-side in an approved secret manager.

Treat app approval, team access, scope changes, credential creation, rotation, revocation, and production access as owner-approved actions.

Instructions

  1. Inventory every producer and auth actor sharing a quota, including multiple keys owned by the same user.
  2. Read request, endpoint, and complexity headers and convert reset values from UTC epoch milliseconds.
  3. Allocate per-workload budgets below all applicable limits and centralize queue/admission control.
  4. Reject queries above the single-query maximum before sending; reduce fields, nesting, and page size.
  5. On RATELIMITED, stop new pressure, honor the relevant reset/window evidence, and bound retry attempts with jitter.
  6. Test burst, sustained, endpoint-specific, complexity, and retry-storm behavior with synthetic workloads.

Approval Boundaries

Do not create, reveal, rotate, or revoke credentials; authorize an OAuth app; change scopes or team access; create, mutate, archive, or delete workspace data; configure or re-enable webhooks; import or export data; change roles, SCIM, or audit streaming; transmit diagnostics; change paid entitlements; or perform another production mutation without explicit approval from the accountable owner. Keep diagnosis read-only unless implementation was requested.

Output

Return the workspace and team scope, auth mode without credential value, files and contracts inspected, exact operation names, evidence collected, validation result, sensitive fields redacted, remaining risk, accountable owner, approval state, and rollback or next action.

Error Handling

ConditionResponse
RATELIMITEDIdentify which request/endpoint/complexity budget failed, then honor its reset evidence.
Headers missingUse a conservative circuit breaker and surface unknown capacity.
Multiple keys, one userTreat them as one API-key quota; do not shard around the limit.
Dynamic workspace limitUse observed headers as authority rather than a cached entitlement.

Examples

Use a compact handoff that makes scope, mutation authority, and verification evidence reviewable.

Input:

auth=api-key; workers=4; target-requests-hour=2000; query-max=8000

Expected handoff:

shared-budget=enabled; endpoint-overrides=tracked; retries=bounded

Resources

When not to use it

  • →When the issue is not related to Linear API rate limiting or quotas
  • →When not dealing with HTTP 429 errors
  • →When not optimizing API usage patterns for Linear

Prerequisites

@linear/sdk package installedUnderstanding of HTTP response headersFamiliarity with async/await patterns

Limitations

  • →A single query exceeding 10,000 complexity points will be hard rejected
  • →A burst of 429s can occur on startup if initial fetches request too much data
  • →SDK calls may timeout under server load

How it compares

This skill provides specific code implementations and strategies for handling Linear's unique leaky bucket rate limiting and complexity budgets, offering more targeted solutions than generic API rate limit handling.

Compared to similar skills

linear-rate-limits side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
linear-rate-limits (this skill)02moCautionIntermediate
groq-performance-tuning12moNo flagsIntermediate
openrouter-streaming-setup12moReviewIntermediate
ideogram-rate-limits22moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by jeremylongshore

View all by jeremylongshore →

analyzing-logs

jeremylongshore

Analyze application logs to detect performance issues, identify error patterns, and improve stability by extracting key insights.

14123

ollama-setup

jeremylongshore

Configure auto-configure Ollama when user needs local LLM deployment, free AI alternatives, or wants to eliminate hosted API costs. Trigger phrases: "install ollama", "local AI", "free LLM", "self-hosted AI", "replace OpenAI", "no API costs". Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

1167

backtesting-trading-strategies

jeremylongshore

Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity curves, and optimizes strategy parameters. Use when user wants to test a trading strategy, validate signals, or compare approaches. Trigger with phrases like "backtest strategy", "test trading strategy", "historical performance", "simulate trades", "optimize parameters", or "validate signals".

1071

generating-database-seed-data

jeremylongshore

Process this skill enables AI assistant to generate realistic test data and database seed scripts for development and testing environments. it uses faker libraries to create realistic data, maintains relational integrity, and allows configurable data volumes. u... Use when working with databases or data models. Trigger with phrases like 'database', 'query', or 'schema'.

1033

cursor-codebase-indexing

jeremylongshore

Execute set up and optimize Cursor codebase indexing. Triggers on "cursor index setup", "codebase indexing", "index codebase", "cursor semantic search". Use when working with cursor codebase indexing functionality. Trigger with phrases like "cursor codebase indexing", "cursor indexing", "cursor".

885

testing-mobile-apps

jeremylongshore

Execute mobile app testing on iOS and Android devices/simulators. Use when performing specialized testing. Trigger with phrases like "test mobile app", "run iOS tests", or "validate Android functionality".

810

You might also like

groq-performance-tuning

jeremylongshore

Optimize Groq API performance with caching, batching, and connection pooling. Use when experiencing slow API responses, implementing caching strategies, or optimizing request throughput for Groq integrations. Trigger with phrases like "groq performance", "optimize groq", "groq latency", "groq caching", "groq slow", "groq batch".

111

openrouter-streaming-setup

jeremylongshore

Implement streaming responses with OpenRouter. Use when building real-time chat interfaces or reducing time-to-first-token. Trigger with phrases like 'openrouter streaming', 'openrouter sse', 'stream response', 'real-time openrouter'.

111

ideogram-rate-limits

jeremylongshore

Implement Ideogram rate limiting, backoff, and idempotency patterns. Use when handling rate limit errors, implementing retry logic, or optimizing API request throughput for Ideogram. Trigger with phrases like "ideogram rate limit", "ideogram throttling", "ideogram 429", "ideogram retry", "ideogram backoff".

28

firecrawl-reliability-patterns

jeremylongshore

Implement FireCrawl reliability patterns including circuit breakers, idempotency, and graceful degradation. Use when building fault-tolerant FireCrawl integrations, implementing retry strategies, or adding resilience to production FireCrawl services. Trigger with phrases like "firecrawl reliability", "firecrawl circuit breaker", "firecrawl idempotent", "firecrawl resilience", "firecrawl fallback", "firecrawl bulkhead".

36

generating-grpc-services

jeremylongshore

Generate gRPC service definitions, stubs, and implementations from Protocol Buffers. Use when creating high-performance gRPC services. Trigger with phrases like "generate gRPC service", "create gRPC API", or "build gRPC server".

13

perplexity-performance-tuning

jeremylongshore

Optimize Perplexity API performance with caching, batching, and connection pooling. Use when experiencing slow API responses, implementing caching strategies, or optimizing request throughput for Perplexity integrations. Trigger with phrases like "perplexity performance", "optimize perplexity", "perplexity latency", "perplexity caching", "perplexity slow", "perplexity batch".

13

Search skills

Search the agent skills registry