void-rate-limit-strategy

Selects rate limit window, max, and key strategy per action class for server boundaries.

Updated May 29, 2026
One-click install
npx skills add https://github.com/voidcorp-core/void-harness --skill void-rate-limit-strategy-voidcorp-core
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: void-rate-limit-strategy
Source: https://github.com/voidcorp-core/void-harness/tree/main/packages/cli/core-assets/packs/pack-server/skills/void-rate-limit-strategy
Command: npx skills add https://github.com/voidcorp-core/void-harness --skill void-rate-limit-strategy-voidcorp-core

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Choosing the right rate limit parameters for each endpoint is error-prone: limits that are too loose invite abuse, limits that are too tight punish legitimate users, and keying by the wrong identifier (IP vs user) breaks under NAT or credential-stuffing attacks. This Skill provides concrete default presets and decision rules so every Server Action, route handler, and webhook ships with an appropriate rate limit. ## Core Features & Use Cases - Preset table per action class: Default window/max/key values for reads, writes, search, login, password reset, 2FA, LLM calls, file uploads, webhooks, and public forms. - Key strategy guidance: Rules for when to key per-user, per-IP, or both (with Math.max semantics for auth-adjacent flows like login). - Algorithm selection: When to use fixed window, sliding window, or token bucket, with Upstash Redis implementation examples and progressive lockout escalation. - Use Case: While adding a login endpoint, apply the 5 min / 5 preset keyed on both IP and email to block credential stuffing without locking out users behind a shared office NAT. ## Quick Start Ask the agent to add a rate limit to a specific Server Action or route handler and it will select the appropriate preset and key strategy.

Frequently Asked Questions about void-rate-limit-strategy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose rate limit values for a server action?

Pick the action class first: standard reads default to 100 per minute per user, writes to 30 per minute, and public forms to 3 per 5 minutes per IP. Deviate from these presets only with a documented justification in a code comment.

Should I rate limit by IP address or by user ID?

Use per-user keys for authenticated actions so shared IPs behind office NAT or carrier CGN do not punish legitimate users. Use per-IP keys for unauthenticated endpoints, and both keys together for login and password reset flows.

Sliding window vs token bucket rate limiting, which should I use?

Use sliding window for cost-sensitive limits like LLM calls and uploads since it avoids boundary spikes. Use token bucket when bursts are acceptable but sustained load is not, such as search-as-you-type endpoints.

How do I rate limit a login endpoint against credential stuffing?

Limit login to 5 attempts per 5 minutes keyed on both IP and email, blocking when either limit is hit. Add progressive lockout escalation, such as a 1-hour cooldown after 5 failures, for high-stakes flows.

Do webhook receivers need rate limits?

Yes, webhook receivers need permissive per-source limits, such as 1000 per minute keyed by source, because a buggy sender can flood your endpoint. Legitimate senders should self-throttle, so the limit only catches abuse or bugs.