plugins/linear-orchestrator/skills/linear-rate-limiting/SKILL.md
This skill should be used when designing bulk operations against Linear — complexity budgets, exponential backoff, request pacing, and avoiding 429s. Activates on "linear rate limit", "linear 429", "linear throttle", "complexity budget".
npx skillsauth add markus41/claude Linear Rate LimitingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Reference: https://linear.app/developers/rate-limiting
Linear bills against:
The complexity budget is what bites large queries. Each query has a cost based on:
first: 100 costs more than first: 10)Every response includes:
X-RateLimit-Limit — allowance per windowX-RateLimit-Remaining — remainingX-RateLimit-Reset — epoch when budget resetsX-Complexity — this query's costX-Complexity-Limit, X-Complexity-Remaining, X-Complexity-ResetThe lib/client.ts GraphQL wrapper exposes these as a callback:
client.onRateLimit((info) => {
if (info.complexityRemaining < 1000) backoff(info.resetIn);
});
When you receive a 429 (or complexity_limit GraphQL error):
X-RateLimit-Reset / X-Complexity-Resetasync function withBackoff<T>(fn: () => Promise<T>, max = 3): Promise<T> {
for (let i = 0; i < max; i++) {
try { return await fn(); }
catch (e: any) {
if (e.status !== 429) throw e;
const reset = Number(e.headers["x-ratelimit-reset"]) * 1000 - Date.now();
await new Promise(r => setTimeout(r, Math.max(reset, 1000) + Math.random() * 500));
}
}
throw new Error("rate-limit retries exhausted");
}
For >50 mutations, pace explicitly:
complexity_remaining < 30%Implementation in lib/rate-limit.ts (token bucket).
Don't poll Linear when you can webhook instead. The bridge agents:
first: 250 if you only need 10every: and none: filters on large connections — they're expensivedevelopment
Enhanced plan-authoring skill with Pre-Writing context gathering, task metadata, non-TDD templates, Red Flags, telemetry, and an automated plan linter. Use when you have a spec or requirements for a multi-step task, before touching code.
tools
Documentation intelligence engine with graph-based API docs, algorithm library, and drift detection
tools
Ultraplan cloud planning — kick off a plan in the cloud from your terminal, review and revise in the browser, then execute remotely or send back to CLI
tools
--- name: mcp description: Configure MCP servers for Claude Code — stdio vs HTTP, authentication, Tools/Resources/Prompts distinction, channels (CI webhook, mobile relay, Discord bridge, fakechat), and cost of always-loaded tools. Use this skill whenever adding an MCP server, debugging connection issues, choosing between MCP Tools vs Prompts vs Resources, installing channel servers, or managing .mcp.json. Triggers on: "MCP server", "mcp config", "add Obsidian MCP", "install context7", "channels"