vastai-rate-limits
Handles Vast.ai API rate limits by implementing request optimization and exponential backoff.
Install
mkdir -p .claude/skills/vastai-rate-limits && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/6863" && unzip -o skill.zip -d .claude/skills/vastai-rate-limits && rm skill.zipInstalls to .claude/skills/vastai-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 Vast.ai API rate limits with backoff and request optimization.Key capabilities
- →Implement exponential backoff for HTTP 429 errors
- →Enforce minimum request delays to prevent throttling
- →Poll instance status with adaptive intervals
- →Batch GPU search queries with inter-request delays
- →Cache search results to reduce API call frequency
How it works
The client enforces a minimum delay between requests and uses an adaptive backoff loop to handle HTTP 429 status codes by waiting for the duration specified in the Retry-After header.
Inputs & outputs
When to use vastai-rate-limits
- →Handling API 429 throttling errors
- →Optimizing request throughput
- →Implementing retry logic for API calls
About this skill
Bounded Vast.ai API Traffic
Overview
Prefer the CLI's built-in 429 retry for ordinary commands and add one orchestration-level call budget around it. For direct REST clients, implement capped backoff because the API does not return standard rate-limit headers.
Prerequisites
- Endpoint and HTTP-method inventory with expected call volume
- Single owner for retry count, polling interval, deadline, and concurrency
- Metrics for calls, 429s, latency, cached hits, and abandoned work
Instructions
Step 1: Map the identity boundary
Group calls by endpoint, method, bearer token, session user, query key, and client IP because each can contribute to the enforced identity.
Step 2: Choose one retry layer
For CLI commands, configure --retry and do not wrap them in another exponential retry. For REST, retry only 429 with a capped backoff and total deadline.
Step 3: Replace tight polling
Cache stable offer and account data, poll only resources still in transitional states, stop on terminal states, and progressively lengthen the interval.
Step 4: Flatten bursts
Queue work, spread scheduled jobs, and batch operations where the documented endpoint supports it. Bound concurrency per endpoint.
Step 5: Honor the call budget
Stop when attempts, elapsed time, or request count reaches the approved ceiling; surface a retryable operational result instead of looping.
Step 6: Escalate sustained pressure
Report endpoint, identity shape, measured call rate, 429 rate, and business need to support when production volume requires a higher limit.
Authentication
Use the narrowest key for each worker and never rotate keys merely to evade a limit. Redact tokens and query credentials from request and retry logs.
Tool Discipline
Use Read and Grep to inspect manifests, configuration, provider output, and existing tests before proposing a mutation. Use Write or Edit only for the approved plan, implementation, test, or redacted receipt; do not create, update, destroy, or fund Vast.ai resources without explicit operator approval.
Output
- Endpoint/identity traffic inventory
- Retry, polling, caching, concurrency, and deadline policy
- Measured before/after call volume and 429 receipt
Return endpoints, identity partition, client type, retry owner, call ceiling, observed 429s, elapsed time, and final disposition.
Examples
A readiness watcher uses one CLI command with --retry 3, polls only while state is transitional, lengthens the interval, and exits immediately on running, exited, unknown, or offline.
Error Handling
| Failure | Response |
|---|---|
| REST response is 429 | Back off within the total deadline; do not expect Retry-After. |
| Non-429 4xx occurs | Do not retry automatically; repair arguments, authentication, or permission. |
| Retry layers multiply | Remove the outer retry or disable the inner one so only one owner controls attempts. |
| Deadline expires | Return the last state and next safe action without another call. |
Resources
When not to use it
- →When performing non-API operations
- →When the API is not returning 429 status codes
Prerequisites
Limitations
- →Max retries are limited to 5 attempts
- →Polling intervals are capped at 30 seconds
How it compares
Unlike a standard HTTP client, this implementation includes built-in retry logic and request throttling specifically tuned for the Vast.ai REST API.
Compared to similar skills
vastai-rate-limits side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| vastai-rate-limits (this skill) | 1 | 2mo | No flags | Intermediate |
| telegram-bot-builder | 106 | 8mo | Review | Intermediate |
| mcp-integration | 21 | 10mo | Review | Intermediate |
| n8n-workflow-patterns | 16 | 3mo | No flags | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
telegram-bot-builder
davila7
Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API, user experience, monetization strategies, and scaling bots to thousands of users. Use when: telegram bot, bot api, telegram automation, chat bot telegram, tg bot.
mcp-integration
anthropics
This skill should be used when the user asks to "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", "set up Model Context Protocol", "connect external service", mentions "${CLAUDE_PLUGIN_ROOT} with MCP", or discusses MCP server types (SSE, stdio, HTTP, WebSocket). Provides comprehensive guidance for integrating Model Context Protocol servers into Claude Code plugins for external tool and service integration.
n8n-workflow-patterns
czlonkowski
Proven workflow architectural patterns from real n8n workflows. Use when building new workflows, designing workflow structure, choosing workflow patterns, planning workflow architecture, or asking about webhook processing, HTTP API integration, database operations, AI agent workflows, or scheduled tasks.
n8n-code-javascript
czlonkowski
Write JavaScript code in n8n Code nodes. Use when writing JavaScript in n8n, using $input/$json/$node syntax, making HTTP requests with $helpers, working with dates using DateTime, troubleshooting Code node errors, or choosing between Code node modes.
n8n-expression-syntax
czlonkowski
Validate n8n expression syntax and fix common errors. Use when writing n8n expressions, using {{}} syntax, accessing $json/$node variables, troubleshooting expression errors, or working with webhook data in workflows.
n8n-node-configuration
czlonkowski
Operation-aware node configuration guidance. Use when configuring nodes, understanding property dependencies, determining required fields, choosing between get_node_essentials and get_node_info, or learning common configuration patterns by node type.